VNC Server unter Ubuntu einrichten

Bevor man hier weiter liest empfehle ich gleich das Paket von Nomachine zu installieren.

aptitude install vnc4server vnc-java

Alternativ kann man auch TightVNC nutzen. TightVNC versucht VNC zu optimieren und neue Funktionen, Verbesserungen und Optimierungen gegenüber dem original VNC zu bieten. So eignet sich TightVNC besser, wenn der VNC-Server über DSL am Internet angebunden ist. Auch TightVNC kann man aus den Paketquellen installieren.

deb [trusted=yes] http://styrion.at/apt/ ./

Damit eine Verbindung hergestellt werden kann, muss noch im Terminal ein Passwort eingestellt werden. Es ist darauf zu achten, einen lokalen Benutzer zu verwenden.

vncpasswd

Konfiguration kopiere:

unp /usr/share/doc/vnc4server/examples/vnc.conf.gz /etc/.

Nun brauchen wir noch ein Start-Stopscript

/etc/init.d/vncserver
#! /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

Die Variable VNC_USER bestimmt den auszuführenden User, HOME bestimmt, unter welchem Verzeichnis die Konfiguration und Logs des VNC-Servers gespeichert werden und FOO_ID bestimmt die Terminal-ID des VNC-Servers. Diese Variablen müssen den eigenen Wünschen entsprechend noch angepasst werden. Das Skript benötigt, bevor es genutzt werden kann, noch die richtigen Rechte:

sudo chown root:root /etc/init.d/vncserver
sudo chmod 0755 /etc/init.d/vncserver 
sudo update-rc.d vncserver defaults