Ubuntu Desktop mit VNC
Aus NAS Wiki
Installation von Ubuntu Desktop und VNC auf dem Ubuntu Server
Als erstes Ubuntu Desktop und VNC installieren mittels SSH Konsole (Putty):
apt-get install ubuntu-desktop tightvncserver xfonts-base xfonts-75dpi twm xterm tightvncserver xfonts-base xfonts-75dpi twm xterm'
Während der Installation werdet Ihr noch aufgefordert die Installation für den Desktop zu bestimmen (z.B. 1024x768).
Danach in der Datei /etc/vnc.conf diese Zeile wieder einfügen bzw. Kommentar entfernen:
"$vncStartup = "/etc/X11/XSession"
Leider gibt es einen Fehler in der Version 7.10 der bewirkt das die Tastatureingaben über VNC nicht richtig übermittelt werden wenn man z.B. "asdf" eingibt, wird "asbh" ausgegeben.
Das lässt sich durch diesen Befehl in der Konsole beheben:
gconftool --set /desktop/gnome/peripherals/keyboard/kbd/layouts --type List --list-type String [aa]
Danach werden die Tastatureingaben korrekt übermittelt. Will man den VNCServer wieder beenden einfach mit der entsprechenden ID die Session beenden:
tightvncserver -kill :1
Wenn man nun den VNC Server startet sollte bereits mit TightVNC eine Verbindung möglich sein. Dazu den tightvncserver starten und ein Password vergeben. Die ID merken, damit man nachher die Session wieder beenden kann.
tightvncserver
Das Password kann mit
vncpasswd
wieder geändert werden.
Den Server dann wieder mit
tightvncserver -kill :1
beenden, wenn die ID die 1 war.
Nun kann ohne angeschlossenen Monitor, Maus oder Tastatur der Ubuntu Desktop (GNOME) auf dem Server genutzt werden.
Um den Server dann noch automatisch nach dem hochfahren zu starten erstellt man unter /etc/init.d das Skript vncserver und speichert es als /etc/init.d/vncserver ab.
Das Skript kommt von www.ubuntuusers.de [1]:
#! /bin/sh # Original: http://www.linuxnetmag.com/de/issue8/m8installation801.html # Author: Guenther Zander <g.zander@hamburg.de> # # /etc/init.d/vncserver this Script # /usr/bin/vncserver Program # # Check for missing binaries FOO_BIN=/usr/bin/vncserver test -x $FOO_BIN || exit 5 # User, unter dem der VNC Server ausgefuehrt wird VNC_USER="<User>" export VNC_USER # Set HOME of User HOME="<Home-Verzeichnis des Verwendeten Users>" export HOME # Set ID for Connections FOO_ID=1 case "$1" in start) echo -n "Starting Vnc-Server with Terminal-ID $FOO_ID " # Delete old PIDs rm -f $HOME/.vnc/$HOSTNAME:$FOO_ID.pid if [ -e $HOME/.vnc/$HOSTNAME:$FOO_ID.log ]; then cat $HOME/.vnc/$HOSTNAME:$FOO_ID.log >> /var/log/vncserver.log 2>&1 rm -f $HOME/.vnc/$HOSTNAME:$FOO_ID.log fi sudo -u $VNC_USER -H $FOO_BIN :$FOO_ID 2>&1 ;; # stop) echo -n "Shutting down Vnc-Server " $FOO_BIN -kill :$FOO_ID 2>&1 cat $HOME/.vnc/$HOSTNAME:$FOO_ID.log >> /var/log/vncserver.log 2>&1 rm -f $HOME/.vnc/$HOSTNAME:$FOO_ID.log ;; # restart) $0 stop $0 start ;; # *) echo "Usage: $0 {start|stop|restart}" exit 1 ;; esac
Vor dem Abspeichern müssen noch die Variablen HOME und VNC_USER im Skript angepasst werden z.B.:
VNC_USER="root" HOME="/root/.vnc/"
Damit das Skript nun gestartet werden kann müssen noch die Rechte angepasst werden mit:
chown root:root /etc/init.d/vncserver chmod 0755 /etc/init.d/vncserver
Zum Schluss noch das Skript den Runlevels zuweisen:
update-rc.d vncserver defaults
So, damit steht dann bei jedem Neustart des Servers wieder der Ubuntu-Desktop über VNC zur Verfügung.



