Zpět na blog

Instalace a konfigurace Virtual Network Computing (VNC) na Ubuntu 20.04

Instalace a konfigurace Virtual Network Computing (VNC) na Ubuntu 20.04

Virtual Network Computing (VNC) je systém pro sdílení obrazovky používaný ke vzdálenému přístupu ke grafickým uživatelským rozhraním. Využívá protokol vzdálené vyrovnávací paměti snímků (RFB), který umožňuje jednomu serveru (na straně uživatele) připojit se k druhé straně (klientovi). VNC je bezpečné, spolehlivé a funguje na všech operačních systémech.

RealVNC, UltraVNC, Xfce, TightVNC, abychom jmenovali alespoň některé, jsou dnes nejoblíbenějšími používanými VNC klienty. V seznamu dostupných alternativ si můžete svobodně vybrat jakékoli VNC podle svých potřeb. V tomto návodu vás provedeme kroky instalace a konfigurace VNC na Ubuntu 20.04. Chystáme se nainstalovat Xfce kvůli jeho rychlosti, lehkosti a vynikajícímu výkonu.

Začneme nastavením VNC serveru na Ubuntu serveru a navázáním zabezpečeného připojení přes SSH tunel. Nakonec použijeme klientský program VNC na našem lokálním počítači k interakci se serverem prostřednictvím grafického desktopového prostředí.

Požadavky

Chcete-li postupovat podle tohoto návodu, budete potřebovat:

Krok 1 — Instalace desktopového prostředí a VNC serveru

Na rozdíl od předchozích verzí Ubuntu není v Ubuntu 20.04 VNC předinstalováno. V prvním kroku nainstalujeme potřebné balíčky z oficiálního repozitáře Ubuntu. Než budeme pokračovat, aktualizujme stávající balíčky:

Nyní nainstalujeme Xfce a balíček xfce4-goodies pomocí příkazu:

Během instalace balíčku se zobrazí obrazovka s výzvou k výběru výchozího správce displeje pro Xfce. Zprávu ignorujte nebo ji nastavte jako výchozí a poté stiskněte ENTER.

Správce displeje je program, který uživatelům umožňuje přihlásit se do desktopového prostředí prostřednictvím grafického rozhraní. V tomto návodu budeme používat Xfce při připojení s VNC klientem, kde jsme přihlášeni jako uživatel Ubuntu bez oprávnění root. Volba správce displeje proto nebude mít na naši instalaci žádný vliv.

Po instalaci Xfce nainstalujeme TightVNC server:

V dalším kroku použijte příkaz vncserver k nastavení přístupového hesla pro VNC a vytvoření počátečních konfiguračních souborů. Chcete-li spustit instanci VNC serveru, zadejte následující:

Poté nastavte heslo o délce 6 až 8 znaků a stiskněte ENTER. Zobrazí se výzva:

Po ověření hesla získáte možnost vytvořit heslo pouze pro čtení. Uživatelé, kteří se přihlásí pomocí hesla pouze pro čtení, budou mít omezenou možnost ovládat VNC pomocí myši nebo klávesnice. Toto je opět pouze doporučeno a můžete to povolit, pokud to potřebujete, jinak to můžete přeskočit.

Pokud budete chtít v budoucnu změnit heslo nebo přidat heslo pouze pro čtení, použijte příkaz:

Nyní již budete mít vytvořeny všechny výchozí konfigurace pro server a spuštěný zobrazovací port 5901 jako :1. VNC může spustit více instancí na jiných zobrazovacích portech, jako je :2, :3, a :4 odkazující na port 5902, 5903, a 5904 v tomto pořadí:

Váš VNC server je nyní nainstalován a úspěšně běží. V dalším kroku nakonfigurujeme server tak, aby spouštěl Xfce pro přístup přes grafické rozhraní.

Krok 2 — Konfigurace VNC serveru

