NX: vzdálená plocha pro šneky

Adam Štrauch 6. 1. 2009

Vzdálená plocha v podobě VNC není nejrychlejším řešením, ztrácí dech i na rychlých sítích a na pomalých nemůže být o používání řeč. Zde přichází do cesty firma NoMachine, která v této oblasti staví Linux do srovnatelné pozice s konkurencí. Výhody jejich produktu bohatě vyrovnají i trochu nezvyklou instalaci.

Úvod

Vzdálená správa s VNC je sice jednoduchá na konfiguraci a možností jak na Linuxu VNC nastavit je velké množství, ale když přijde na pomalejší linku, tak se velmi rychle projeví jeho vlastnosti, o kterých jste si mohli přečíst v minulém článku o vzdálené ploše. Firma NoMachine proto vyvinula multiplatformní nástroje, které umožní vzdáleně pracovat i na relativně pomalých linkách typu GPRS. Balík nástrojů se jmenuje NX a je k dispozici pro Linux, Windows, Solaris a Mac OS X. Dále se tento balík dělí na free edici a placenou edici s mnoha variantami, která je určena hlavně pro firmy.

Existuje také open-source implementace NX serveru, kterou jsem netestoval, ale měla by být velmi podobná originální implementaci. Pro připojení se používá stejný klient od firmy NoMachine.

Jak to funguje

Na rozdíl od VNC, které musíme nějakým způsobem tunelovat přes šifrovaný kanál, NX se rovnou tuneluje přes SSH samo a musím uznat, že velmi elegantním způsobem. V systému se vytvoří uživatel NX, ke kterému se naimportuje nás veřejný SSH klíč. Po přihlášení na tohoto uživatele na nás už čeká příkazová řádka nxserveru. Pokud se takto připojí nxclient, tak rovnou začne komunikovat se serverem spravujícím sezení jednotlivých uživatelů, kterých může mít jeden uživatel i více. Ze stránek výrobce je možné stáhnout program, který ulehčuje konfiguraci pravidel přes webové rozhraní, nicméně dnes si vystačíme s výchozím nastavením.

Na rozdíl od VNC nenutí NX administrátorovi žádné výchozí nastavení rozlišení a všechno lze naklikat v klientovi. Můžeme měnit:

  • Rozlišení,
  • co se spustí po vytvoření spojení,
  • šifrování přenosu,
  • nastavení tiskáren (CUPS),
  • nastavení sdílených adresářů (Samba),
  • rychlost linky.

Díky tomu mohou být k jednomu serveru připojeni klienti používající KDE, Gnome nebo v mém případě správce oken OpenBox. Jednoduše stačí vybrat startovací skript, podobný tomu, co jsme vytvářeli pro VNC v minulém článku.

Rychlost NX vychází z jeho optimalizací. Cachuje obsah plochy i jednotlivých oken, takže než se rozhodne něco poslat, ujistí se, že druhá stana to už nemá. Dále potlačuje některé volání X serveru, který si rád s okny povídá. V neposlední řadě to je také JPEG komprese obrazu a ZLIB použitá na všechno ostatní. Podle svých vývojářů je NX optimalizovaný do posledního bitu. NX je vytvořený primárně pro X server, takže jeho největší přednosti se objeví právě u něj.

Instalace na serveru

Velkou nevýhodou instalace je vnucení adresářové struktury, která vybočuje ze standardů unixového světa. Program se totiž nainstaluje do adresáře /usr/NX.

Varianty

Nejprve si vybereme variantu, kterou chceme nainstalovat. Osobně doporučuji free edici ze stránek výrobce, se kterou budete mít nejméně problémů. V mém Gentoo se balíček jmenuje nxserver-freeedition a v jiných distribucích to bude podobné. Na stránkách NoMachine najdeme také balíčky pro nejrozšířenější distribuce. Ty jsou podporované opravdu široce. Po instalaci se nám objeví v systému zmíněný adresář /usr/NX.

Předání SSH klíčů a konfigurace SSHd

V něm najdeme normální unixovou adresářovou strukturu, která obsahuje adresář home/nx/.ssh. Ten je důležitý, protože do něj nakopírujeme náš veřejný klíč. Pokud ho nemáme, použijeme program ssh-keygen s parametrem -t dsa pro jeho vygenerovaní. Klíč poté najdeme v souboru ~/.ssh/id_dsa.pub a rovnou ho můžeme zkopírovat do souboru /usr/NX/home/nx/.ssh/authorized_keys2 na vzdáleném stroji, kde běží nxserver.

Přidání uživatele

Pokud máme klíč umístěný, je potřeba přidat do NX nového uživatele a nastavit mu heslo. To uděláme pomocí programu nxserver:

jako root:

# /usr/NX/bin/nxserver --useradd uzivatel

jako uzivatel:

$ /usr/NX/bin/nxserver --passwd

Pokud vše proběhlo bez problémů, je na čase nahodit nxserver. K tomu může sloužit init skript připravený od distributora nebo samotný program nxserver s parametrem --start, --stop nebo --restart.

Nastavení klienta

V této fází můžeme přejít na stroj, ze kterého se budeme připojovat, nainstalujeme na něm stejný balíček jako na serveru. Kromě serverové části se nainstaluje i klient, kterým se připojíme. Ten je klikací a intuitivně navržený. Hned po spuštění se objeví průvodce přidání nového sezení. Sezení můžeme vytvořit několik.

Začneme průvodcem, který se objeví při prvním spuštění programu nxclient.

