PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : vncserver automatisch starten



pomali
05.09.02, 18:15
Wo muss ich eintragen, dass ich vncserver beim booten automatisch starten möchte?

bom
05.09.02, 19:38
Erstelle einen Link zum Startscript vom vncserver.

Gehe nach /etc/rc.d/rc3.d

ln -s /pfad/zum/vncserver/startscript vom vnc server S99vncserver

dasselbe machst Du dann auch noch im /etc/rc.d/rc2.d
aber so:
ln -s /pfad/zum/vncserver/startscript vom vnc server K99vncserver

Dann wird der Prozess auch beim runterfahren/reboot gestoppt.

pomali
06.09.02, 16:39
also ich hab das jetz mal so eingegeben:

ln -s /pfad/zum/vncserver/vncserver S99vncserver und
ln -s /pfad/zum/vncserver/vncserver k99vncserver

vncserver ist die startdatei, mit der ich den server starten kann.
Aber es funzt leider immernoch nicht automatisch. Hab ich was falsch gemacht? (Newbie ich)

Hans-Georg Normann
06.09.02, 21:42
[list=1]
K99vnc... und nicht k99vnc....
kannst du den vncserver mit ./S99vncserver start starten?
[/list=1]

Hans

pomali
07.09.02, 13:12
Nein, ich starte den Server mit : vncserver
im Stammverzeichnis
Mit ./S99vncserver start funzts net.

Stormbringer
08.09.02, 11:45
Hallo,

vielleicht meinst Du dies, und ich habe es nur falsch verstanden ....
Die init Skripte müssen links zu den tatsächlichen Dateien sein.
Per:
which vncserver
aus einer Console heraus kannst Du den kompletten Pfad zu vncserver ersehen.
Diesen kompletten Pfad verwendest Du dann zur Erstellung des links im gewünschten runlevel (rc0.d - rc6.d + rcS.d).
Bspw.:
cd /usr/init.d/%runlevel% -> bei SuSE
cd /usr/rc.d/%runlevel% -> bei RedHat u. a.
dann:
/usr/local/vncserver/vncserver S99vncserver -> Pfadangabe gemäß "which"
Hast Du dies getan, solltest Du erst einmal das Starten des Skripts prüfen in der Art: ./S99vncserver (aus dem runlevel Verzeichnis heraus, in welchem Du den link erstellt hast!).
Wenn das funzt, kannst Du auch das Stopskript (K99vncserver) in gleicher Art erstellen.

Ergo komplett für SuSE (entsprechend für RH s. o.):
- Console starten
- cd /usr/init.d/rc.d
- ln -s /usr/local/vncserver/vncserver S99vncserver
- ln -s /usr/local/vncserver/vncserver K99vncserver
- ./S99vncserver

Gruß

pomali
08.09.02, 18:31
Original geschrieben von Stormbringer

Diesen kompletten Pfad verwendest Du dann zur Erstellung des links im gewünschten runlevel (rc0.d - rc6.d + rcS.d).
Bspw.:
cd /usr/init.d/%runlevel% -> bei SuSE
cd /usr/rc.d/%runlevel% -> bei RedHat u. a.


Die üblichen Runlevel dürften ja 3 und 5 sein oder?
Bei mir liegt der Krempel unter /etc/init.d/ (Suse 8.0)


Original geschrieben von Stormbringer


dann:
/usr/local/vncserver/vncserver S99vncserver -> Pfadangabe gemäß "which"
Hast Du dies getan, solltest Du erst einmal das Starten des Skripts prüfen in der Art: ./S99vncserver (aus dem runlevel Verzeichnis heraus, in welchem Du den link erstellt hast!).
Wenn das funzt, kannst Du auch das Stopskript (K99vncserver) in gleicher Art erstellen.


Verzeichnis ist bei mir folgendes: /usr/X11R6/bin/vncserver
Ich also in /etc/init.d/rc3.d gegangen und das eingetippt:
/usr/X11R6/bin/vncserver/vncserver S99vncserver
daraufhin kam Meldung: Not a Directory (wieder was falsch gemacht???)


Original geschrieben von Stormbringer


Ergo komplett für SuSE (entsprechend für RH s. o.):
- Console starten
- cd /usr/init.d/rc.d
- ln -s /usr/local/vncserver/vncserver S99vncserver
- ln -s /usr/local/vncserver/vncserver K99vncserver
- ./S99vncserver

Gruß
funzt leider auch nicht, legt zwar irgendwie nen link oder sowas an, startet aber nicht mit ./S99vncserver