V domovském adresáři najdete složku .vnc, která obsahuje všechny konfigurační soubory s názvem startup. Zpočátku zde najdete spuštěný soubor startup, který byl automaticky vytvořen při spuštění příkazu vncserver v Kroku-1. Spouštěcí skript byl vytvořen, když jste spustili vncserver příkaz v předchozím kroku. Nyní si však vytvoříte vlastní pro spuštění plochy Xfce. Budeme také muset vytvořit vlastní server pro spuštění plochy Xfce, protože konfigurace VNC se změní.

Než budeme pokračovat, musíme zastavit instanci VNC serveru běžící na portu 5901:

Uvidíte výstup:

Místo 17648, můžete obdržet jiné číslo, což je v pořádku. Dále upravíme xstartup soubor. Před provedením jakýchkoli úprav souboru si původní soubor zazálohujme:

Dále vytvořte nový soubor xstartup a otevřete jej v libovolném textovém editoru. V tomto návodu používáme nano:

Jakmile to budete mít hotové, přidejte do souboru následující řádky:

Kdykoli spouštíte nebo restartujete VNC server, tyto příkazy se provedou automaticky. První řádek je Shebang, který informuje systém o interpretu, kterému se má předat soubor ~/.vnc/xstartup ke spuštění. Další řádek xrdb $HOME/. Xresources, informuje GUI framework VNC, aby načetl soubor Xresources uživatele serveru. Poslední řádek nakonec požaduje, aby server spustil Xfce. Po přidání těchto řádků soubor uložte a zavřete.

Musíme soubor nastavit jako spustitelný, aby VNC server mohl nový spouštěcí soubor použít:

Dále restartujte VNC server:

Nyní zde budete mít přidanou možnost -localhost. Localhost váže VNC server na loopback rozhraní vašeho serveru, což umožňuje připojení pouze z instalovaných serverů. Dále vytvoříme SSH tunel mezi naším lokálním strojem a serverem. Cílem je přidat další vrstvu zabezpečení kolem VNC. Proč? Protože uživatelé, kteří budou mít přístup, budou ti, kteří již mají SSH přístup k serveru.

Uvidíte následující výstup:

Po nastavení konfigurace jsme připraveni se k VNC serveru připojit z našeho lokálního počítače.

Krok 3 — Bezpečné připojení k ploše VNC

Při připojování k serveru nepoužívá VNC zabezpečené protokoly. Proto musíme vytvořit SSH tunel a požádat VNC klienta, aby se připojil pomocí tohoto tunelu, namísto toho, abychom mu umožnili přímé připojení.

Na našem lokálním počítači vytvoříme SSH připojení pomocí příkazu ssh, který přesměrovává na připojení localhost. Pro vytvoření SSH připojení použijte příkaz v terminálu:

Pojďme si výše uvedený kód dešifrovat:

  • -L 59000:localhost:5901: Přepínač -L určuje, že daný port na lokálním počítači ( 59000) bude směřovat na daného hostitele a port na cílovém serveru ( localhost:5901). To znamená, že port 5901 na cílovém serveru bude definován jako your_server_ip). Místní port, který určíte, je libovolný. Pokud port ještě není obsazen jinou službou, můžete jej volně použít jako port pro přesměrování vašeho tunelu.

  • -C: Povoluje kompresi, což dále pomáhá minimalizovat spotřebu zdrojů a zrychlit výkon.

  • -N: Užitečné pro přesměrování portů. To informuje ssh aby nespouštěl žádné vzdálené příkazy.

  • -l cloudsigma your_server_ip: Přepínač -l vám umožňuje specifikovat uživatele, pod kterým se chcete přihlásit po připojení k serveru.

Výše uvedený příkaz představuje bezpečnější způsob navázání zabezpečeného připojení než pouhé otevření firewallu vašeho serveru pro povolení připojení k portu 5901 odkudkoli. Jakmile se připojíte, SSH tunel přesměruje obsah z portu 5901 na vašem VNC na port 59000 na vašem lokálním stroji přes výchozí SSH port; port 22.

Můžete také použít PuTTY pro připojení k vašemu serveru. Otevřete PuTTY, přejděte na levou stranu terminálu PuTTY a najděte větev Connection pro připojení. Poté rozbalte větev SSH a klikněte na Tunnels. Na Options controlling SSH port forwarding obrazovce, zadejte 59000 jako Source Port a localhost:5901 jako Destination:

