Pracując zdalnie na systemie Linux przyda się dostęp do pulpitu. Pomoże nam w tym oprogramowanie typu VNC (ang. Virtual Network Connecting) świadczące usługę zdalnego pulpitu.
Instalacja serwera zdalnego pulpitu
Program wymaga wcześniejszej instalacji środowiska graficznego. Jeśli nie posiadasz go na swoim Linux możesz doinstalować:
apt-get install lxde-core
Instalacja zajmie około 750 MB, po instalacji system należy przeładować. Oczywiście najpierw trzeba się zastanowić czy środowisko graficzne jest potrzebne. Pod Linux prawie wszystko zrobimy z konsoli tekstowej.
Programów typu zdalny pulpit jest sporo, zastosujemy w naszym przypadku tightvncserver. W systemie Linux możemy zainstalować go jak niżej z repozytoriów sieciowych:
> apt-get install tightvncserver
Powyższa komenda wymaga użycia uprawnień root. Kolejno każdy użytkownik, który chce uzyskać zdalny dostęp do swojego pulpitu musi utworzyć hasło połączenia:
> tightvncpasswd
Zostanie utworzony plik w katalogu .vnc katalogu domowego danego użytkownika.W tym kroku można też ustalić osobne hasło służące tylko przeglądaniu (view only) pulpitu.
W kolejnym kroku uruchamiamy serwer zdalnego pulpitu. Ma on wiele opcji ale najbardziej przydatne to:
-name NAZWA : nazwa sesji
-depth x : głebia kolorów
-geometry X*Y : rozdzielczość
Każdy użytkownik może uruchomić wiele takich sesji. Ograniczeniem są zasoby maszyny. Uruchamiamy więc sesję:
> tightvncserver -name JANEK -depth 16 -geometry 1200×900
Każda sesja ma swój numer, zaczynając od :1. Sesja o numerze :0 to systemowy pulpit osiągalny z konsoli fizycznej. Przy pierwszym uruchomieniu serwera w katalogu .nvc użytkownika pojawia się plik konfiguracyjny o nazwie „xstartup” z prawami +x. Przykładowy plik:
tightvncserver -name JAN
Pracując zdalnie na systemie Linux przyda się dostęp do pulpitu. Pomoże nam w tym oprogramowanie typu VNC (ang. Virtual Network Connecting) świadczące usługę zdalnego pulpitu.
Instalacja serwera zdalnego pulpitu
Program wymaga wcześniejszej instalacji środowiska graficznego. Jeśli nie posiadasz go na swoim Linux możesz doinstalować:
apt-get install lxde-core
Instalacja zajmie około 750 MB, po instalacji system należy przeładować. Oczywiście najpierw trzeba się zastanowić czy środowisko graficzne jest potrzebne. Pod Linux prawie wszystko zrobimy z konsoli tekstowej.
Programów typu zdalny pulpit jest sporo, zastosujemy w naszym przypadku tightvncserver. W systemie Linux możemy zainstalować go jak niżej z repozytoriów sieciowych:
> apt-get install tightvncserver
Powyższa komenda wymaga użycia uprawnień root. Kolejno każdy użytkownik, który chce uzyskać zdalny dostęp do swojego pulpitu musi utworzyć hasło połączenia:
> tightvncpasswd
Zostanie utworzony plik w katalogu .vnc katalogu domowego danego użytkownika.W tym kroku można też ustalić osobne hasło służące tylko przeglądaniu (view only) pulpitu.
W kolejnym kroku uruchamiamy serwer zdalnego pulpitu. Ma on wiele opcji ale najbardziej przydatne to:
-name NAZWA : nazwa sesji
-depth x : głebia kolorów
-geometry X*Y : rozdzielczość
Każdy użytkownik może uruchomić wiele takich sesji. Ograniczeniem są zasoby maszyny. Uruchamiamy więc sesję:
> tightvncserver -name JANEK -depth 16 -geometry 1200×900
Każda sesja ma swój numer, zaczynając od :1. Sesja o numerze :0 to systemowy pulpit osiągalny z konsoli fizycznej. Przy pierwszym uruchomieniu serwera w katalogu .nvc użytkownika pojawia się plik konfiguracyjny o nazwie „xstartup” z prawami +x. Przykładowy plik:
#!/bin/sh
xrdb „$HOME/.Xresources”
xsetroot -solid grey
#x-terminal-emulator -geometry 80×24+10+10 -ls -title „$VNCDESKTOP Desktop” &
#x-window-manager &
# Fix to make GNOME work
export XKL_XMODMAP_DISABLE=1
/etc/X11/Xsession
Jeśli z jakiegoś powodu plik nie zostanie utworzony automatycznie, należy zrobić to samodzielnie. W powyższym przykładzie pojawił się zdalny pulpit numer 1. Teraz kolej na klienta.
Klient VNC
Na systemie klienckim, np. Windows pobieramy i instalujemy program VNC Viewer. Tworzymy w nim sesję do naszego pulpitu wpisując adres i port:
Port dla pulpitu numer :1 ma wartość 5901, dla pulpitu :2 5902 itd. Każdy kolejny pulpit w ramach całego systemu Linux otrzymuje kolejne numery niezależnie od użytkownika. Program pokazuje informację, że połączenie nie będzie szyfrowane (zajmiemy się tym tematem dalej):
Klikamy w Continue i wprowadzamy hasło połączenia ustalone wcześniej.
Jeśli wszystko skonfigurowane było poprawnie pojawi się nasz pulpit:
Możemy uruchamiać programy i pracować tak jak lokalnie.
Jeśli kursor ma kształt krzyżyka (co może być denerwujące) można nieco zmodyfikować plik xstartup dodając w linii
xsetroot -solid grey
opcję: -cursor_name left_ptr
Opcja ta będzie aktywna dla nowych serwerów.
Kiedy zamykamy połączenie
wszystkie uruchomione w tej sesji programy pozostają wraz z naszym pulpitem. Możemy się do nich podłączyć w dowolnej chwili łącząc się z danym pulpitem.
Otwieranie kolejnych pulpitów
Aby otworzyć kolejny pulpit wydajemy identyczny polecenie jak poprzednio, zmieniając nazwę.
Pulpity są numerowane automatycznie. Ten otrzymał numer 2. Aby się na niego zalogować w oknie VNCViewer wpisujemy adresIP:5902, hasło (takie samo jak poprzednio). Pojawia się drugi pulpit.
Na każdym możemy uruchomić inne programy.
Jeśli teraz uruchomimy serwer z konta innego użytkownika otrzyma on kolejny numer:
Zamykanie serwera
Każdy otwarty pulpit można zamknąć za pomocą polecenia:
Jednak uwaga: to wykona polecenie systemu Linux o nazwie „kill” na otwartych na danym pulpicie programach czyli możemy utracić wszelkie dane w nich obrabiane.
Zabezpieczanie połączenia
Ponieważ domyślnie połączenie nie jest szyfrowane (tylko hasło) możemy go zabezpieczyć za pomocą tunelu SSH.
Tunel SSH
Wykorzystamy program putty (dla Windows) aby utworzyć tunel SSH do Linuxa. Konfiguracja jest prosta (więcej tutaj), pobieramy program putty i tworzymy nowe połączenie:
Zapisujemy je i idziemy do sekcji Connection / SSH / Tunnels. Ustalamy na jakim porcie komputera lokalnego program PuTTY ma nasłuchiwać i na jakie gniazdo komputera zdalnego (adres ip i port) ma przekierować ten ruch.
W tym przykładzie wybrano port lokalny 50000. Adresem zdalnym jest adres interfejsu pętli zwrotnej (ang. loopback) komputera zdalnego i port odpowiadający pulpitowi numer 1. Klikamy w przycisk Add aby dodać parametry, wracamy do okna Sesions aby zapisać sesje i klikamy w Open. Teraz logujemy się na nasze konto w systemie zdalnym:
Tunel jest zestawiony. Idziemy do VNCViewer i tworzymy nowe połączenie tym razem na adres lokalny (na Windows) oraz port jaki był ustalony w PuTTY.
Połączenie jest zestawione z portu lokalnego 50000 (lokalny Windows) na port lokalny (zdalny Linux).
Mimo iż program nadal ostrzega o braku szyfrowania to połączenie bazuje na szyfrowanym tunelu SSH.