VNC

Kategorie: Server

Jak zprovoznit VNC server na pracovních stanicích Linux/Unix a jaký software použít?

X11VNC

Pro instalaci slouží balíček x11vnc.

Server

Pro otestování VNC serveru stačí spustit jako uživatel příkaz x11vnc, který spustí server. Výchozí port naslouchání je 5900.

x11vnc

Heslo nastavíme pomocí parametru -storepasswd:

x11vnc -storepasswd

Pro spouštění s heslem skrze .xinitrc a podobné budeme spouštět VNC server s parametry:

x11vnc -xkb -noxrecord -noxfixes -noxdamage -display :0 -auth /home/uzivatel/.Xauthority -forever -bg -o /var/log/x11vnc.log -rfbauth /home/uzivatel/.vnc/passwd -rfbport 5900 &

Atributy

  • -o /var/log/x11vnc.log Vybere umístění logu.
  • -auth /home/uzivatel/.Xauthority Vybere oprávnění pro displej.
  • -rfbauth /home/uzivatel/.vnc/passwd Vybere ověření heslem a s cestou k heslu.
  • -rfbport 5900 Vybere použitý port.
  • -forever Poslouchá donekonečna namísto odpojení po prvním připojení.
  • -inetd Spustí se pomocí inetd.
  • -modtweak Zkusí nastavit AltGr a Shift zkratky pro rozdílné jazyky.
  • -nomodtweak Použije se při potížích s modtweak.
  • -xkb Když je aktivní modtweak, použije rozšíření XKEYBOARD.
  • -noxfixes Nepoužívat XFIXES rozšíření k vykreslení kurzoru.
  • -noxrecord Vypne jakékoli rozšíření pro narhávání relace.

Skript pro spouštění přes crontab

  1. Vytvoříme soubor autovnc.sh v domovském adresáři uživatele: nano /home/uzivatel/autovnc.sh
  2. Soubor autovnc.sh naplníme obsahem:
#!/bin/bash
x11vnc -xkb -noxrecord -noxfixes -noxdamage -display :0 -auth /home/uzivatel/.Xauthority -forever -bg -o /var/log/x11vnc.log -rfbauth /home/uzivatel/.vnc/passwd -rfbport 5900
  1. Uděláme soubor spustitelným: chmod 777 autovnc.sh
  2. Přidáme skript do crontab: crontab -e*/20 * * * * /home/uzivatel/autovnc.sh

Klient

Pro spuštění VPN klienta je potřeba zainstalovat balíček tigervnc. Název balíčku se může v jednotlivých distribucích lišit.

Pro otestování na aktuálním počítači se můžeme zkusit připojit s adresou localhost:

vncviewer localhost

Pro připojení k adrese 192.168.1.100 stačí použít příkaz:

vncviewer 192.168.1.100

Tipy

  • Když VNC padá po přihlášení: Je třeba odstranit soubor .Xauthority pomocí rm /home/uzivatel/.Xauthority
  • Ukončení x11vnc killall x11vnc
  • Zastavení x11vnc -R stop
  • Jak vyčistit x11vnc? x11vnc -clear-all

Testováno na

  • CentOS
  • FreeBSD
  • OpenSUSE
  • Arch Linux

Další VNC

Alpine Linuxapk add x11vnc
Arch Linuxpacman -S tigervnc
CentOSdnf install tigervnc-server
FreeBSDpkg install tigervnc-server
OpenSUSEzypper in xorg-x11-Xvnc
Ubuntu/Debianapt install tightvncserver

Pro spuštění VNC serveru poslouží jednoduchý příklad:

vncserver

anebo

vncserver :1 -alwaysshared -dpi 100