Diese Website existiert nur weil wir Werbung mit AdSense ausliefern.
Bitte den AdBlocker daher auf dieser Website ausschalten! Danke.

Frage zu VNC-Autostartskript

Alles rund um die Systemverwaltung, die Administration und Konfiguration Eures Linuxsystems

Moderator: Moderatoren

Antworten
Fluke82
Newbie
Newbie
Beiträge: 6
Registriert: 7. Apr 2006, 12:21
Wohnort: Talheim

Frage zu VNC-Autostartskript

Beitrag von Fluke82 » 29. Aug 2006, 13:10

Hallo,
ich verwende Suse Linux Professional 8.2,9.1,9.3 und 10 auf verschiedenen Servermaschinen. Kürzlich habe ich in den Weiten des WWW das folgende Autostartskript für den VNC-Server (root-Desktop) gefunden:

Code: Alles auswählen

#!/bin/sh
PATH=/bin:/usr/bin:/usr/bin/X11:/usr/local/bin:/sbin:/usr/sbin:/usr/local/sbin:/opt/kde3/bin
# for xauth
export HOME=/root
case "$1" in
  start)
    echo -n "Starting Xvnc-TightVNC User:root on Desktop :1"
    cd /usr/bin
    nohup startx -- /usr/bin/X11/Xvnc :1 -geometry 1024x768 -depth 16 2> /var/log/xvnc-err.log > /var/log/xvnc.log &
    echo "."
  ;;
  restart)
    /etc/init.d/vncstartroot stop
    /etc/init.d/vncstartroot start
  ;;
  stop)
    echo -n "Stopping Xvnc-TightVNC User:root on Desktop :1"
    rm -R /tmp/.X11-unix/X1
  ;;
  *)
    echo "Usage: /etc/init.d/vncstartroot {start|stop|restart}"
    exit 1
    ;;
esac
exit 0
Dieses habe ich dann auch in das Verzeichnis "/etc/init.d" kopiert uns mittels des in Yast integrierten Runlevel-Editors im Runlevel 5 eingebunden. Soweit sogut.
Ich möchte gleich vorweg dazusagen, dass ich in Sachen Linux-Scripting ein absoluter Neuling bin.
Nun zu meinem ersten Problem. Was ich noch etwas unschön finde ist, dass beim stoppen des Skripts der eigentliche Prozess nicht automatisch beendet wird. Hat jemand eine Idee wie man das vorliegende Skript dahingehend noch verbessern könnte?

Dann gleich zu meinem zweiten Problem.
Ich würde gerne auch noch einen 2. VNC-Desktop diesmal jedoch eines normalen Benutzers (also nicht root!) automatisch beim Systemstart mitstarten lassen. Dazu habe ich das vorligende Skript nochmals kopiert und in eine 2. Datei eingefügt und wie folgt abgeändert:

Code: Alles auswählen

#!/bin/sh
PATH=/bin:/usr/bin:/usr/bin/X11:/usr/local/bin:/sbin:/usr/sbin:/usr/local/sbin:/opt/kde3/bin
# for xauth
export HOME=/home/normaleruser
case "$1" in
  start)
    echo -n "Starting Xvnc-TightVNC User:vmplayer on Desktop :2"
    cd /usr/bin
    nohup startx -- /usr/bin/X11/Xvnc :2 -geometry 1024x768 -depth 16 2> /var/log/xvnc-err.log > /var/log/xvnc.log &
    echo "."
  ;;
  restart)
    /etc/init.d/vncstartnormaleruser stop
    /etc/init.d/vncstartnormaleruser start
  ;;
  stop)
    echo -n "Stopping Xvnc-TightVNC User:vmplayer on Desktop :2"
    rm -R /tmp/.X11-unix/X2
  ;;
  *)
    echo "Usage: /etc/init.d/vncstartnormaleruser {start|stop|restart}"
    exit 1
    ;;
