VNC Server: Unterschied zwischen den Versionen

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
 
(40 dazwischenliegende Versionen von einem anderen Benutzer werden nicht angezeigt)
Zeile 2: Zeile 2:
 
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.
Es wird empfohlen den VNC Server via
 
su USERNAME -c "COMMAND"
 
als user und nicht als root zu starten.
 
  
 
== 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.
 
: Dieses ist spezifisch für den jeweiligen Benutzer unter dem der Server gestartet wird.
 
: Dieses ist spezifisch für den jeweiligen Benutzer unter dem der Server gestartet wird.
  
 
; X konfiguration
 
; X konfiguration
: es wirt eine default ~/.vnc/xstartup angelegt
+
: es wird eine default ~/.vnc/xstartup angelegt
  
 
=== GNOME Session ===
 
=== GNOME Session ===
 
; Konfiguration zum starten einer GNOME Session
 
; Konfiguration zum starten einer GNOME Session
 
: ~/.vnc/xstartup
 
: ~/.vnc/xstartup
 +
 
<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
 
# we want a new GNOME session
 
# we want a new GNOME session
 
unset DBUS_SESSION_BUS_ADDRESS
 
unset DBUS_SESSION_BUS_ADDRESS
 +
# start session
 
gnome-session &
 
gnome-session &
# run some programs
+
# enable clipboard
# teminal
+
autocutsel -fork
xterm -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop 1" &
 
# filemanager
 
nautilus &
 
# web browser
 
epiphany -p &
 
 
</source>
 
</source>
 +
 +
chmod 755 ~/.vnc/xstartup
  
 
== Start ==
 
== Start ==
  tightvncserver $SERVER_PORT
+
<!-- Es wird empfohlen den VNC Server via ''<code>su USERNAME -c "COMMAND"</code>'' als user und nicht als root zu starten. -->
 +
 
 +
  $ tightvncserver $SERVER_PORT
 +
 
 
Standard Server Port ist ':1'
 
Standard Server Port ist ':1'
  
 
== Stop ==
 
== Stop ==
 
; 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 ==
  x11vnc -passwd PASSWORD -display :0
+
<!-- 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
  
 
Es erscheint eine Ausgabe wie:
 
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: 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: mouse pointer motion. XTEST+XINERAMA bug.
Zeile 72: 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.
  
== Login via GDM unter root ==
+
== Kontinuierliche Session ==
  x11vnc -display :0 -auth /var/lib/gdm/:0.Xauth
+
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
 +
 
 +
z.B. in <code>screen</code>
 +
 
 +
== 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 =
 
* https://wiki.archlinux.org/index.php/Tightvnc
 
* https://wiki.archlinux.org/index.php/Tightvnc
 
* http://ubuntuforums.org/showthread.php?t=1480094
 
* http://ubuntuforums.org/showthread.php?t=1480094
 +
* https://wiki.archlinux.org/index.php/X11vnc

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