Pulpit zdalny do lokalnej sesji w Linuksie

Ostatnio w pracy chciałem sobie nieco ułatwić życie i coś co wydawało mi się proste, zajęło jednak chwilę. Mamy ścianę graficzną do monitorowania sprzętu sieciowego i serwerów, źródłem obrazu są komputery z Linuksem BackBox, zamontowane za monitorami. Są do nich podłączone bezprzewodowe myszy i klawiatury, ale konfigurowanie czegoś z odległości 3-4 metrów jest ponad moje oczy, a ciągłe przesiadanie się by być bliżej monitorów niezbyt wygodne. Naturalnym rozwiązaniem jest remote desktop, czyli pulpit zdalny.

Pulpit zdalny w Linuksie

W linuksie, podobnie jak w Windowsach, jedną z metod zdalnego dostępu do pulpitu jest VNC. Na hoście, do którego chcemy mieć dostęp instalujemy wersję serwerową, do której łączymy się viewerem. Odmian VNC jest sporo: tightvnc, ultravnc, realvnc… Inna metoda to Teamviewer, do zastosować domowych darmowy i nieco okrojony, do korzystania w pracy już płatny. Moje pierwsze podejście do połączenia zdalnego próbowałem konfigurować na VNC. Linux BackBox opiera się na dystrybucji Ubuntu, więc nie ma problemów z instalacją odpowiednich pakietów. Po odpaleniu połączenia zdalnego okazało się, że jestem podpięty do nowej, czystej sesji, a nie tej, która została uruchomiona lokalnie i którą widać na monitorach. Po kilkunastu minutach googlowania poddałem się i zacząłem szukać innego rozwiązania.

Podejście drugie – xrdp i vino

Szukając recepty na podłączanie do uruchomionej sesji przez vnc, natrafiłem na znany mi pakiet xrdp, który umożliwia połączenie z windowsowego klienta rdp do kilku popularnych serwerów pulpitów zdalnych. Natknąłem się też na pakiet vino oparty na vnc, którym bez mała out-of-box można podłączyć się do uruchomionej sesji linuksa. Czyli zaczynamy od instalacji tych dwóch pakietów:

Instalacja pakietów xrdp i vino

Vino nie startuje automatycznie w XFCE, które jest domyślnym środowiskiem w BackBox. Ustawienie tego to tylko edycja jednego pliku:

Do pliku w części OnlyShowIn dopisujemy XFCE:

Ustawienie autostartu vino

Musimy jeszcze skonfigurować parametry połączeń zdalnych, w tym celu lokalnie, w terminalu wpisujemy vino-preferences, otworzy się nowe okno, gdzie zaznaczamy opcje jak niżej:

Preferencje vino

Teraz zmienimy ustawienia xrdp tak, by łączył się do vino. W sumie zmieniamy tylko port na 5900:

Zmiana konfiguracji xrdp

Teraz możemy spróbować się połączyć do naszego Linuksa z poziomu Podłączanie pulpitu zdalnego w Windows. Wpisujemy IP maszyny, wybieramy sesman-Xvnc, wpisujemy login i hasło do konta na linuksie. Połączenie jest zastawiane i… wyskakuje błąd:

xrdp - błąd połączenia

Trwałe rozwiązanie tego problemu również nie jest trudne (o ile się wie jak to zrobić 😉 ). Zaczynamy od doinstalowania narzędzi dconf-tools:

instalacja_dconf-tools

Teraz lokalnie, w terminalu (nie zadziała w sesji ssh czy telnet!) wpisujemy:

ustawienia remote access

Dla pewności robimy reboot systemu i ponawiamy próbę połączenia zdalnego:

Pulpit zdalny z Windows do Linux

No i sukces, działa jak należy. Trudno przecenić wygodę takiego rozwiązana, całą konfigurację można robić ze swojego komputera, a efekty widać na wielkich ekranach.

Dodaj komentarz