VNC Server: Unterschied zwischen den Versionen

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
 
(26 dazwischenliegende Versionen von einem anderen Benutzer werden nicht angezeigt)
Zeile 1: Zeile 1:
 
= TightVNC =
 
= TightVNC =
 
Anleitung für Screen-like VNC Sessions
 
Anleitung für Screen-like VNC Sessions
 +
 +
Zusätzlich installieren wir <code>autocutsel</code> um die Zwischenablage zwischen Client und Server nutzen zu können.
  
 
== Installation ==
 
== Installation ==
  aptitude install tightvncserver
+
  # aptitude install tightvncserver autocutsel
  
 
=== First run ===
 
=== First run ===
  tightvncserver :1
+
  $ tightvncserver :1
  
 
; Abfrage zur Einrichtung des Zugangspassworts.
 
; Abfrage zur Einrichtung des Zugangspassworts.
Zeile 12: Zeile 14:
  
 
; X konfiguration
 
; X konfiguration
: es wirt eine default ~/.vnc/xstartup angelegt
+
: es wird eine default ~/.vnc/xstartup angelegt
  
 
=== GNOME Session ===
 
=== GNOME Session ===
Zeile 19: Zeile 21:
  
 
<source lang="bash">
 
<source lang="bash">
#!/bin/sh
+
#!/bin/bash
 
# avoid keyboard mis-mapping with vnc
 
# avoid keyboard mis-mapping with vnc
 
export XKL_XMODMAP_DISABLE=1
 
export XKL_XMODMAP_DISABLE=1
Zeile 26: Zeile 28:
 
# start session
 
# start session
 
gnome-session &
 
gnome-session &
 +
# enable clipboard
 +
autocutsel -fork
 +
</source>
  
 
+
chmod 755 ~/.vnc/xstartup
# run some programs
 
# teminal
 
xterm -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" &
 
# filemanager
 
nautilus &
 
# web browser
 
epiphany -p &
 
</source>
 
  
 
== Start ==
 
== Start ==
Es wird empfohlen den VNC Server via ''<code>su USERNAME -c "COMMAND"</code>'' als user und nicht als root zu starten.
+
<!-- Es wird empfohlen den VNC Server via ''<code>su USERNAME -c "COMMAND"</code>'' als user und nicht als root zu starten. -->
  
  tightvncserver $SERVER_PORT
+
  $ tightvncserver $SERVER_PORT
  
 
Standard Server Port ist ':1'
 
Standard Server Port ist ':1'
Zeile 47: Zeile 44:
 
; Es wird nicht empfohlen den server mit "kill -9 $pid" zu beenden, es steht ein spezieller kill parameter bereit
 
; Es wird nicht empfohlen den server mit "kill -9 $pid" zu beenden, es steht ein spezieller kill parameter bereit
  
  tightvncserver -kill $SERVER_PORT
+
  $ tightvncserver -kill $SERVER_PORT
 
 
 
 
 
 
  
 
= x11vnc =
 
= x11vnc =
Anleitung für VNC Verbindungen zum Standard Desktop (:0)
+
Anleitung für VNC Verbindungen zu Sessions auf dem Standard Desktop (:0)
  
 
== Installation ==
 
== Installation ==
  aptitude install x11vnc
+
  # aptitude install x11vnc
  
== Start ==
+
== Login auf laufende Sessions ==
Es wird empfohlen den VNC Server via ''<code>su USERNAME -c "COMMAND"</code>'' als user und nicht als root zu starten.
+
<!-- Es wird empfohlen den VNC Server via ''<code>su USERNAME -c "COMMAND"</code>'' als user und nicht als root zu starten. -->
  
  x11vnc -passwd PASSWORD -display :0
+
  $ x11vnc -passwd PASSWORD -display :0
  
 
Es erscheint eine Ausgabe wie:
 
Es erscheint eine Ausgabe wie:
Zeile 82: Zeile 76:
 
  PORT=5903
 
  PORT=5903
  
nun können wir auf <code>hostname:3</code> coneccten
+
nun können wir uns zu <code>hostname:3</code> 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 <code>-many</code> Parameter:
 +
 
 +
$ x11vnc -many -display :0
  
== Login via GDM unter root ==
+
z.B. in <code>screen</code>
x11vnc -display :0 -auth /var/lib/gdm/:0.Xauth
 
  
 +
== Login zu neuer Session via GDM unter root ==
 +
# x11vnc -display :0 -auth /var/lib/gdm/:0.Xauth
  
 +
== Sichere Verbindung ==
 +
Benutzen Sie den <code>-localhost</code> 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.
 +
 +
; http://kanaka.github.com/noVNC/
 +
 +
== Installation ==
 +
wget -Okanaka-noVNC.tar.gz http://github.com/kanaka/noVNC/tarball/master
 +
tar xvf kanaka-noVNC.tar.gz
 +
cd kanaka-noVNC-*/
 +
make -C utils clean rebind.so
 +
rm -f utils/*.o
 +
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
  
 
= Hilfe =
 
= Hilfe =

Aktuelle Version vom 22. Februar 2012, 10:14 Uhr

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 wird 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.

http://kanaka.github.com/noVNC/

Installation

wget -Okanaka-noVNC.tar.gz http://github.com/kanaka/noVNC/tarball/master
tar xvf kanaka-noVNC.tar.gz
cd kanaka-noVNC-*/
make -C utils clean rebind.so
rm -f utils/*.o
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

Hilfe