nx-wizard1

Je jednoduchý a v několika krocích zvládne nastavit základní parametry připojení.

nx-wizard2

V druhém okně vyplníme název sezení, adresu a vybereme typ připojení. Při každé volbě NX vybírá jiný způsob práce s daty, takže při nastavení LAN půjde kvalitnější obraz než při volbě MODEM. Dobře to je vidět například při přehrávání videa v ukázce níže.

nx-wizard4

Ve třetím nastavíme, co chceme spouštět. Levé okno získáme kliknutím na settings, kde také můžeme nastavit, jestli chceme každé okno na ploše zvlášť nebo vytvořit jednu virtuální plochu. V prvním případě se otevře okno, jako kdyby bylo součástí lokálního systému (s okrajem navíc), u druhého se po připojení objeví jedno velké okno s virtuální plochou, jako jsme zvyklí třeba u qemu nebo Wine.

nx-wizard6

V posledním okně si můžeme zaškrtnout vytvoření ikonky na ploše, případně se přepnout do pokročilého konfiguračního okna.

nx-wizard10

Máme-li všechny parametry nastavené, zobrazí se nám okno pro připojení. Průvodce se spouští, jen pokud neexistuje žádné sezení.

nx-wizard8

Po odkliknutí tlačítka „Login“ a při správné nastaveném serveru se nám po chvilce objeví plocha. Prvních několik vteřin/minut bude spojení pomalejší, protože nx si musí nacachovat obsah okna, ale poté by mělo být spojení již rychlé.

Pokud vypneme naši virtuální plochu, objeví se možnost vypnout vzdálenou plochu nebo jen odpojení od plochy. Pokud NX při připojení zjistí, že existuje běžící sezení, tak k němu nabídne připojení.

nx-wizard7

Video

Rychlé připojení

Toto video bylo pořízeno na 100 mbit/s et­hernetu při nastavení rychlosti linky na ADSL. Podle toho co jsem zkoušel, nastavení linky v programu nxclient nemá na rychlost reakcí na takto rychlé síti vliv. Jediné, co se mění, je kvalita obrazu. Dovolím si tvrdit, že takto se dá připojení na vzdálenou plochu používat prakticky normálně. Odezva není okem poznat. Jediné, co je trochu trhavé, je přesunování oken.

Pomalé připojení

U testu s pomalým připojením jsem použil GPRS/EDGE. NXku stačí otevřít ve firewallu pouze port s SSHčkem a je možné ho naplno využívat. Přes GPRS se připojení chovalo mnohem lépe než VNC. Bylo dokonce možné získat i nějaký obraz z videa. Rolování oken bylo trochu pomalejší než u minulého testu, ale stále na použitelné úrovni. Práce s příkazovou řádkou byla taktéž dobrá.

widgety

Závěr

Tímto možnosti NX nekončí. Balík obsahuje řadu dalších nástrojů a hlavně možnost konfigurace. Ty vydají na samostatný článek, takže si další možnosti probereme příště. Zajímavou vlastnosti VNC i NX je možnost sdílení tiskáren a disků pomocí CUPS a Samby. To je také samostatné téma na jeden z příštích článků.

Odkazy

Našli jste v článku chybu?
DigiZone.cz: Jaká je Swisscom TV Air Free

Jaká je Swisscom TV Air Free

DigiZone.cz: Světový pohár v přímém přenosu na ČT

Světový pohár v přímém přenosu na ČT

DigiZone.cz: Digi Slovakia zařazuje stanice SPI

Digi Slovakia zařazuje stanice SPI

DigiZone.cz: Další programatické formáty

Další programatické formáty

Vitalia.cz: 5 důvodů, proč jet na výlov rybníka

5 důvodů, proč jet na výlov rybníka

Vitalia.cz: Muž, který miluje příliš. Ženám neimponuje

Muž, který miluje příliš. Ženám neimponuje

Lupa.cz: Patička e-mailu závazná jako vlastnoruční podpis?

Patička e-mailu závazná jako vlastnoruční podpis?

Lupa.cz: Proč jsou firemní počítače pomalé?

Proč jsou firemní počítače pomalé?

Vitalia.cz: Test dětských svačinek: Tyhle ne!

Test dětských svačinek: Tyhle ne!

Lupa.cz: Další Češi si nechali vložit do těla čip

Další Češi si nechali vložit do těla čip

Podnikatel.cz: Letáky? Lidi zuří, ale ony stále fungují

Letáky? Lidi zuří, ale ony stále fungují

Vitalia.cz: Jak Ondra o astma přišel

Jak Ondra o astma přišel

Vitalia.cz: Voda z Vltavy před a po úpravě na pitnou

Voda z Vltavy před a po úpravě na pitnou

Lupa.cz: Jak levné procesory změnily svět?

Jak levné procesory změnily svět?

Vitalia.cz: dTest odhalil ten nejlepší kečup

dTest odhalil ten nejlepší kečup

DigiZone.cz: Sat novinky: NASA Ultra HD (4K)

Sat novinky: NASA Ultra HD (4K)

Podnikatel.cz: Nemá dluhy? Zjistíte to na poště

Nemá dluhy? Zjistíte to na poště

DigiZone.cz: Technisat připravuje trojici DAB

Technisat připravuje trojici DAB

DigiZone.cz: Budoucnost TV vysílání ve Visegrádu

Budoucnost TV vysílání ve Visegrádu

Root.cz: Podívejte se na shořelé Samsung Note 7

Podívejte se na shořelé Samsung Note 7