VNC image 1

Ponechte všechny možnosti beze změny, klikněte na Add, a poté na Apply pro zprovoznění tunelu. Jakmile se tunel spustí, použijte VNC klienta pro připojení k localhost: 59000. Ve výchozím nastavení budete vyzváni k ověření pomocí hesla, které jsme vytvořili v Step-1. Po připojení uvidíte výchozí plochu Xfce:

VNC 2

Můžete přistupovat k souborům v domovském adresáři a spravovat je. Také nakonfigurujte svůj VNC server tak, aby běžel jako služba systemd.

Krok 4 — Spuštění VNC jako služby Systemd

Nastavení VNC serveru pro spuštění jako služby systemd umožňuje správu serveru. Můžete jej spouštět, zastavovat, restartovat nebo ukončovat podle svých potřeb a pohodlí. Při každém spuštění serveru můžete pomocí příkazů pro správu systemd ověřit, zda je server ZAPNUTÝ nebo VYPNUTÝ.

Nejprve vytvoříme nový unit soubor, abychom specifikovali port displeje VNC, který chceme použít při správě služeb. Definujte unit soubor:

Najdete @ symbol na konci názvu souboru, který vám umožňuje předat argument pro použití konfigurace služby.

Dále přidejte do unit souboru následující řádky. Přejmenujte User, Group, WorkingDirectory, a uživatelské jméno v hodnotě PIDFILE:

Pokud již VNC běží, příkaz ExecStartPre jej zastaví. Příkaz ExecStart spustí VNC a nastaví barevnou hloubku na 24bitové barvy s rozlišením 1280×800. Tyto možnosti spouštění můžete upravit podle svých požadavků. Všimněte si také, že příkaz ExecStart opět obsahuje volbu -localhost option. Once done, save and close the unit file.

Dále seznamte systém s novým unit souborem:

Zapněte ZAPNUTÍ unit souboru:

Číslo 1 následující po @ znak označuje, nad kterým číslem displeje se má služba zobrazit. V našem případě se jedná o výchozí :1 jak bylo diskutováno v Krok-2. Pokud VNC stále běží, můžete aktuální instanci VNC serveru zastavit pomocí kill příkazu:

Poté jej spusťte jako jakoukoli jinou službu systemd:

Ověřit, že se spustil, můžete tímto příkazem:

Uvidíte výstup:

Váš VNC server je nyní připraven k použití při každém spuštění serveru a můžete jej spravovat pomocí systemctl příkazů jako jakoukoli jinou službu systemd. Na straně klienta však neuvidíte žádný rozdíl. Chcete-li se znovu připojit, spusťte svůj SSH tunel pomocí:

Můžete se znovu připojit pomocí svého VNC klienta k localhost:59000 se svým serverem.

Závěr

Nastavení VNC serveru se může zpočátku zdát náročné, zvláště když se pokoušíte připojit k novému počítači. Jakmile navážete spolehlivé připojení, práce se vzdáleným počítačem bude zábavná a vzrušující. Se zabezpečeným VNC serverem spuštěným na vašem serveru Ubuntu 20.04 můžete snadno spravovat své prostředky, soubory, software a nastavení pomocí uživatelsky přívětivého grafického rozhraní. Použití nadměrné šířky pásma je možná jednou nevýhodou použití VNC. Můžete to překonat použitím obrazovek s nízkým rozlišením a ve stupních šedi pro rychlejší přenos.

Příjemnou práci s počítačem!

author

Shreyas Patil

Autor · CloudSigma

Preslav Dobrev je kreativní designér ve společnosti CloudSigma, který se zaměřuje na konzistentní firemní identitu prostřednictvím tradičních i inovativních marketingových kanálů. Je zdatný v propojování umělecké vize se strategickým marketingem za účelem vytváření působivých příběhů značky.

Komentáře

Zatím žádné komentáře. Buďte první.