Konfiguracja i na wirtualnym serwerze jest już opanowana, pozostało jeszcze zapoznać się z jednym sposobem połączenia z wirtualnym pulpitem Linux. Możliwości stworzonego przez firmę protokołu są dość interesujące, a do tego dobrze działają przez wolne łącza. Firmowe rozwiązania serwerowe kosztują dużo (klienci są bezpłatni), ale istnieje również wersja wolna, o której będzie mowa w tym artykule — system . Odpączkował on z projektu open-source , gdy NoMachine przestała go wspierać i puściła na wolność.
Spis treści:
Instalacja środowiska graficznego
Do wirtualnego pulpitu graficznego na Linuxie nie są potrzebne mocne maszyny, dopóki użytkownik nie zacznie uruchamiać programów aplikacyjnych. Do testów weźmiemy solidnego średniaka z Ubuntu Server 18.04 LTS z dwoma rdzeniami procesora, czterema gigabajtami pamięci RAM i dyskiem twardym (HDD) o pojemności dwudziestu gigabajtów. Obrazy Ubuntu Server 20.04 LTS są już dostępne na RuVDS, proces konfiguracji nowszej wersji będzie podobny. Nie zapomnij użyć kodu promocyjnego Habrahabr10, aby uzyskać 10% zniżki przy zamówieniu.

Jako środowisko pulpitu ponownie bierzemy XFCE z powodu względnie niskich wymagań dotyczących zasobów obliczeniowych. Ponadto uruchomienie tego DE przez zdalny dostęp w środowiskach wirtualnych nie sprawia problemów:
sudo apt-get install xfce4 xfce4-goodies xorg dbus-x11 x11-xserver-utils
Lokalizacja serwera i instalacja oprogramowania
Na następnym etapie warto skonfigurować lokalizację i zainstalować minimalny zestaw programów aplikacyjnych: przeglądarkę, klienta poczty i pakiet biurowy. Najpierw zainstalujemy tłumaczenia dla programów systemowych:
sudo apt-get install language-pack-plSkonfigurujemy lokalizację:
sudo update-locale LANG=pl_PL.UTF-8Ten sam efekt można osiągnąć, edytując ręcznie plik /etc/default/locale.
Do lokalizacji GNOME i KDE w repozytorium są pakiety language-pack-gnome-pl i language-pack-kde-pl — będą potrzebne, jeśli zamierzasz używać programów z tych środowisk pulpitu. W XFCE tłumaczenia są instalowane razem z aplikacjami. Następnie można zainstalować słowniki:
# Словари для проверки орфографии
sudo apt-get install hunspell hunspell-ru
# Тезаурус для LibreOffice
sudo apt-get install mythes-ru
# Англо-русский словарь в формате DICT
sudo apt-get install mueller7-dict
Ponadto instalacja tłumaczeń może być wymagana dla niektórych programów aplikacyjnych:
# Браузер Firefox
sudo apt-get install firefox firefox-locale-ru
# Почтовый клиент Thunderbird
sudo apt-get install thunderbird thunderbird-locale-ru
# Офисный пакет LibreOffice
sudo apt-get install libreoffice libreoffice-l10n-ru libreoffice-help-ru
На этом подготовка окружения рабочего стола завершена.
Instalacja serwera X2Go
Stabilne wersje serwera i klienta X2Go można zainstalować z zewnętrznego repozytorium (Personal Packages Archive) na lub z oficjalnych repozytoriów bieżących wydań Ubuntu. Skoncentrujemy się na drugim wariancie, ponieważ wersje oprogramowania w obu źródłach są takie same, ale jeśli potrzebujesz dodatkowych pakietów, musisz dodać repozytorium zewnętrzne. Musimy zainstalować dwa pakiety:
sudo apt-get install x2goserver x2goserver-xsessionJeśli używasz środowiska MATE lub LXDE, dodatkowe pakiety będą potrzebne (dla XFCE nie są wymagane):
sudo apt-get install x2gomatebindings # jeśli używasz MATE/mubuntu
sudo apt-get install x2golxdebindings # jeśli używasz LXDE/lubuntu
Wisienka na torcie: X2Go działa przez SSH i nie wymaga dalszej konfiguracji. Na VPS musi działać sshd i port 22 musi być otwarty w regułach zapory. Ponieważ mówimy o serwerze wirtualnym, z pewnością jest to już zrobione 'out of the box'. Na maszynie fizycznej łatwo jest otworzyć zdalny dostęp przez SSH. Zostaje tylko sprawdzić status serwera X2Go:
sudo systemctl status x2goserver 
Warto również utworzyć nieuprzywilejowanego użytkownika do pracy ze środowiskiem pulpitu:
sudo adduser desktopuser 
Dodajemy użytkownika do grupy sudo, aby mógł rozwiązywać zadania związane z administracją. Jeśli nie ma takiej potrzeby, ten krok można pominąć:
sudo gpasswd -a desktopuser sudo
Podłączenie do pulpitu
Oprogramowanie klienckie X2Go dla Windows, Linux i OS X można na projektu. Klient na Androida jest w fazie rozwoju, a darmowe aplikacje mobilne od NoMachine są niekompatybilne z serwerem X2Go. Jeśli na lokalnym komputerze zainstalowano Ubuntu, wystarczy dodać pakiet x2goclient:
sudo apt-get install x2goclientAby zachować różnorodność wizualną, tym razem weźmiemy klienta dla :