pomali
09.09.02, 16:46
Weiß denn keiner was? :(

Hans-Georg Normann
09.09.02, 22:12
also nochmal: Im verzeichnis /etc/init.d legst du ein shellscript mit dem Namen vncserver an welches etwa so aussehen könnte:

case "$1" in
start)
/usr/local/vncserver/vncserver
;;
stop)
/usr/bin/killall vncserver
;;
esac


Dann installierst du die ksysv, damit kannst du die Start- und Stopscripte zusammenklicken. (Das Tool erzeugt dier die Links)

Hoffe du kommst damit klar
Hans

3qualizer
09.09.02, 22:32
/usr/bin/killall vncserver
wird wohl nicht gehen. "vncserver" ist nur ein Skript, dass Xvnc startet (danach läuft kein "vncserver" mehr).
Ein "vncserver -kill :1 wäre sowieso sauberer, sonst wird der nächste VNC-Server auf :2, :3... :n gestartet weil die anderen blockiert bleiben.

Eric

pomali
10.09.02, 16:26
Ok, die Shell hab ich jetzt hinbekommen und sie funzt soweit auch wunderbar.
Aber in dem Tool ksysv funzt es nicht. Selbst, wenn ich es dort direkt starte, startet er den vncserver nicht.


Was muss ich da noch tun?

Hans-Georg Normann
10.09.02, 17:45
He, he, wer hat denn gesagt, dass ksysv die Dienste startet. Es legt lediglich die Links zu den Startscripts an. Starten kannst du dann z. B. mit
cd /etc/rc.d
./S99vncserver start

Habe mal ksysv als Anhang beigefügt.

Hans

pomali
10.09.02, 18:10
Aha, is ja lolig :-)
Aber was meinst du mit Code? Das Startscript?

Wenn ich also ./S99vncserver start test(Startscript)
eingebe, kommt no such file or directory.

Ich weiss, ich nerve, aber es ist irgendwie wichtig.

Hans-Georg Normann
10.09.02, 22:32
Sorry, war ein Schreibfehler. Hab's korrigiert. Wenn das Script in ksysv in dem entsprchenden Runlevel eingetragen ist, dann erstellt dir ksysv die Links. Und du wandelst nur noch nach /etc/rc.d und führst das Startscript aus.

Hans

pomali
11.09.02, 16:54
Ok, das funzt jetzt alles soweit. Wo muss ich jetzt eintragen, dass er das Script beim Booten startet? In der boot.local?
Und wie sieht die Syntax dafür aus?

vielleicht so:
./etc/rc.d/S99vncserver start ???

Fragen über Fragen :rolleyes:

Hans-Georg Normann
11.09.02, 22:53
Wenn du in ksysv, Runlevel 5 unter Start 99 vncserver stehen hast, dann sollte schon alles gegessen sein. dann wird der nämlich schon beim booten gestartet.

Hans

Fir3fly
12.09.02, 07:28
Ich hätte da noch n andern vorschlag, der zb in die rc.local eingefügt werden könnte, bzw von da aus aufgerufen werden kann:



# Change the following to reflect your user list
vnc_users="root fir3fly"
disp=0
for user in $vnc_users
do
echo -e "Starting VNC server for $user (display no. :$disp)...\c"
vncstart="/usr/local/bin/vncserver :$disp -depth 16 -geometry 1024x768"
vnc_cmd="su -l $user -c \"$vncstart\" >/dev/null"

if eval $vnc_cmd; then
echo "DONE"
else
echo "***VNC FAILED***"
fi

disp=$(( $disp + 1 ))
done


Fir3fly

pomali
12.09.02, 09:37
@Hans-Gearg-Normann:

Das Script steht bei Runlevel 5 mit der Sortierzahl 6 drin.
Trotzdem startet er es nicht.

@Fir3fly:
Bei mir gibts die rc.local irgendwie nur noch unter /docs.
Müsste die nich bei etc mit drinsein?

Suse 8.0

Hans-Georg Normann
12.09.02, 17:49
Sortierzahl 6? :mad:

änder doch mal auf 99. Dadurch wird das Script ziemlich zum Schluß gestartet.

Schau dir mal die /var/log/messages an. Da wird der ganze Bootvorgang protokolliert. ZU vncserver hast du da bestimmt eine Fehlermeldung.

Es bestehen nämlich Abhängigkeiten die in einem so frühen Stadium mit Sicherheit nicht erfüllt sind.

Hans

pomali
15.09.02, 14:33
Fehlermeldung gibt es keine.

Ich habe das Script jetz auf 99 gestellt. Nun wird es zwar in ksysv nicht mehr angezeigt, aber nach ca. 5-10 min. ist der vncserver jetzt gestartet.

Endlich funzt es.

A lot of thx an alle, die hier gepostet haben.