Kategorie: Desktop

x11vnc: Vzdálená plocha

VNC umožňuje pod Windows triviálně jednoduchou vzdálenou správu. Linux je ale řešený jako víceuživatelský systém a většina linuxových VNC serverů se používá jako terminálový server - vzdálená obrazovka je zcela nezávislá na té lokální. To má samozřejmě svoje výhody, ale na desktopu většinou potřebujeme vidět to co vidí uživatel. Naštěstí tak funguje x11vnc.

Instalace

sudo apt-get install x11vnc

Nastavení hesla

Tímto příkazem vytvoříme soubor s heslem pro VNC servery. Později jím můžeme heslo i změnit.
x11vnc -storepasswd 'mojeheslo' /root/VncHeslo

Spuštění

Následně můžeme spustit x11vnc:
x11vnc -rfbauth /root/VncHeslo -shared -forever -bg
-rfbauthRFB autentizace, za parametr uvedeme soubor s heslem
-sharedSdílená plocha (může se připojit více klientů najednou)
-foreverServer se neukončí po ukončení prvního spojení
-bgServer běží na pozadí, neobsazuje terminál
-httpHTTP server pro webového VNC klienta
-desktopNázev plochy (Výchozí "LibVNCServer")
-displayVysílaná X screen
-NVysílány všechny X screen na portech 5900, 5901...

Spuštění na pozadí

x11vnc -rfbauth /root/VncHeslo -shared -forever -bg

Spuštění na pozadí po startu (Ubuntu 14 a novější, lightdm)

Toto zajistí běh VNC serveru celou dobu běhu systému. VNC server nebude ovlivnitelný běžným uživatelem a poběží pod každým uživatelem i na přihlašovací obrazovce. Bude tedy fungovat podobně jako RealVNC pod Windows když je nainstalovaný jako služba.

Vytvořte skript spouštějící VNC:

sudo nano /root/vnc.sh
#!/bin/sh
x11vnc -rfbauth /root/VncHeslo -shared -forever -bg

A nastavte tento skript po spuštění lightdm - vytvořte konfigurační soubor:

sudo nano /etc/lightdm/lightdm.conf
[SeatDefaults]
display-setup-script=/root/vnc.sh
Toť vše.

Spuštění na pozadí po startu (staré Ubuntu, GDM)

Máte-li ještě staré Ubuntu s GDM, nebo z jiného důvodu GDM používáte, použijte následující postup:
sudo nano /etc/gdm/Init/Default
Na konec, ale před příkaz exit, přidejte na samostatný řádek:
x11vnc -rfbauth /root/VncHeslo -shared -forever -bg
Při startu GDM tak bude tento příkaz spuštěn pod uživatelem root a bude moci přistupovat k obrazovkám všech uživatelů. Navíc bude moci číst soubor /root/VncHeslo, ikdyž nastavíte jeho oprávnění tak aby jej mohl číst pouze root. Díky tomu nebudou moci běžní uživatelé zjistit heslo k VNC. Pokud byste tento soubor umisťovali jinam, doporučuji mu také tak nastavit oprávnění:
chown root:root VncHeslo
chmod 600 VncHeslo

Možné problémy

01/08/2013 20:18:25 XOpenDisplay(":0.0") failed.

Je potřeba vytvořit odkaz z /root/.Xauthority na /home/uzivatel/.Xauthority

Bohužel se VNC spojení přeruší při restartování X serveru, ke kterému dochází například při odhlašování. (a někdy i u přihlašování) Naštěstí vám ale nic nebrání se po tomto přerušení opět připojit, takže jen doporučím používat u VNC klienta záložky.

Bohužel ale správně nefunguje Přepínání uživatelů - při přepínání uživatelů se stávající X screen uzamkne (zčerná) a uživatel je poslán na druhou X screen, kde se mu zobrazí přihlašovací obrazovka a může se přihlásit na dalšího uživatele. VNC server ale vysílá stále první X screen, na které je černá obrazovka, která se až po přepnutí uživatele zpět změní v uzamčenou obrazovku. (Pravděpodobně se přepne zpět přes přihlašovací obrazovku, takže se ihned odemkne) Řešením může být parametr -N který zajistí že budou na samostatných portech vysílány jednotlivá X screen. Používání je pak ale o něco náročnější, protože musíte předem vědět ke které X screen se chcete připojit. Někdy je proto vhodnější současné přihlášení více uživatelů (Rychlé přepínání uživatelů) v konfiguraci Gnome zakázat:

gconftool-2 --type boolean -s /desktop/gnome/lockdown/disable_user_switching true
V případě potřeby ho je možné opět povolit:
gconftool-2 --type boolean -s /desktop/gnome/lockdown/disable_user_switching false

Komentáře

Jméno
Předmět
Kontrola captcha
Text
b i url img code   1 2 3 4 5 6 7 8 9 10

Nebyly přidány žádné komentáře.