Tutaj można skonfigurować ustawienia połączenia, urządzenia wejścia-wyjścia oraz urządzenia multimedialne.



Jeśli wszystko zostało wykonane poprawnie, po połączeniu powinien pojawić się pulpit XFCE.

Uruchamianie aplikacji na zdalnym komputerze
Czasami zamiast pełnoprawnego środowiska pulpitu na zdalnym komputerze trzeba uruchomić zasobożerne aplikacje (na przykład IDE). Zrobienie tego nie jest trudne, wystarczy określić odpowiedni typ sesji i polecenie w ustawieniach połączenia.


Przeglądarka uruchomiona na zdalnym VPS z Ubuntu
Są też bardziej egzotyczne sposoby użycia X2Go: system umożliwia na przykład podłączenie do sesji użytkownika na zdalnym komputerze (jak w TeamViewer). W tym przypadku na obu maszynach muszą być zainstalowane zarówno części klienckie, jak i serwerowe. Ponadto nie trzeba ustalać profili sesji na każdym kliencie: można zainstalować i skonfigurować x2gobroker, aby określić je na serwerze. W tym celu trzeba będzie podłączyć z dodatkowymi pakietami.
Zalety X2Go
W przeciwieństwie do systemu VNC, który wymaga dużej przepustowości łącza, X2Go korzysta z zaawansowanego protokołu NX 3, aby zminimalizować ilość przesyłanych danych. System ma własny serwer X i praktycznie nie wymaga konfiguracji, a jego możliwości są bardzo zaawansowane. Omówiliśmy tylko podstawowe funkcje, ale X2Go potrafi znacznie więcej, w tym przesyłać dźwięk i wideo z serwera do klienta, pozwala na drukowanie na lokalnej drukarce (na VPS konieczne jest zainstalowanie dodatkowych pakietów do skonfigurowania wirtualnej drukarki) oraz dzielenie katalogów. Interakcja z serwerem odbywa się za pośrednictwem niezawodnego i sprawdzonego sshd — użytkownik ma dostęp do bezpiecznych mechanizmów uwierzytelniania, w tym z kluczami. X2Go automatycznie konfiguruje środowisko podczas logowania (nie trzeba utrzymywać serwera X w ciągłym działaniu), wspiera także pracę w trybie wielodostępnym i większość popularnych środowisk graficznych, a sesja nie jest zrywana nawet po utracie połączenia.
Źródło: habr.com
