Motto

Každá síť je taková, jaký je její administrátor.

Navigace:   Úvod Rady - tipy - triky Vychytávky v Linuxu Grafický terminálový server
Grafický terminálový server PDF Tisk Email
Pondělí, 28 Leden 2008 12:53

Terminálový server je v podstatě úplný základ Linuxu. A samozřejmě funguje perfektně i v grafickém prostředí. Řešit grafický terminálový server lze hned několika způsoby a vždy záleží na míře rozsahu a nárocích na bezpečnost. Níže uvedená řešení jsou platná výhradně pro linuxové terminálové servery a odzkoušené na distribuci Edubuntu Server 7.04 s desktopem Gnome.

Terminálový server přes XDMCP

Toto je nejlehčí způsob zprovoznění grafického terminálového serveru. Princip spočívá ve dvou běžících X serverech (ten v Linuxu vytváří grafické prostředí), z nichž ten první je zdrojový serverový zpracovávač dat a ten druhý pouze lokální klientský zobrazovač. Na zdrojovém serveru jen stačí povolit protokol xdmcp v display manageru, v KDM (KDE display manager) pomocí editace souboru kdmrc, v GDM (Gnome display manager) lze naklikat přímo v prostředí Gnome (přihlašovací okno) a zajistit jeho spuštění po startu (standardně se spouští). Z klientského počítače se jde připojit dvěma způsoby. Ten lehčí je pomocí přihlašovací obrazovky (display manageru), kde stačí najít funkci vzdáleného přihlášení (remote login) pomocí xdmcp. Otevře se okno s výběrem dostupných terminálových serverů a po připojení můžete hned zadat uživatelský login a password.

gdm_chooser_420

Ten složitější způsob je pro milovníky terminálu. Pokud na klientském počítači v Linuxu neběží lokální X server, tzn. nepracujete v grafickém prostředí, spustíte jej z konzole následujícím příkazem:

  • # X -query 192.168.0.222

Výsledek bude stejný jako v předchozím případě, ihned se ocitnete v přihlašovací obrazovce terminálového serveru a můžete zadávat svůj login a password.

Toto řešení je nejlepší při práci v lokální síti, protože umožňuje pracovat na klasickém lokálním desktopu, ze kterého se můžete kdykoliv odhlásit a velmi snadno přihlásit na terminálový server. Pokud v síti funguje více terminálových serverů, zobrazí se všechny v nabídce. Pro práci přes internet není toto řešení vhodné, protože data přes protokol xdmcp nejsou šifrovaná, navíc tento protokol si musí otevřít na klientském počítači svůj port. Pokud uživatel sedí za firewallem, port otevřít nepůjde bez povolení výjimky. Výhodou je však klientská multiplatformnost, přihlásit se lze z jakéhokoliv OS, pokud na něm lze pustit X server. V Mac OS X je součástí celkové instalace, do Windows jej lze doinstalovat pomocí aplikace Cygwin.

Terminálový server přes SSH a XDMCP

Tato možnost je zpřístupnění protokolu xdmcp pomocí šifrovaného protokolu ssh. Následující řádky tohoto odstavce nejsou rozhodně určeny začátečníkům. Připojit se můžete odkudkoliv, ale přes internet je to ukrutně pomalé, zejména pokud využíváte adsl. Nejprve na serveru zkontrolujte povolení forwardingu X protokolu v konfiguráku ssh démona (/etc/ssh/sshd_config, direktiva X11Forwarding yes) a přítomnost aplikace Xnest. Na klientském počítači je základem spuštění X serveru a X terminálu xterm. V Linuxovém Gnome stačí zmáčknout Alt+F2 a napsat xterm, v Mac OS X se xterm spustí hned po spuštění X serveru a ve Windows např. pomocí Cygwin Bash Shell a v něm C:\cygwin\usr\X11R6\bin\startxwin.bat (možná bude stačit jen startxwin.bat).
V terminálu xterm pak musíte otevřít rouru (tunel) ze svého počítače do terminálového serveru pomocí příkazu:

  • $ ssh -YvgNL 4000:local_ip_term_server:22 user_public_router@ip_public_router

