Späť na blog

Inštalácia a konfigurácia Virtual Network Computing (VNC) na Ubuntu 20.04

Inštalácia a konfigurácia Virtual Network Computing (VNC) na Ubuntu 20.04

Virtual Network Computing (VNC) je systém na zdieľanie obrazovky, ktorý sa používa na vzdialený prístup ku grafickým používateľským rozhraniam. Využíva protokol vzdialenej vyrovnávacej pamäte snímok (RFB), ktorý umožňuje jednému serveru (na strane používateľa) pripojiť sa k druhej strane (klientovi). VNC je bezpečné, spoľahlivé a funguje na všetkých operačných systémoch.

RealVNC, UltraVNC, Xfce, TightVNC, aby sme spomenuli aspoň niektoré, patria medzi najpopulárnejšie VNC klienty používané v súčasnosti. V zozname dostupných alternatív si môžete slobodne vybrať akékoľvek VNC podľa vlastného uváženia. V tomto návode vás prevedieme krokmi inštalácie a konfigurácie VNC na Ubuntu 20.04. Nainštalujeme Xfce kvôli jeho rýchlosti, ľahkosti a vynikajúcemu výkonu.

Začneme nastavením VNC servera na Ubuntu serveri a vytvorením zabezpečeného pripojenia cez SSH tunel. Nakoniec použijeme klientsky program VNC na našom lokálnom počítači na interakciu so serverom prostredníctvom grafického prostredia pracovnej plochy.

Požiadavky

Na sledovanie tohto návodu budete potrebovať:

Krok 1 — Inštalácia prostredia pracovnej plochy a VNC servera

Na rozdiel od predchádzajúcich verzií Ubuntu, Ubuntu 20.04 sa nedodáva s predinštalovaným VNC. V prvom kroku nainštalujeme potrebné balíky z oficiálneho repozitára Ubuntu. Predtým, ako budeme pokračovať, aktualizujme existujúce balíky:

Teraz nainštalujeme Xfce a balík xfce4-goodies pomocou príkazu:

Počas inštalácie balíka sa zobrazí obrazovka s výzvou na výber predvoleného správcu zobrazenia pre Xfce. Správu ignorujte alebo ju nastavte ako predvolenú a potom stlačte ENTER.

Správca zobrazenia je program, ktorý umožňuje používateľom prihlásiť sa do prostredia pracovnej plochy prostredníctvom grafického rozhrania. V tomto návode použijeme Xfce pri pripájaní s VNC klientom, kde sme prihlásení ako používateľ Ubuntu bez oprávnení root. Výber správcu zobrazenia preto nebude mať na našu inštaláciu žiadny vplyv.

Po inštalácii Xfce nainštalujeme TightVNC server:

V ďalšom kroku použite príkaz vncserver na nastavenie prístupového hesla pre VNC a vytvorenie počiatočných konfiguračných súborov. Zadaním nasledujúceho príkazu spustíte inštanciu VNC servera:

Potom nastavte heslo s dĺžkou 6 až 8 znakov a stlačte ENTER. Zobrazí sa výzva:

Po overení hesla získate možnosť vytvoriť heslo len na čítanie (view-only). Používatelia, ktorí sa prihlásia pomocou hesla len na čítanie, budú mať obmedzené ovládanie VNC pomocou myši alebo klávesnice. Toto sa opäť iba odporúča a môžete to povoliť, ak to potrebujete, inak to môžete preskočiť.

Ak budete chcieť v budúcnosti zmeniť svoje heslo alebo pridať heslo len na čítanie, použite príkaz:

Teraz už budete mať vytvorené všetky predvolené konfigurácie pre server a spustený zobrazovací port 5901 ako :1. VNC môže spustiť viacero inštancií na iných zobrazovacích portoch ako :2, :3, pričom :4 odkazuje na port 5902, 5903 a 5904 v tomto poradí:

Váš VNC server je teraz nainštalovaný a úspešne beží. V ďalšom kroku nakonfigurujeme server tak, aby spúšťal Xfce, čím získate prístup cez grafické rozhranie.

Krok 2 — Konfigurácia VNC servera

