VNC Server
TightVNC
Anleitung für Screen-like VNC Sessions
Zusätzlich installieren wir autocutsel
um die Zwischenablage zwischen Client und Server nutzen zu können.
Installation
# aptitude install tightvncserver autocutsel
First run
$ tightvncserver :1
- Abfrage zur Einrichtung des Zugangspassworts.
- Dieses ist spezifisch für den jeweiligen Benutzer unter dem der Server gestartet wird.
- X konfiguration
- es wirt eine default ~/.vnc/xstartup angelegt
GNOME Session
- Konfiguration zum starten einer GNOME Session
- ~/.vnc/xstartup
#!/bin/bash
# avoid keyboard mis-mapping with vnc
export XKL_XMODMAP_DISABLE=1
# we want a new GNOME session
unset DBUS_SESSION_BUS_ADDRESS
# start session
gnome-session &
# enable clipboard
autocutsel -fork
chmod 755 ~/.vnc/xstartup
Start
$ tightvncserver $SERVER_PORT
Standard Server Port ist ':1'
Stop
- Es wird nicht empfohlen den server mit "kill -9 $pid" zu beenden, es steht ein spezieller kill parameter bereit
$ tightvncserver -kill $SERVER_PORT
x11vnc
Anleitung für VNC Verbindungen zu Sessions auf dem Standard Desktop (:0)
Installation
# aptitude install x11vnc
Login auf laufende Sessions
$ x11vnc -passwd PASSWORD -display :0
Es erscheint eine Ausgabe wie:
10/11/2011 10:44:47 Xinerama: enabling -xwarppointer mode to try to correct 10/11/2011 10:44:47 Xinerama: mouse pointer motion. XTEST+XINERAMA bug. 10/11/2011 10:44:47 Xinerama: Use -noxwarppointer to force XTEST. 10/11/2011 10:44:47 Xinerama: sub-screen[0] 1280x1024+0+0 10/11/2011 10:44:47 Xinerama: sub-screen[1] 1920x1080+1280+0 10/11/2011 10:44:47 blackout rect: 1280x56+0+1024: x=0-1280 y=1024-1080 10/11/2011 10:44:47 10/11/2011 10:44:48 fb read rate: 712 MB/sec 10/11/2011 10:44:48 fast read: reset -wait ms to: 10 10/11/2011 10:44:48 fast read: reset -defer ms to: 10 10/11/2011 10:44:48 The X server says there are 10 mouse buttons. 10/11/2011 10:44:48 screen setup finished. 10/11/2011 10:44:48 The VNC desktop is: hostname:3 PORT=5903
nun können wir uns zu hostname:3
verbinden.
Kontinuierliche Session
Standardmäsig akzeptiert x11vnc die erste VNC Session und beendet sich wen diese die Verbindung trennt. Um dies zu verhindern starten Sie x11vnc mit dem -many
Parameter:
$ x11vnc -many -display :0
z.B. in screen
Login zu neuer Session via GDM unter root
# x11vnc -display :0 -auth /var/lib/gdm/:0.Xauth
Sichere Verbindung
Benutzen Sie den -localhost
Parameter um x11vnc an das lokale Interface zu binden. Ist dies getan, können sie SSH nutzen um den Port zu Tunneln und anschließend via SSH zu VNC zu verbinden.
ssh -t -L 5900:localhost:5900 remote_host 'sudo x11vnc -localhost -display :0 -auth /home/USER/.Xauthority'
Wobei USER der Benutzername des Benutzers ist, unter welchem der VNC Server läuft
- oder
- Server
$ x11vnc -localhost -display :0 -auth /home/USER/.Xauthority
- Client
$ ssh IP_OF_TARGET_MACHINE -L 5900/localhost/5900
noVNC
noVNC ist ein auf HTML5 basierender VNC Client.
Installation
wget -Okanaka-noVNC.tar.gz http://github.com/kanaka/noVNC/tarball/master tar xvf kanaka-noVNC.tar.gz mkdir -p /usr/share/novnc /usr/share/doc/novnc cp -a include utils images images/favicon.ico vnc.html vnc_auto.html /usr/share/novnc/ cp -a LICENSE.txt README.md /usr/share/doc/novnc cat >/usr/bin/novnc <<EOF
- !/bin/sh
cd /usr/share/novnc || exit 1 exec ./utils/launch.sh \$* EOF
chmod 0755 /usr/bin/novnc