Tímto se otevře roura mezi klientským počítačem a serverem přes ssh protokol. Necháte xterm puštěný a otevřete si druhý xterm. V něm se napojíte na tuto rouru příkazem:

  • $ ssh -YX user_term_server@localhost -p 4000

Následně spustíte Xnest server příkazem:

  • $ Xnest :1 -query localhost

Otevře se nové okno a vněm bude čekat přihlašovací obrazovka (display manager) na login a password.
Předchozí postup můžete samozřejmě zkrátit za předpokladu, že máte na routeru s veřejnou ip adresou přeroutovaný port např. 6222 dovnitř sítě na lokální server, pak jen stačí v jednom jediném xterm terminálu zadat:

  • $ ssh -Yvg user_term_server@public_ip_router -p 6222
  • $ Xnest :1 -query localhost

A pak už je tady opět nám známá přihlašovací obrazovka (display manager). V případě, že obrazovka :1 nebude fungovat, zkuste jiné vyšší číslo.

Terminálový server přes NXSERVER

Spojit obě možnosti dohromady a vytvořit kompaktní rychlé a bezpečné řešení je přesně úkol aplikace nxserver. Tato aplikace je komerční, ale naštěstí pro nás existuje její GPL varianta freenx. Na server tedy stačí nainstalovat aplikaci freenx buď pomocí svaté trojice nebo jako balíček deb. Pro distribuci Ubuntu existuje možnost přidání repozitářů do source.list a balíček instalovat pomocí Synapticu (nebo apt-get install freenx). Repozitář i potřebný GPG key je na webu launchpad.net i mirror.ubuntulinux.nl. Pro jistotu si prohlédněte všechny archívy jednotlivých Ubuntu verzí, protože freenx není zahrnut v každé. A nebojte se nainstalovat poslední verzi. Po instalaci je potřeba spustit aplikaci příkazem:

  • # nxserver --start

Následně nastavit, pro které uživatele bude nxserver přístupný:

  • # nxserver --adduser uzivatel

V Ubuntu se freenx spouští hned po startu, v ostatních distrech asi bude potřeba jej nastavit ručně přes init.d. Celý návod pro Ubuntu je na webu help.ubuntu.com.
Na klientském počítači musíte nainstalovat aplikaci nxclient pro kterou platí stejné možnosti jako pro freenx, svatá trojice nebo balíček deb (v konzoli apt-get install nxclient). V menu přibude ikona NX Client for Linux (v nejhorším případě Alt+F2 a příkaz /usr/NX/bin/nxclient), která při prvním spuštění vyvolá průvodce připojení. Vyplníte údaje dle svého připojení a nastavíte si svůj login a password.

nxclient_login_328

Údaje připojení můžete kdykoliv dodatečně změnit. Pokud chcete nxclienta připojit k server pomocí internetu mimo lokální síť, musíte mít na routeru s veřejnou ip adresou přeroutovaný libovolný port (v našem případě 6222) dovnitř sítě na server freenx.

nxclient_conf_349

Po připojení se dostanete hned na svůj desktop. Výhodou této klientské části aplikace je, že využívá standardní X protokol a je tedy taky za určitých podmínek multiplatformní. Jako klientský OS můžete použít Linux, Windows (tato verze využívá knihoven Cygwinu) nebo Mac OS X (a tato verze používá X server pro Mac OS X). Všechny verze jsou dostupné na webu www.nomachine.com. Jediným větším zádrhelem freenx je omezení počtu přihlášených uživatelů z jednoho počítače (max. 2).

nxclient_windows_500

 
Mendelovo gymnázium | Designed by webmaster | Powered by Joomla | Creative Commons Attribution