Hi there...
ich versuche den VNCServer automatisch zu starten, wenn mein System in den Runlevel 2 wechselt.
Dazu hab ich im /sbin/init.d/rc2.d/ einen symbolischen Link angelegt:
S1:/sbin/init.d/rc2.d # ll S31vncserver
lrwxrwxrwx 1 root root 24 Nov 15 22:03 S31vncserver -> /usr/local/bin/vncserver
S1:/sbin/init.d/rc2.d #
Eigentlich müsste doch /usr/local/bin/vncserver ausgeführt werden, sobald runlevel 2 augeführt wird...
Mit ps -ef | grep vnc sehe ich aber keinen server
Woran könnt's liegen?
Frank
__________________
Life 's too short for reboots - Linux!
Starten eines Programms beim Wechsel des Runlevels
Re: Starten eines Programms
Hi,
ps -ef ist sysv-Syntax. Linux verwendet ps ax.
Gruß,
hjb
ps -ef ist sysv-Syntax. Linux verwendet ps ax.
Gruß,
hjb
Pro-Linux - warum durch Fenster steigen, wenn es eine Tür gibt?
Re: Starten vncserver beim Wechsel des Runlevels
Das Programm, zu dem Du ein Link in rc2.d setzt, bekommt beim Aufruf den Parameter "start" mitgegeben. Die Chancen stehen gut, dass vncserver das Argument nicht versteht und sich nach einer Fehlermeldung (die Du höchstens in den Logs wiederfindest) beendet.
Und damit hast DU Glück gehabt! <img src="http://www.pl-forum.de/UltraBoard/Images/Happy.gif" border="0" align="middle">
Würde der vncserver korrekt aufstarten, liefe das Skript für den Runlevelwechsel erst weiter, wenn der vncserver sich beendet (ausser, wenn der vncserver sich selbst als Daemon in den Hintergrund setzt). Als Resultat würde der Rechner dort hängenbleiben...
Unter rc[1-6].d liegen typischerweise nur Links auf <i>Skripte</i>, die in Deinem Fall unter /sbin/init.d liegen. Diese Skripte können mindestens mit den Parametern "start" und "stop" was anfangen, nämlich den entsprechenden Dienst starten oder beenden. Unter /sbin/init.d müsste auch ein eDatei namens skeleton, skel, skelett oder so liegen, die die Rohform eines solchen Skriptes darstellt. Mach Dir eine Kopie davon, ändere sie ab, um vncserver zu starten oder zu killen, und linke <i>darauf</i> von /sbin/init.d/rc2.d her. Dann solltest Du mehr Erfolg haben. Und eins noch: Immer daran denken, dass der Daemon, falls notwendig, auch in den Hintergrund gesetzt wird.
Viel Spass dabei!
Und, hjb: "ps -ef" tut's genauso wie "ps ax". Der proc-ps hat das Kunststück geschafft, weder die BSD- noch die SysV-Jünger zu verprellen...
Und damit hast DU Glück gehabt! <img src="http://www.pl-forum.de/UltraBoard/Images/Happy.gif" border="0" align="middle">
Würde der vncserver korrekt aufstarten, liefe das Skript für den Runlevelwechsel erst weiter, wenn der vncserver sich beendet (ausser, wenn der vncserver sich selbst als Daemon in den Hintergrund setzt). Als Resultat würde der Rechner dort hängenbleiben...
Unter rc[1-6].d liegen typischerweise nur Links auf <i>Skripte</i>, die in Deinem Fall unter /sbin/init.d liegen. Diese Skripte können mindestens mit den Parametern "start" und "stop" was anfangen, nämlich den entsprechenden Dienst starten oder beenden. Unter /sbin/init.d müsste auch ein eDatei namens skeleton, skel, skelett oder so liegen, die die Rohform eines solchen Skriptes darstellt. Mach Dir eine Kopie davon, ändere sie ab, um vncserver zu starten oder zu killen, und linke <i>darauf</i> von /sbin/init.d/rc2.d her. Dann solltest Du mehr Erfolg haben. Und eins noch: Immer daran denken, dass der Daemon, falls notwendig, auch in den Hintergrund gesetzt wird.
Viel Spass dabei!
Und, hjb: "ps -ef" tut's genauso wie "ps ax". Der proc-ps hat das Kunststück geschafft, weder die BSD- noch die SysV-Jünger zu verprellen...