V domovskom adresári nájdete priečinok .vnc, ktorý obsahuje všetky konfiguračné súbory s názvom startup. Na začiatku tu nájdete spustený štartovací súbor, ktorý sa automaticky vytvoril pri spustení príkazu vncserver v Kroku-1. Štartovací skript sa vytvoril, keď ste v predchádzajúcom kroku spustili príkaz vncserver command in the previous step. However, you will now create your own to launch the Xfce desktop. We will also have to create our own server to launch the Xfce desktop because the VNC configuration will change.

Predtým, ako budeme pokračovať, musíme zastaviť inštanciu VNC servera bežiacu na porte 5901:

Uvidíte nasledujúci výstup:

Namiesto 17648, môžete dostať iné číslo, čo je v poriadku. Ďalej upravíme súbor xstartup file. Before making any file modifications, let’s back up the original file:

Ďalej vytvorte nový súbor xstartup a otvorte ho v ľubovoľnom textovom editore. V tomto návode používame nano:

Po dokončení pridajte do súboru nasledujúce riadky:

Vždy, keď spúšťate alebo reštartujete VNC server, tieto príkazy sa vykonajú automaticky. Prvý riadok je Shebang, ktorý informuje systém o interpretovi, ktorému sa má odovzdať súbor ~/.vnc/xstartup na spustenie. Ďalší riadok xrdb $HOME/. Xresources informuje grafické rozhranie VNC, aby načítalo súbor Xresources používateľa servera. Nakoniec posledný riadok požiada server o spustenie prostredia Xfce. Po pridaní týchto riadkov súbor uložte a zatvorte.

Musíme súbor nastaviť ako spustiteľný, aby VNC server mohol použiť nový štartovací súbor:

Ďalej reštartujte VNC server:

Teraz tu budete mať pridanú možnosť -localhost. Možnosť localhost viaže VNC server na loopback rozhranie vášho servera, čo umožňuje pripojenia iba z nainštalovaných serverov. Ďalej vytvoríme SSH tunel medzi naším lokálnym počítačom a serverom. Cieľom je pridať ďalšiu vrstvu zabezpečenia pre VNC. Prečo? Pretože prístup budú mať iba tí používatelia, ktorí už majú SSH prístup k serveru.

Uvidíte nasledujúci výstup:

Po nastavení konfigurácie sme pripravení pripojiť sa k VNC serveru z nášho lokálneho počítača.

Krok 3 — Bezpečné pripojenie k VNC ploche

Pri pripájaní k serveru VNC nepoužíva zabezpečené protokoly. Preto musíme vytvoriť SSH tunel a požiadať VNC klienta, aby sa pripojil pomocou tohto tunela, namiesto toho, aby sme mu umožnili priame pripojenie.

Na našom lokálnom počítači vytvoríme SSH pripojenie pomocou príkazu ssh, ktorý presmeruje na pripojenie localhost. Na vytvorenie SSH pripojenia použite príkaz v termináli:

Poďme si dešifrovať vyššie uvedený kód:

  • -L 59000:localhost:5901: Prepínač -L určuje, že daný port na lokálnom počítači ( 59000) bude smerovať na daného hostiteľa a port na cieľovom serveri ( localhost:5901). To znamená, že port 5901 na cieľovom serveri bude definovaný ako your_server_ip). Lokálny port, ktorý zadáte, je ľubovoľný. Pokiaľ port už nie je priradený inej službe, môžete ho voľne použiť ako port na presmerovanie pre váš tunel.

  • -C: Povolí kompresiu, čo ďalej pomáha minimalizovať spotrebu zdrojov a zrýchliť výkon.

  • -N: Užitočné pre presmerovanie portov. Toto informuje ssh aby nespúšťal žiadne vzdialené príkazy.

  • -l cloudsigma your_server_ip: Prepínač -l vám umožňuje špecifikovať používateľa, pod ktorým sa chcete prihlásiť po pripojení k serveru.

Vyššie uvedený príkaz je bezpečnejší spôsob nadviazania zabezpečeného pripojenia než len otvorenie firewallu vášho servera na povolenie pripojení k portu 5901 odkiaľkoľvek. Po nadviazaní pripojenia SSH tunel presmeruje obsah z portu 5901 na vašom VNC na port 59000 na vašom lokálnom stroji cez predvolený SSH port; port 22.

Môžete tiež použiť PuTTY na pripojenie k vášmu serveru. Otvorte PuTTY, prejdite na ľavú stranu terminálu PuTTY a nájdite Connection vetvu na pripojenie. Potom rozbaľte SSH vetvu a kliknite na Tunnels. Na Options controlling SSH port forwarding obrazovke, zadajte 59000 ako Source Port a localhost:5901 ako Destination:

