VNC
Virtual Network Computing (VNC) ist ein System, mit dem man einen entfernten Rechner grafisch über das RFB‑Protokoll steuern kann.
TightVNC, Vino und X11vnc sind einige der VNC‑Programme unter Linux. In diesem Beitrag geht es um TightVNC.
TightVNCinstallieren:julio@julio-acer ~ $ sudo pacman -S tightvncStartdateien erzeugen und ein Passwort setzen
julio@julio-acer ~ $ vncserver :1 You will require a password to access your desktops. Password: Verify: Would you like to enter a view-only password (y/n)? n New 'X' desktop is julio-acer:1 Creating default startup script /home/julio/.vnc/xstartup Starting applications specified in /home/julio/.vnc/xstartup Log file is /home/julio/.vnc/julio-acer:1.logStandardmäßig läuft der Server auf TCP‑Port 5900+n, wobei n die Display‑Nummer ist.
Für die Konfiguration den laufenden Server beenden
julio@julio-acer ~ $ vncserver -kill :1Konfigurationsdatei bearbeiten (ähnlich
.xinitrc)julio@julio-acer ~ $ vim ~/.vnc/xstartup #!/bin/sh export XKL_XMODMAP_DISABLE=1 #Evita erro ao mapear o teclado exec startxfce4 #exec awesomeAus Sicherheitsgründen nur lokale Verbindungen erlauben – entfernte Zugriffe dann per SSH‑Tunnel authentifizieren.
Dazu
vncservermit-localhoststarten:vncserver -localhost :1.VNC‑Server automatisch starten/stoppen
Beim Booten starten:
julio@julio-acer ~ $ sudo vim /etc/rc.local su julio -c "vncserver -localhost :1"Beim Herunterfahren stoppen:
julio@julio-acer ~ $ sudo vim /etc/rc.local.shutdown su julio -c "/usr/bin/vncserver -kill :1"
Verbindung von einem anderen Rechner
$ ssh -p 22 julio@casa.juliobs.com -L 8900/localhost/5901
Die Option -L richtet das SSH‑Tunneling ein. Anschließend vncviewer localhost:8900 starten. Port
bei Bedarf anpassen.
Verbindung per iPhone
Die App iSSH kann direkt per VNC (RAW) verbinden; sicherer ist aber der SSH‑Tunnel.
iSSHöffnenAdd Configuration…und ähnlich wie im Beispiel konfigurieren(image not available)Zur Hauptansicht zurück und die eben erstellte Konfiguration wählen.
(image not available)Auf einem iPhone 3G (480×320; iPhone 4: 960×640) ist
-geometrypraktisch, um die Darstellung an den Bildschirm anzupassen.Querformat:
vncserver -localhost -geometry 480x268 :1Hochformat:
vncserver -localhost -geometry 320x416 :1
Manchmal möchte ich den tatsächlich sichtbaren Desktop fernsteuern oder beobachten. Mit TightVNC
geht das nicht, mit X11vnc schon.
X11vnc installieren
sudo pacman -S x11vncOptional
.Xauthoritysetzenx11vnc -display :0 -auth ~/.XauthorityPasswort einrichten
mkdir ~/.x11vnc x11vnc -storepasswd your_password_here ~/.x11vnc/passwdWie bei TightVNC
-localhostnutzen. Beispiel‑Skript (z. B. in.xinitrc):x11vnc -localhost -many -display :0 -auth ~/.Xauthority &>/dev/null &-manyverhindert das Beenden des Servers beim Sitzungsende.Zugriff per SSH‑Tunnel
ssh -p 22xx -t -L 5900:localhost:5900 casa.juliobs.com 'sudo x11vnc -display :0 -auth /home/julio/.Xauthority'Zugriff vom iPhone wie bei TightVNC, hier Port
5900.
Hinweise/Probleme:
Offenbar unterstützt TightVNC kein RandR, das u. a. für Auflösungswechsel und Programme wie
Chromium/Firefox nötig ist. Es gibt Patches im Netz; RealVNC scheint RandR zu unterstützen.