2006 01 Zdalny dostęp do środowiska graficznego [Poczatkujacy]
dla początkujących Zdalny dostęp do środowiska graficznego Piotr Machej zyskanie zdalnego dostępu do X11vnc. Od tej pory po odebraniu zgło- komputera z zainstalowanym szenia wyświetla sobie w okienku pulpit Linuksem jest proste, o ile jest użytkownika mającego problem i zazwy- Una nim uruchomiony serwer czaj jest w stanie naprawić usterkę bez SSH, ale nie wszystko da się zrobić w trybie ruszania się z serwerowni. Zaoszczędzony tekstowym. Może zdarzyć się, że mamy czas podobno poświęca na testowanie prze- jakiś problem, który nie jest łatwo opisać pustowości sieci z użyciem znakomitej gry słowami. W takim przypadku dobrym America's Army. rozwiązaniem byłoby udostępnienie bar- dziej doświadczonemu znajomemu (lub np. FreeNX administratorowi naszej sieci) naszego pul- Stosunkowo nowa technologia NX, roz- pitu wtedy nie tylko moglibyśmy uzy- wijana przez firmę NoMachine, zdobywa skać pomoc, ale i zobaczyć, co ten znajomy sobie coraz więcej fanów. Wynika to głów- zrobił. To wszystko jest możliwe, a z niniej- nie z tego, że zastosowano w niej bardzo szego artykułu dowiecie się, jak możecie wydajną metodę kompresji. Dzięki temu skonfigurować Linuksa w celu udostępnia- nawet posiadacze antycznych już mode- nia swojego biurka lub uzyskiwania dostę- mów 9600 bps mogą dosyć komfortowo pu do zdalnego pulpitu. Zawarte w nim pracować ze zdalną sesją graficzną. Co informacje dotyczą szczególnie dystrybucji więcej, sesja jest szyfrowana z użyciem Aurox i Fedora, ale większość z nich może SSH, co powinno zapewnić nam wystar- być wykorzystana również przez użytkow- czający poziom bezpieczeństwa. Ponieważ ników innych dystrybucji Linuksa. cena udostępnianego przez NoMachine ser- wera NX jest dosyć wysoka, skorzystamy Przykład z życia z bezpłatnej alternatywy, czyli dostępnego Posiadanie jednego mocnego komputera na licencji GPL serwera FreeNX. Jako klien- i jednego (lub więcej) słabszych ma swoje ta wykorzystamy oryginalnego (i bez- zalety i wady. Z oczywistych względów płatnego) klienta stworzonego przez No- najbardziej lubię pracować na tym naj- Machine. lepszym, ale czasem rodzina mnie z niego wygania (np. aby pooglądać filmy na Instalacja i testowanie klienta DVD). Zamiast przenosić wtedy wszyst- Zaczniemy od instalacji klienta, gdyż kie materiały do pracy na drugi kompu- zanim zainstalujemy serwer, możemy ter, po prostu słabszy sprzęt wykorzy- przetestować jakość NX na serwerach DVD stuję jako terminal. Rodzinka może sobie udostępnionych przez NoMachine. Wcho- Po uruchomieniu Linux+ Live wtedy spokojnie oglądać film, a ja mogę dzimy na stronę http://www.nomachine.com/ DVD możesz skorzystać z SSH, pracować z OpenOffice.org Writerem na tym download_client_linux.php i pobieramy pa- VNC, FreeNX-a oraz Krfb. samym komputerze, korzystając z klawia- kiet odpowiedni dla naszej dystrybucji. tury i monitora słabszego sprzętu. Po zapisaniu go na dysku instalujemy go Na płycie CD/DVD W nieco inny sposób radzi sobie w firmie w taki sam sposób, jak inne pakiety (np. Na płycie CD/DVD znajdują się pakiety FreeNX-a oraz mój znajomy. Zmęczony ciągłym bieganiem w Fedorze poleceniem rpm -Uvh nxclient- klienci VNC. do użytkowników zgłaszających problemy 1.5.0-113.i386.rpm). Oczywiście, do insta- zainstalował na wszystkich komputerach lowania pakietów potrzebujemy upraw- 50 styczeń 2006 dla początkujących zdalny dostęp do pulpitu nień administratora, które możemy uzy- innych popularnych dystrybucji, zgodnie wizard. Pózniej możemy postępować zgod- skać wydając polecenie su - i podając ha- z informacjami zawartymi na stronie do- nie ze wspomnianym opisem, ale na końcu sło użytkownika root. mowej projektu (http://openfacts.berlios.de/ będziemy musieli sięgnąć po ustawienia Jeśli chcemy przetestować, jak NX spra- index-en.phtml?title=FreeNX_distro_inte- zaawansowane. Wynika to z tego, że w wuje się na naszym łączu, możemy wejść gration), serwer ten jest zawarty od razu celu poprawnego uwierzytelnienia musimy na stronę http://www.nomachine.com/testdrive. w dystrybucjach lub we wskazanych na klientowi dostarczyć poprawny klucz pry- php. Należy tu wypełnić krótki formularz. stronie repozytoriach. Z tego powodu watny. Znajduje się on w pliku /etc/nxserver/ Najpierw wybieramy serwer, który chcemy instalacja w przypadku tych dystrybu- client.id_dsa.key na komputerze, gdzie insta- wykorzystać do testów (np. testdrive.no- cji (Mandriva, Gentoo, Ubuntu, Debian) nie lowaliśmy serwer FreeNX. Musimy go sko- machine.com, umieszczony we Włoszech). powinna sprawić kłopotu. piować (czy to z pomocą dyskietki, czy Oprócz tego, należy podać swoje imię i naz- Jak zwykle, przed instalacją nowego komendą scp /etc/nxserver/client.id_ wisko oraz działający adres e-mail. Chwilę oprogramowania powinniśmy zadbać o dsa.key user@192.168.1.15:~/ przy zało- po wciśnięciu przycisku Send na wskaza- aktualność systemu. W związku z tym żeniu, że korzystamy z konta user na kom- nym koncie pocztowym powinien pojawić wydajemy (z uprawnieniami administra- puterze o adresie 192.168.1.15) na nasz kom- się list z danymi potrzebnymi do podłącze- tora) polecenie yum update. Po uaktual- puter z klientem. Wtedy w opcjach zaawan- nia się do serwera. nieniu pakietów instalujemy potrzebne sowanych sesji wciskamy przycisk Key, a w Zaopatrzeni w te informacje możemy pakiety poleceniem yum install expect następnym oknie przycisk Import. Po wska- uruchomić klienta poleceniem nxclient. nc. Teraz musimy pobrać odpowiednie zaniu skopiowanego pliku client.id_dsa.key Na ekranie Session wpisujemy nazwę pakiety FreeNX i NX. Niestety, w tej chwili zatwierdzamy operację przyciskiem Save i sesji (np. Test Drive) oraz nazwę kompu- nie są jeszcze dostępne w repozytorium jeszcze raz Save. tera podaną w liście (np. testdrive.noma- Fedora Extras, więc będziemy musieli ścią- Gdybyśmy pózniej chcieli zmienić chine.com). Numer portu pozostawiamy gnąć je "ręcznie". opcje (np. rozmiar pulpitu lub środowi- w spokoju i wybieramy tylko typ nasze- Pobieramy pakiet http://fedoranews.org/ sko), możemy po uruchomieniu klienta go połączenia z Internetem. Na następ- contributors/rick_stout/freenx/freenx-0.4.4- wybrać odpowiednią sesję z listy i wcisnąć nym ekranie z rozwijalnej listy wybieramy 1.fdr.0.noarch.rpm. Jest on przeznaczony przycisk Configure. Unix i środowisko (w przypadku testowe- dla dystrybucji Fedora Core 2 i nowszych, Po zakończeniu pracy ze środowi- go serwera dostępne są KDE i GNOME). a także innych korzystających z X.org. Jeśli skiem wylogowujemy się z niego, tak Ponadto, wybieramy odpowiadający nam nadal używamy dystrybucji Fedora Core 1, jak zwykle. Możemy też zamknąć okno rozmiar pulpitu. Możemy również zazna- Red Hat 9 lub innej korzystającej z XFree86, klienta, a wtedy uzyskamy możliwość czyć opcję powodującą szyfrowanie całości to powinniśmy pobrać pakiet http:// zawieszenia sesji (Suspend). Przy ponow- transmisji. W ostatnim ekranie konfigura- fedoranews.org/contributors/rick_stout/freenx/ nym łączeniu się z serwerem zobaczymy cyjnym możemy zadecydować, czy ikona freenx-0.4.4-1.rh.0.noarch.rpm. Oprócz tego, spis zawieszonych sesji, z których można połączenia ma pojawić się na pulpicie oraz pobieramy pakiet http://fedoranews.org/ wybrać tą, którą chcemy wznowić. czy mają być wyświetlone zaawansowane contributors/rick_stout/freenx/nx-1.5.0- Serwer FreeNX ma wiele zalet, ale na opcje konfiguracji. Na razie nie będziemy 0.FC4.1.i386.rpm. Jak można rozpoznać razie nie we wszystkich zastosowaniach do- przeglądać zaawansowanych opcji, więc po nazwie, jest on przeznaczony dla dys- brze się sprawdza. Przykładowo, nie poz- po prostu wciskamy przycisk Finish. trybucji Fedora Core 4. Użytkownicy wcze- wala na podłączenie się do działającej już Teraz pozostaje nam już tylko w wy- śniejszych wersji mogą użyć w nazwie, sesji lub współdzielenie pulpitu z innym świetlonym okienku wpisać nazwę użyt- zamiast FC4, odpowiednio FC3, FC2 lub użytkownikiem. Jeśli zależy nam na takich kownika i hasło dostarczone w liście oraz FC1. Ta ostatnia wersja jest przeznaczo- funkcjach, musimy wypróbować inne pro- z rozwijalnego spisu wybrać odpowiednią na również dla użytkowników Red Hat 9 gramy, opisane w dalszych rozdziałach. nazwę sesji (w naszym przykładzie Test i innych korzystających z XFree86. Drive). W czasie nawiązywania pierwsze- Po pobraniu pakietów instalujemy je Zdalny pulpit w GNOME go połączenia ze zdalnym serwerem może poleceniem rpm -Uvh freenx-0.4.4-1.fdr. Prędzej czy pózniej możemy znalezć się pojawić się pytanie o zaakceptowanie 0.noarch.rpm nx-1.5.0-0.FC4.1.i386.rpm. w sytuacji, w której chcielibyśmy, aby zna- klucza RSA. Należy go zatwierdzić, a po Na tym kończy się instalacja serwera. Praw- chwili zobaczymy okno z wyświetlonym da, że proste? pulpitem zdalnego komputera. Konto testowe przyznane przez NoMachine jest Konfiguracja klienta aktywne przez 7 dni, więc daje to dosyć Podstawowe konfigurowanie klienta opi- czasu na przetestowanie jakości transmisji saliśmy już wcześniej. Jeśli nie zakładali- przy różnych warunkach obciążenia sieci. śmy testowego konta, to możemy kiero- Jeśli nas to zadowoli, możemy przejść wać się opisem umieszczonym w rozdzia- do zakładania własnego serwera. le Instalacja i testowanie klienta. Oczywiście, zamiast danych serwera NoMachine podaje- Konfiguracja serwera my dane naszego serwera. Jeśli założyliśmy Rysunek 1. Klienta NX możemy Opis instalacji i konfiguracji serwera już konto i mamy skonfigurowaną sesję w wypróbować na testowym serwerze FreeNX jest bardzo ściśle związany z dys- kliencie, to w celu dodania nowej sesji uru- udostępnionym przez NoMachine trybucjami Aurox i Fedora. W przypadku chamiamy klienta poleceniem nxclient -- www.lpmagazine.org 51 dla początkujących jomy administrator nieco nam pomógł. rów, z których spodziewamy się połączeń nia i podaniu naszego hasła zalogujemy się Najprościej byłoby go zaprosić, aby móc z naszym pulpitem. Może to być tylko sieć poprzez SSH na nasze konto na zdalnym obserwować, co robi i uczyć się od niego. lokalna (komputery w pracowni szkolnej) komputerze. Równocześnie, na czas trwa- Po co jednak mamy go fatygować, skoro lub określony jeden komputer (np. należą- nia tego połączenia, zostanie utworzony nasze komputery są połączone w sieć? cy do naszego znajomego administratora). tunel pomiędzy portem 5901 na kompute- Spróbujmy udostępnić mu nasz pulpit tak, Oprócz tego, warto pamiętać o tym, rze, gdzie ma być uruchomiony Vncviewer, aby mógł na nim pracować, a równocze- aby udostępniać możliwość połączenia z a portem 5900 na komputerze z podgląda- śnie abyśmy mogli go obserwować. naszym pulpitem tylko wtedy, gdy jest to nym pulpitem. W nowszych wersjach GNOME taka konieczne, a w pozostałym czasie mieć ją Teraz już wystarczy uruchomić Vncviewer funkcjonalność jest dostępna od razu wyłączoną. poleceniem vncviewer localhost:5901, (dzięki programowi Vino). Po uruchomie- Nawet przy zachowaniu tych zasad a cała transmisja będzie szyfrowana. Nale- niu programu vino-preferences (dostęp- bezpieczeństwa można zwrócić uwagę na ży zwrócić uwagę, że w takiej konfigura- nego w pakiecie vino) możemy określić, jeszcze jeden fakt. Transmisja podglądu cji przy pytaniu o potwierdzenie możliwo- czy chcemy zezwalać innym użytkowni- pulpitu nie jest szyfrowana, więc może ści podglądania pulpitu zostanie wyświe- kom na podgląd naszego pulpitu. Oprócz być podsłuchana szczególnie, jeśli łączy tlona nazwa komputera lokalnego (tego, tego, można pozwolić zdalnym użytkow- się z nami ktoś z Internetu. Na szczęście, na którym pulpit jest uruchomiony), a nie nikom na kontrolowanie naszego pulpitu. możliwe jest zastosowanie SSH do szyfro- zdalnego (tego, gdzie uruchamiany jest Opcję tę należy zaznaczać bardzo ostroż- wania takiej transmisji. W tym celu należy Vncviewer). nie o ile będziemy mieli możliwość utworzyć tunel. Służy do tego polecenie obserwowania poczynań gościa, o tyle postaci: Zdalny pulpit w KDE w razie zapomnienia o włączonym ser- Podobnie jak GNOME, środowisko KDE S werze możemy zostawić szeroko otwar- ssh -C -L 5901:localhost:5900 również posiada swoje narzędzie do te drzwi dla włamywacza. Aby tego unik- user@192.168.1.1 współdzielenia pulpitu. Jest to program nąć, mamy do dyspozycji jeszcze dwie Krfb, zawarty w pakiecie kdenetwork. Ma opcje. Pierwsza z nich powoduje wyświe- Wydaje się je na komputerze, na którym on nawet większe możliwości niż Vino, tlenie okienka z prośbą o potwierdzenie za będzie uruchomiony Vncviewer. Zamiast o czym możemy się zorientować po jego każdym razem, gdy ktoś podłącza się do 5901 można użyć innego nieużywanego uruchomieniu poleceniem krfb. naszego pulpitu. Druga pozwala na okre- numeru portu. Zamiast user i 192.168.1.1 Od razu na pierwszym ekranie zoba- ślenie hasła, które będzie musiał podać należy podać nazwę użytkownika i adres czymy przycisk prowadzący do opcji konfi- gość, zanim otrzyma możliwość oglądania lub nazwę komputera, z którym chcemy guracyjnych (zajmiemy się nimi za chwilę) lub kontrolowania naszego pulpitu. się połączyć w celu obejrzenia pulpitu. oraz trzy przyciski dotyczące zaproszeń. Gość może podglądać nasz pulpit wyda- Nazwa użytkownika dotyczy naszego Pierwszy z z tych trzech pozwala na wyge- jąc np. polecenie vncviewer 192.168.1.1: konta na tamtym komputerze nie musi nerowanie osobistego zaproszenia. Po jego 0. Oczywiście, zamiast 192.168.1.1 podaje to być nazwa użytkownika, którego pulpit wciśnięciu zobaczymy takie informacje, adres lub nazwę naszego komputera. Pro- chcemy obejrzeć. Po wydaniu tego polece- jak nazwę komputera i hasło, które powin- gram Vncviewer jest częścią pakietu vnc. Bezpieczeństwo Uruchomienie dodatkowej usługi, która pozwala na łączenie się z komputerem, zawsze wiąże się z pewnym zagrożeniem. Korzystając z Vino, pozwalamy na połą- czenia na port 5900 TCP naszego kompu- tera. Najlepiej, aby tylko wybrane osoby miały możliwość połączenia się z nim. Wynika to z kilku przyczyn. Po pierw- sze, może okazać się, że w oprogramo- waniu jest jakiś błąd, który sprytny wła- mywacz może wykorzystać do uzyska- nia dostępu do naszego komputera. Po drugie, ktoś złośliwy może nam utrud- niać pracę co chwila próbując połączyć się z naszym pulpitem. Nawet jeśli ustawili- śmy konieczność potwierdzenia połącze- nia, to ciągle wyskakujące okienka mogą być bardzo uciążliwe. Z tego powodu powinniśmy ustawić naszą zaporę sie- Rysunek 2. Hasło z zaproszenia trzeba od razu zapisać lub przekazać, gdyż jest ciową tak, aby akceptowała połączenia wyświetlane tylko raz na port 5900 TCP tylko z tych kompute- 52 styczeń 2006 dla początkujących zdalny dostęp do pulpitu ny być użyte do połączenia z naszym pul- zycji po jednej opcji. Pierwsza z nich powo- Fedora i podobnych) decyduje wpis w pli- pitem, a także datę ważności zaproszenia. duje wyłączenie tapety podczas sesji zdal- ku /etc/inittab. Jeśli znajduje się tam linia Informacje te możemy przekazać osobie, nej (może to nieco zwiększyć wydajność, o treści id:5:initdefault:, to system której chcemy udostępnić pulpit. Ważne, szczególnie w przypadku bardzo koloro- uruchomi się w trybie graficznym, nato- aby być pewnym, że przekazujemy je wej tapety), natomiast druga pozwala na miast trybowi tekstowemu odpowiada odpowiedniej osobie, tzn. że nikt tej wia- wybranie portu wykorzystywanego przez linia id:3:initdefault:. Odpowiedniej domości nie podsłucha ani nie przechwyci. serwer (lub skorzystanie z przydzielania zmiany można dokonać dowolnym edy- Dodatkowym zabezpieczeniem jest wspo- automatycznego). Domyślnie wykorzysty- torem (np. gedit /etc/inittab) po uzy- mniany już termin ważności zaprosze- wany jest port 5900, podobnie jak w przy- skaniu uprawnień administratora (wyda- nia ze względów bezpieczeństwa jest on padku Vino. jąc polecenie su - i podając hasło użyt- ograniczony do jednej godziny. Umieszczone w poprzednim rozdzia- kownika root). Drugi przycisk pozwala wygenero- le informacje o zaporze sieciowej i szyfro- W tym samym pliku możemy znalezć wać zaproszenie i od razu wysłać je za waniu sesji dotyczą również przypadku linię o treści podobnej do poniższej: pośrednictwem poczty elektronicznej. korzystania z Krfb. Umieszczone w nim będą wspomniane x:5:respawn:/etc/X11/prefdm -nodaemon już informacje. Należy zwrócić uwagę, XDMCP że e-mail nie jest zbyt bezpiecznym spo- (słabszy komp jako terminal) Taka linia oznacza, że w piątym pozio- sobem na przekazywanie wiadomości o W dzisiejszych czasach sprzęt kompute- mie uruchomieniowym jako menedżer hasłach, więc powinniśmy z niego korzy- rowy starzeje się coraz szybciej. Często logowania będzie użyty program wska- stać tylko wtedy, gdy korzystamy z szyfro- zdarza się, że w celu unowocześnie- zany przez skrypt /etc/X11/prefdm. Należy wania wiadomości. nia komputera trzeba wymienić więk- usunąć z niej parametr -nodaemon, w rezul- Ostatni przycisk służy do zarządza- szość komponentów lub po prostu zaku- tacie uzyskując linię o treści: x:5:respawn: nia udzielonymi zaproszeniami. Na spisie pić nowy komputer. Pozostaje problem, /etc/X11/prefdm. można sprawdzić, kiedy zostały udzielo- co zrobić ze starszym sprzętem, któ- ne zaproszenia i kiedy kończy się ich waż- rego często nikt nie chce kupić. Dzięki Dzięki temu nasz menedżer logowania bę- ność. Można wskazać pojedyncze z nich i Linuksowi (a właściwie dzięki protokoło- dzie mógł służyć nie tylko do obsługi lokal- skasować je, skasować wszystkie, a także wi XDMCP) nawet dość antyczny sprzęt nego logowania, ale będzie też czekał na skorzystać z dwóch przycisków mających wciąż możemy wykorzystać choćby jako połączenia nadchodzące z innych kom- te same funkcje, co wspomniane już przy- terminal. W sieci lokalnej (czy to w domu, puterów (oczywiście, zanim tak się stanie, ciski na głównym ekranie. czy w firmie) takie rozwiązanie może musimy skonfigurować jeszcze kilka rze- Korzystanie z zaproszeń jest najbez- okazać się bardzo dobre. W dodatku, czy). Jeśli chcielibyśmy przy okazji zmienić pieczniejsze, gdyż upoważnia zdalnego odpowiednie skonfigurowanie Linuksa użytkownika tylko do jednego logowa- okazuje się być bardzo proste. Co znaczą te skróty? nia przydzielone hasło jest wykorzysty- W artykule jest użytych kilka skrótów, które wane tylko raz. Nie oznacza to jednak, że Czynności wstępne mogą wymagać bliższego wyjaśnienia. nie można logować się w ten sposób, jak Na początku musimy upewnić sie, że VNC (Virtual Network Computing) to w Vino, czyli podając jedno, stałe hasło. mamy do dyspozycji dwa komputery system pozwalający na zdalne kontrolo- Byłaby to wielka strata, gdyż taka możli- połączone w sieć. Najlepiej, aby znajdowa- wanie środowiska graficznego. Opiera się wość przydaje się, gdy gdzieś wyjeżdżamy ły się one w jednym segmencie sieci lokal- na protokole RFB (Remote FrameBuffer), i chcemy coś sprawdzić na naszym pulpi- nej zarówno ze względu na bezpieczeń- odpowiadającym za zdalny dostęp do gra- cie uruchomionym w domu. Ponieważ stwo (mniejsza szansa na podsłuch), jak ficznego interfejsu użytkownika. domyślnie można logować się tylko z uży- i wydajność. Ten z komputerów, który XDMCP (X Display Manager Control ciem zaproszeń, w celu zmiany tej opcji ma pełnić rolę serwera, powinien urucha- Protocol) to protokół, z użyciem które- musimy skorzystać z przycisku otwierają- miać się w środowisku graficznym, a nie go komunikuje się menedżer logowania. cego okno konfiguracji. tekstowym. Jeśli po uruchomieniu kom- Dzięki niemu użytkownik może spraw- Mamy tam do dyspozycji trzy zakład- putera widzimy ładny ekran logowania, dzić, które komputery w sieci przyjmują ki. Interesująca nas opcja, pozwalająca w którym możemy podać nazwę użyt- połączenia, a nawet uzyskać podstawowe na połączenia bez zaproszenia, znajdu- kownika i hasło, to jest to właśnie to, o co informacje o tych komputerach. Może też je się na pierwszej. Jeśli zdecydujemy się nam chodzi. Za wyświetlenie tego ekranu po prostu bezpośrednio podłączyć się do ją zaznaczyć, powinniśmy również roz- odpowiada menedżer logowania, którym zdalnego menedżera logowania. ważyć zaznaczenie opcji sprawiającej, że najprawdopodobniej jest GDM, KDM lub NX to zestaw technologii i narzędzi każde połączenie bez zaproszenia musi XDM może to być uzależnione od kon- mających na celu ułatwienie i uprzyjem- zaakceptować użytkownik korzystający z figuracji naszej dystrybucji. Drugi kompu- nienie korzystania ze zdalnego dostępu pulpitu. Warto też podać hasło wymaga- ter (będziemy go nazywać terminalem lub do środowisk graficznych. Jego główną ne od łączącego się użytkownika. Opcję klientem) może się uruchamiać w trybie częścią jest wyjątkowo skuteczny proto- pozwalającą użytkownikom łączącym się tekstowym. kół kompresji, pozwalający na wygodny bez zaproszenia na kontrolowanie pulpi- O tym, czy komputer przedstawi gra- dostęp do zdalnego pulpitu nawet na sto- tu należy zaznaczać bardzo ostrożnie. Na ficzny, czy tekstowy ekran logowania, sunkowo wolnych łączach. drugiej i trzeciej zakładce mamy do dyspo- w przypadku dystrybucji Aurox (a także www.lpmagazine.org 53 dla początkujących Usuwamy znak komentarza (#) z począt- Po ponownym uruchomieniu syste- ku linii. Dzięki takiemu zapisowi dowol- mu (bardziej doświadczeni użytkowni- ny komputer będzie mógł połączyć się cy mogą się ograniczyć do zrestartowa- z naszym serwerem za pomocą XDMCP. nia Xinit, menedżera logowania i ustawień Ze względów bezpieczeństwa niekoniecz- zapory sieciowej) powinno już być możli- nie jest to najlepszy pomysł. Jeśli chcemy, we nawiązanie połączenia z terminali. aby mogły się łączyć tylko komputery z naszej sieci lokalnej, to najlepiej podać jej Korzystanie adres (np. 192.168.0.* dla sieci 192.168.0.0 Po odpowiednim skonfigurowaniu ser- o masce 255.255.255.0). Gdy wystarczy wera możemy wreszcie przesiąść się na Rysunek 3. Dzięki SSH możemy nam, jeśli może się łączyć tylko jeden kon- nasz terminal i zacząć pracę. Po zalogo- swobodnie uruchamiać zdalnie pojedyncze kretny komputer (np. o adresie 192.168. waniu się do systemu wpisujemy tylko programy 0.15), to również możemy ograniczyć mo- jedno polecenie: X -query 192.168.1.1. żliwość połączeń tylko do niego, zmienia- Oczywiście, zamiast 192.168.1.1 używa- menedżer logowania, można po prostu zmie- jąc powyższą linię na taką: my adresu (lub nazwy) naszego serwe- nić tę linię tak, aby miała np. treść: ra. Po chwili powinien pojawić się mene- 192.168.0.15 # only host dżer logowania, gdzie możemy wpisać x:5:respawn:/usr/bin/gdm 192.168.0.15 can get a login window nazwę użytkownika i hasło, z jakiego korzystamy na serwerze. Jeśli już mamy Bardziej poprawną metodą jest pozostawie- Ostatnie zmiany zależą od tego, z którego uruchomioną sesję tego użytkownika na nie tej linii w spokoju, a zamiast tego doko- menedżera logowania korzystamy. W razie serwerze, to zostaniemy ostrzeżeni, ale mo- nanie zmiany w pliku /etc/sysconfig/desktop, braku pewności, zawsze możemy wprowa- żemy spokojnie wymusić rozpoczęcie sesji. gdzie powinna znalezć się linia o treści: dzić wszystkie. I to wystarczy widzimy teraz na ekranie W przypadku korzystania z GDM edy- dokładnie to, co byśmy widzieli po zalogo- DISPLAYMANAGER="GNOME" tujemy plik /etc/X11/gdm/gdm.conf. W sekcji waniu się bezpośrednio na serwerze. [xdmcp] powinniśmy zadbać o to, aby W takim przypadku preferowanym mene- następujące opcje nie były zakomentowa- X11vnc dżerem logowania będzie GDM. Jeśli wo- ne (linie nie mogą zaczynać się od znaku #) Omówiliśmy dotąd sytuacje, gdy siedzi- limy KDM, to zamiast GNOME wpisuje i aby miały wskazane poniżej wartości: my przy komputerze i chcemy komuś my KDE. Miłośnicy klasycznego XDM wpi- udostępnić nasz pulpit. Co zrobić w sytu- sują XDM (sic!). Enable=true acji, gdy wyszliśmy z pracy zapominając Gdy spełnimy już powyższe warunki, Port=177 zamknąć jakiś program, który nie powi- możemy przejść do właściwej konfiguracji. nien już działać? Powrót do firmy często Użytkownicy KDM takie same zmiany nie wchodzi w rachubę, a zwlekanie do Konfiguracja powinni wprowadzić w pliku /etc/kde/kdm/ następnego dnia może się dla nas skoń- Wciąż korzystając z uprawnień administra- kdmrc. Plik ten w niektórych dystrybucjach czyć naganą. O ile tylko mamy dostęp do tora zaczynamy od edycji pliku /etc/X11/ może znajdować się w innym katalogu, naszego komputera przez SSH, to możemy xdm/xdm-config. Odnajdujemy linię (za- np.: /usr/share/config/kdm/kdmrc lub /opt/kde2/ sobie w takiej sytuacji poradzić. Z pomocą zwyczaj jest ona ostatnia) o treści: share/config/kdm/kdmrc. przychodzi X11vnc, który pozwala na pod- Na koniec musimy jeszcze zadbać, aby łączenie się do działającej już sesji X. DisplayManager.requestPort: 0 nasza zapora sieciowa (firewall) nie dopusz- czała połączeń przechodzących z Internetu Instalacja Powoduje ona, że menedżer logowania na port 177 UDP, a równocześnie, aby W przypadku dystrybucji Red Hat, Aurox nie oczekuje zapytań XDMCP. Aby to pozwalała na takie połączenia z kompute- i Fedora program X11vnc można pobrać zmienić, musimy usunąć tę linię lub po rów, które mają służyć jako terminale. z repozytorium DAG. Jeśli korzystamy prostu zamienić ją na komentarz. W tym Sposób uzyskania takiego efektu zależy od z programu Yum i mamy dodane repozy- drugim przypadku wystarczy na począt- konstrukcji naszej zapory sieciowej. Wyko- torium DAG, to instalacja ogranicza się do ku linii dodać wykrzyknik, aby wygląda- nanie tej czynności nie jest bezwzględnie wydania polecenia yum install x11vnc. ła tak: konieczne, ale z pewnością zredukuje ryzy- W innym przypadku musimy pobrać ko związane z uruchomieniem nowej usłu- odpowiedni pakiet dla naszej dystrybucji ! DisplayManager.requestPort: 0 gi. Przykładowa regułka blokująca dostęp (np. x11vnc-0.7.2-1.1.fc3.rf.i386.rpm) ze stro- z zewnątrz do komputera o adresie 192. ny http://dag.wieers.com/packages/x11vnc/, Po zapisaniu zmian zajmujemy się edycją 168.0.1 poprzez interfejs sieciowy eth1 może a następnie zainstalować go (np. polece- pliku /etc/X11/xdm/Xaccess. Wśród wielu wyglądać tak: niem rpm -Uvh x11vnc-0.7.2-1.1.fc3.rf. linii komentarza znajdujemy linię o i386.rpm). S treści: iptables -A INPUT -i eth1 S -p udp -d 192.168.0.1 Korzystanie #* # any host can get a login window --destination-port 177 -j REJECT Z lokalnego komputera musimy połączyć się (np. za pośrednictwem SSH) ze zdal- 54 styczeń 2006 dla początkujących zdalny dostęp do pulpitu nym komputerem (w naszym przykładzie la na przesyłanie połączeń X11 bezpiecz- stojącym w pracy) i zalogować się na konto nym kanałem. Wystarczy połączyć się ze użytkownika, który uruchomił system zdalnym komputerem (w naszym przy- X Window. Teraz wystarczy uruchomić kładzie o adresie 192.168.1.1) za pomocą polecenie x11vnc -display :0. Jeśli się po- polecenia: wiedzie, to otrzymamy odpowiedni komunikat, podający nazwę, jaką mamy ssh -X user@192.168.1.1 wpisać do klienta VNC oraz numer portu (zazwyczaj 5900). Podobnie jak w po- Po podaniu hasła użytkownika user zalo- przednich przypadkach, pozostaje nam gujemy się tradycyjnie na nasze konto, wydać polecenie vncviewer jako argu- ale dzięki opcji -X będziemy mieli więk- ment podając nazwę lub adres kompute- sze możliwości. Jeśli uruchomimy jakiś ra w pracy. program z interfejsem graficznym (np. Po zamknięciu klienta VNC program przeglądarkę obrazków poleceniem X11vnc automatycznie zakończy działa- gqview lub kalkulator poleceniem kcalc), nie. Jeśli nie odpowiada nam takie zacho- to aplikacja wyświetli się na naszym wanie, możemy uruchomić X11vnc z opcją ekranie. W ten sposób możemy pracować -forever. W każdym z tych przypadków z tymi programami, które akurat są nam warto pomyśleć o zabezpieczeniu dostępu potrzebne. do pulpitu hasłem. W tym celu najlepiej utworzyć plik, w którym w pierwszej i dru- Zakończenie giej linii będą podane dwa hasła. Pierwsze Jest wiele scenariuszy, w których koniecz- z nich będzie pozwalało na podglądanie ne lub co najmniej przydatne może się i kontrolowanie pulpitu, a drugie tylko okazać zdalne korzystanie ze środowi- na podglądanie. Plik ten (o przykłado- ska graficznego. Jak widać z niniejszego wej nazwie ~/pass.txt) należy zabezpie- artykułu, do praktycznie każdego zasto- czyć przed dostępem osób postronnych sowania można dopasować odpowiednie wydając polecenie chmod 600 ~/pass.txt. narzędzie. Oprócz omawianego w artyku- Dzięki temu tylko właściciel pliku le klienta Vncviewer można znalezć rów- będzie mógł go odczytać i modyfikować. nież wiele innych klientów (np. TightVNC Uruchomienie X11vnc z użyciem pliku i RealVNC), często rozprowadzanych z hasłami odbywa się po wydaniu pole- razem z innymi serwerami VNC. Wy- cenia: bór jednego z nich to w dużej mierze kwestia gustu. Większość klientów bez- x11vnc -display :0 -forever problemowo działa z różnymi serwera- -passwdfile ~/pass.txt mi VNC. Uwagi umieszczone w rozdziale o zdal- nym pulpicie w GNOME odnośnie zapory W Internecie: sieciowej i przesyłania transmisji tunelem SSH odnoszą się również do X11vnc. W " Strona domowa FreeNX: tym przypadku możemy nawet jednym http://freenx.berlios.de/ poleceniem równocześnie utworzyć tunel " Strona domowa NoMachine: i uruchomić X11vnc: http://www.nomachine.com/ " Strona domowa X11vnc: ssh -L 5901:localhost:5900 http://www.karlrunge.com/x11vnc/ user@192.168.1.1 'x11vnc " Angielska Wikipedia o VNC: -localhost -display :0' http://en.wikipedia.org/wiki/VNC " Angielska Wikipedia o XDMCP: Oczywiście, w takim przypadku klien- http://en.wikipedia.org/wiki/XDMCP ta uruchamiamy poleceniem vncviewer " Angielska Wikipedia o NX: localhost:5901. http://en.wikipedia.org/wiki/ NX_technology Tunelowanie po SSH " Strona domowa TightVNC: Jeśli potrzebujemy tylko uruchomić poje- http://www.tightvnc.com/ dynczy program ze zdalnego komputera, " Strona domowa RealVNC: to często nie ma sensu łączyć się z całym http://www.realvnc.com/ pulpitem. Zamiast tego możemy skorzy- stać z pewnej opcji SSH, która pozwa- www.lpmagazine.org 55