Ubuntu Desktop mit VNC

Aus NAS Wiki

Wechseln zu:Navigation, Suche

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.