VNC image 1

Ponechajte všetky možnosti nezmenené, kliknite na Add, a potom na Apply na implementáciu tunela. Po spustení tunela použite VNC klienta na pripojenie k localhost: 59000. Predvolene budete vyzvaní na overenie totožnosti pomocou hesla, ktoré sme vytvorili v Kroku-1. Po pripojení uvidíte predvolenú pracovnú plochu Xfce:

VNC 2

Môžete pristupovať k súborom v domovskom adresári a spravovať ich. Tiež nakonfigurujte svoj VNC server tak, aby bežal ako služba systemd.

Krok 4 — Spustenie VNC ako služby Systemd

Nastavenie VNC servera na spustenie ako služby systemd umožňuje správu servera. Môžete ho spustiť, zastaviť, reštartovať alebo ukončiť podľa vašich potrieb a pohodlia. Pri každom spustení servera môžete použiť príkazy správy systemd na overenie, či je server ZAPNUTÝ alebo VYPNUTÝ.

Najprv vytvoríme nový súbor jednotky (unit file) na špecifikovanie portu displeja VNC, ktorý chceme použiť pri správe služieb. Definujte súbor jednotky:

Na konci názvu súboru nájdete symbol @, ktorý vám umožňuje odovzdať argument pre použitie konfigurácie služby.

Ďalej pridajte do súboru jednotky nasledujúce riadky. Premenujte User, Group, WorkingDirectory, a používateľské meno v hodnote PIDFILE:

Ak už VNC beží, príkaz ExecStartPre ho zastaví. Príkaz ExecStart spustí VNC a nastaví farebnú hĺbku na 24-bitové farby s rozlíšením 1280×800. Tieto možnosti spustenia môžete upraviť podľa svojich požiadaviek. Upozorňujeme tiež, že príkaz ExecStart opäť obsahuje možnosť -localhost. Po dokončení uložte a zatvorte súbor jednotky.

Ďalej načítajte nový súbor jednotky do systému:

Zapnite ZAPNUTÉ pre súbor jednotky:

Číslo 1 nasledujúce po @ znak označuje, nad ktorým číslom displeja sa má služba zobraziť. V našom prípade je to predvolené :1 ako bolo diskutované v Krok-2. Ak VNC stále beží, môžete zastaviť aktuálnu inštanciu VNC servera pomocou kill príkazu:

Potom ho spustite tak, ako by ste spustili akúkoľvek inú službu systemd:

Môžete overiť, že sa spustil, pomocou tohto príkazu:

Uvidíte výstup:

Váš VNC server je teraz pripravený na použitie kedykoľvek sa váš server spustí, a môžete ho spravovať pomocou systemctl príkazov ako akúkoľvek inú službu systemd. Na strane klienta však neuvidíte žiadny rozdiel. Ak sa chcete znova pripojiť, spustite svoj SSH tunel pomocou:

Môžete sa znova pripojiť pomocou svojho VNC klienta k localhost:59000 s vaším serverom.

Záver

Nastavenie VNC servera sa môže spočiatku zdať náročné, najmä keď sa pokúšate pripojiť k novému počítaču. Keď však nadviažete spoľahlivé pripojenie, práca so vzdialeným počítačom bude zábavná a vzrušujúca. So zabezpečeným VNC serverom spusteným a bežiacim na vašom serveri Ubuntu 20.04 môžete jednoducho spravovať svoje zdroje, súbory, softvér a nastavenia pomocou používateľsky prívetivého grafického rozhrania. Používanie nadmernej šírky pásma je snáď jedinou nevýhodou používania VNC. Môžete to prekonať použitím nízkeho rozlíšenia a obrazoviek v odtieňoch sivej pre rýchlejší prenos.

Príjemnú prácu s počítačom!

author

Shreyas Patil

Autor · CloudSigma

Preslav Dobrev je kreatívny dizajnér v spoločnosti CloudSigma, ktorý sa zameriava na konzistentnú firemnú identitu prostredníctvom tradičných a inovatívnych marketingových kanálov. Dokáže brilantne spájať umeleckú víziu so strategickým marketingom, čím vytvára pôsobivé príbehy značky.

Komentáre

Zatiaľ žiadne komentáre. Buďte prvý.