Raspbian: Starten einer Java-GUI Anwendung beim Systemstart (JBidWatcher)

A

Allrounder

Grünschnabel
Moin Moin,

ich möchte das Programm "JBidWatcher" auf meinem Raspberry mit Raspbian nach dem start der GUI ausführen. Dafür habe ich bereits einige Methoden gegoogelt und ausprobiert, leider starten das Programm immer vor der GUI und somit erfolgslos...
Ich bin dieser Anleitung mit den Runlevels gefolgt, leider ohne erfolg

Code:
Sudo nano /etc/init.d/
Code:
#! /bin/sh
### BEGIN INIT INFO
# Provides:          Scriptname
# Required-Start:    
# Required-Stop:     
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: Kurze Beschreibung
# Description:       Starte und stoppe JBidWatcher
### END INIT INFO



#Switch case fuer den ersten Parameter
case "$1" in
    start)
		#Aktion wenn start aufgerufen wird
        JBidWatcher
        echo "Starte JBidWatcher"
        ;;
		
    stop)
		#Aktion wenn stop aufgerufen wird
        echo "Stoppe meinScript"
        ;;
		
    restart)
		#Aktion wenn restart aufgerufen wird
        echo "Restarte meinScript"
        ;;
	*)
		#Default Aktion wenn start|stop|restart nicht passen
		echo "(start|stop|restart)"
		;;
esac
Skript ausführbar machen
Code:
sudo chmod +x /etc/init.d/JBidWatcher
oder
sudo chmod 755 /etc/init.d/beispiel
Code:
cd /etc/init.d/ 
sudo update-rc.d JBidWatcher defaults

Gruß Chris
 
Mit einem Init-Skript wirst du nicht weit kommen, wenn es sich um ein grafisches Programm handelt, da grafische Programme _innerhalb_ der X-Umgebung gestartet werden müssen, sofern sie nicht in der Lage sind an einem bestimmten Screen zu "attachen". Dann unterstützen sie aber zumeist auch einen Parameter '--display' mit dem man angeben kann welcher X-Screen verwendet werden soll. Daher solltest du den Programmstart in den Autostart deiner Desktop-Umgebung basteln.

Dazu legst du dir in $HOME/.config/autostart eine Datei namens JBidWatcher.desktop an. Diese befüllst du mit folgendem Inhalt:

Code:
[Desktop Entry]
Type=Application
Exec=JBidWatcher

Danach startest du deine grafische Oberfläche neu. Wenn du die Default-Desktop-Umgebung von Raspian verwendest, sollte sich nun nach dem Desktop-Start dein Programm starten. Ggf. musst du beim Exec den kompletten Pfad zu JBidWatcher angeben, falls er nicht im Standard-Path ist.
 
Danke! Hat einwandfrei funktioniert!

Ich denke jetzt mal laut weiter ;-) da man auf dem Raspberry Ressoucen sparen sollte ;-)
Also ich nutze den VNC-Server (tightvncserver) um auf den Raspberry zuzugreifen. Wenn ich es richtig verstehe, erstellt dieser Server einen eigenen Desktop. Daher sehe ich auch die Anwenung nicht, da Sie auf dem Desktop der GUI gestartet wird und der Server nicht auf diese Zugreift... Wäre es nicht klüger die Java-Anwenung direkt in diesem VNCserver-Desktop zustarten und die eigentliche System-GUI wieder zu entfernen? bzw. kann ich den VNC-Server auf die System-GUI zugreifen lassen?

Gruß Chris
 

Ähnliche Themen

Runlevel Editor

Standard Programm beim Booten Starten

Startscript in init.d scheitert an - " -

Prozess aus eigenem Init script wird gekillt

HLDS init script?

Zurück
Oben