esac
exit 0
Dieses habe ich dann wiederrum mittels des Runlevel-Editors in den Runlevel 5 eingebunden. Ausgeführt wird das abgeänderte Skript auch problemlos und der Desktop des "normalen" Users wird auch wie gewünscht gestartet. Jedoch besitzt dieser Benutzer nun auf einmal auch "root" Berechtigungen. Um dies zu überprüfen habe ich eine Console geöffnet und den Befehl "who am i" ausgeführt daraufhin wurde mir "root pts/2" angezeigt. Wie kann man es erreichen, dass auch die Berechtigungen noch zum geladenen Desktop (also zum User) passen und dieser nicht automatisch mit root Berechtigung ausgestattet wird?
Hat da jemand eine Idee dazu woran das liegen könnte?

Dazu sei noch erwähnt, dass ich sowohl beim Benutzer "root" wie auch beim Benutzer "normaleruser" jeweils die Desktopumgebung "KDE" in die Datei "xstartup" im Unterverzeichnis "~/.vnc" mittels der Befehlszeile "startkde&" eingetragen habe.

Ich hoffe, dass mir hier jemand bei meinen beiden Problemen weiterhelfen kann.

Gruß an alle und Danke im voraus.
Fluke82

Werbung:
Fluke82
Newbie
Newbie
Beiträge: 6
Registriert: 7. Apr 2006, 12:21
Wohnort: Talheim

Beitrag von Fluke82 » 29. Aug 2006, 14:37

Siehe da eines der beiden Probleme habe ich selbstständig lösen können.
Damit der VNC-Desktop des normalen Benutzers auch mit dessen Rechte gestartet wird (also ohne automatisch "root"-Berechtigungen zu bekommen!) muss das Autostartskript folgendermaßen aussehen:

Code: Alles auswählen

#!/bin/sh
PATH=/bin:/usr/bin:/usr/bin/X11:/usr/local/bin:/sbin:/usr/sbin:/usr/local/sbin:/opt/kde3/bin
# for xauth
export HOME=/home/normaleruser
case "$1" in
  start)
    echo -n "Starting Xvnc-TightVNC User:normaleruser on Desktop :2"
    cd /usr/bin
    #User "normaleruser" mit Root-Berechtigungen als VNC-X11-Desktop und ohne Passworteingabe starten
    #nohup startx -- /usr/bin/X11/Xvnc :2 -geometry 1024x768 -depth 16 2> /var/log/xvnc-err.log > /var/log/xvnc.log &
    #User "normaleruser" ohne Root-Berechtigungen als VNC-X11-Desktop und ohne Passworteingabe starten
    su -l normaleruser -c "nohup startx -- /usr/bin/X11/Xvnc :2 -geometry 1024x768 -depth 16 2> /var/log/xvnc-err.log > /var/log/xvnc.log &"
    #User "normaleruser" ohne Root-Berechtigungen als "herkömmlichen" VNC-Desktop mit Passwortabfrage starten (meiner Ansicht nach aber langsamer)
    #su -l normaleruser -c "/usr/X11R6/bin/vncserver"
    echo "."
  ;;
  restart)
    /etc/init.d/vncstartnormaleruser stop
    /etc/init.d/vncstartnormaleruser start
  ;;
  stop)
    echo -n "Stopping Xvnc-TightVNC User:normaleruser on Desktop :2"
    rm -R /tmp/.X11-unix/X2
  ;;
  *)
    echo "Usage: /etc/init.d/vncstartnormaleruser {start|stop|restart}"
    exit 1
    ;;
esac
exit 0
Vielleicht hat bzw. hatte jemand hier ja ähnliche Probleme damit wie ich und kann damit nun ebenfalls was anfangen.

Gruß
Fluke82

rolle
Guru
Guru
Beiträge: 3721
Registriert: 4. Mai 2004, 21:50
Kontaktdaten:

Beitrag von rolle » 29. Aug 2006, 18:14

Als Anregung zur Erweiterung und zum Stoppen des Prozesses sieh Dir mal folgendes an:
http://www.linux-club.de/viewtopic.php?t=44634
http://www.linux-club.de/viewtopic.php?t=42963
Horrido, Roland

Für meine Postings gilt außer bei Zitaten hier im Linux-Club die Creative Commons.

Antworten

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast