X11, powszechnie określany jako Xorg Server, to system graficzny używany w systemie Linux. Technologia ta powstała w połowie lat 80., w czasach, gdy komputery osobiste zaczynały zdobywać popularność.
Bez zagłębiania się w historię, warto zaznaczyć, że X11 jest kluczowy dla wszystkich użytkowników Linuksa, nawet w dzisiejszych czasach. Zapewnia on funkcjonowanie interfejsu graficznego, co jest niezbędne do większości codziennych zadań.
Jednym z najważniejszych atutów X11, oprócz jego zdolności do obsługi kart graficznych i renderowania pulpitu w systemie Linux, jest możliwość wyświetlania interfejsu graficznego przez sieć dzięki funkcji przekazywania X11. W tym przewodniku pokażemy, jak skonfigurować przekazywanie X11 w systemie Linux za pomocą SSH.
Wymagania wstępne
Aby korzystać z funkcji przekazywania X11 w systemie Linux, konieczne jest posiadanie skonfigurowanego SSH. Przekazywanie X11 jest funkcjonalnością Secure Shell, więc obecnie nie ma możliwości korzystania z tej opcji poza SSH.
Konfiguracja serwera SSH jest stosunkowo prosta, a w większości dystrybucji Linuksa sprowadza się do jednego lub dwóch kroków. Aby to zrobić, otwórz terminal i zainstaluj klienta SSH na lokalnym komputerze. Po zainstalowaniu klienta przejdź do zdalnego komputera lub serwera, zainstaluj pakiet serwera SSH i uruchom usługi systemd, aby mogły działać.
Nie wiesz, jak zainstalować i skonfigurować serwer Secure Shell na Linuksie? Mamy dla Ciebie pomoc! Przeczytaj nasz przewodnik dotyczący konfiguracji SSH, który opisuje, jak ustawić połączenia oraz przedstawia kilka typowych przykładów poleceń!
Włączenie przekazywania X11
Aby włączyć funkcję przekazywania X11 w SSH, musisz edytować plik konfiguracyjny SSH. Plik ten znajduje się w lokalizacji /etc/ssh/ssh_config i wymaga dostępu użytkownika sudo lub root do edycji. Otwórz terminal i zaloguj się jako superużytkownik. Jeśli nie możesz użyć polecenia su, ponieważ jest wyłączone w twoim systemie, skorzystaj z sudo -s, aby uzyskać dostęp do konta root w inny sposób.
su -
lub
sudo -s
Teraz masz dostęp do konta roota, więc możesz bezpiecznie edytować plik ssh_config za pomocą edytora tekstu Nano. W terminalu otwórz plik konfiguracyjny w edytorze Nano.
nano -w /etc/ssh/ssh_config
Użyj klawiszy strzałek, aby przewinąć plik w edytorze Nano, znajdź linię zawierającą „ForwardX11” i usuń symbol komentarza (#) z przodu tej linii.
Uwaga: Jeśli nie możesz znaleźć linii dotyczącej przekazywania X11 w pliku ssh_config, naciśnij Ctrl + W, aby skorzystać z funkcji wyszukiwania w Nano. Następnie wpisz „ForwardX11” i naciśnij Enter, aby przejść do odpowiedniej linii w pliku.
Po dokonaniu zmian w pliku konfiguracyjnym serwera SSH naciśnij Ctrl + O, aby zapisać zmiany. Zakończ edycję w Nano, używając Ctrl + X.
Restart serwera SSH
Po włączeniu linii X11Forward w pliku konfiguracyjnym serwera SSH, konieczne jest ponowne uruchomienie oprogramowania serwera, ponieważ zmiany konfiguracji nie są stosowane natychmiast. W większości dystrybucji Linuksa restart SSH można przeprowadzić za pomocą polecenia systemctl restart.
Uwaga: Dystrybucje Linuksa, które nie korzystają z systemd, mogą mieć inny sposób restartowania SSH. Jeśli nie możesz znaleźć polecenia do ponownego uruchomienia serwera Secure Shell, najlepszym rozwiązaniem jest restart całego komputera. Zmiany w konfiguracji zaczną działać po uruchomieniu systemu.
systemctl restart sshd.service
Po przywróceniu usługi SSHD w tle, serwer SSH będzie gotowy do przekazywania okien X11 przez sieć.
Używanie przekazywania X11
Przekazywanie X11 jest funkcjonalnością SSH, a nie osobnym narzędziem. Aby z niej skorzystać, wpisz polecenie połączenia SSH, jak pokazano poniżej.
Uwaga: Zmień remoteuser i remote-hostname na odpowiednie zdalne dane logowania oraz adres IP lub nazwę hosta.
ssh remoteuser@remote-hostname -X
Jeśli twój serwer SSH działa na innym porcie niż domyślny (22), musisz go określić w poleceniu. Przykład poniżej pokazuje, jak nawiązać takie połączenie.
ssh remoteuser@remote-hostname -X -p portnumber
Po udanym połączeniu z zdalną maszyną przez SSH, możesz zdalnie uruchamiać aplikacje zainstalowane na serwerze i wyświetlać je na swoim pulpicie, korzystając z terminala.
Na przykład, aby uruchomić Gedit zainstalowany na serwerze SSH, wystarczy wpisać polecenie gedit.
gedit
Dla menedżera plików Nautilus użyj polecenia nautilus.
nautilus
Jeśli chcesz uruchomić więcej niż jedną aplikację przez przekazywanie SSH i X11, będziesz musiał otworzyć wiele połączeń SSH i pracować z każdym z nich oddzielnie.
Zamykanie przekazywanych aplikacji
Aby zamknąć otwartą aplikację przekazywaną przez SSH, możesz użyć kombinacji klawiszy Ctrl + C lub po prostu kliknąć przycisk „zamknij”, tak jak w przypadku innych programów na komputerze.