O czym będziemy porozmawiać?
Błąd „żądanie przekazania x11 nie powiodło się na kanale 0” może czasem nastąpić, gdy spróbujesz przekazać żądanie x11. W tym poście na blogu przyjrzymy się bliżej, czym jest przekazywanie x11, dlaczego jest to przydatne i jak naprawić błąd „żądanie przekierowania x11 na kanale 0”.
Co to jest przekazywanie X11 w Linux SSH?
Przekazywanie X11 jest sposobem na uruchomienie aplikacji graficznych na zdalnej maszynie, nawet jeśli nie jesteś w tym samym pokoju, co jest. X11fording Opcja można ustawić w sshd_config plik. Zapewnia możliwość tunelu ruchu x11 przez połączenie, aby włączyć zdalne połączenia graficzne.
Przekazywanie X11 jest szczególnie przydatne do pracy z graficznymi interfejsami użytkownika (GUIS) lub wizualizacji, które wymagają dużej mocy obliczeniowej. Zauważ, że aby korzystać z przekazywania x11, musisz mieć serwer x11 działający na komputerze lokalnym.
Dlaczego musimy zdalnie uruchamiać aplikacje graficzne?
Zdalne uruchomienie aplikacji graficznych ma kilka korzyści, w tym następujące:
Dostęp do potężnego sprzętu: zdalne serwery często mają mocniejszy sprzęt niż maszyny lokalne, co może być szczególnie przydatne do uruchamiania aplikacji intensywnie dla grafiki, takich jak przetwarzanie obrazu lub wideo.
Współpraca: zdalne uruchamianie aplikacji graficznych pozwala wielu użytkownikom dostępu i pracować na tej samej aplikacji lub danych jednocześnie, nawet jeśli nie są one w tej samej fizycznej lokalizacji.
Bezpieczeństwo: Uruchamiając aplikacje graficzne zdalnie przez zaszyfrowane połączenie SSH, możesz upewnić się, że poufne dane lub aplikacje nie są przechowywane na maszynach lokalnych i zamiast tego są przechowywane na bezpiecznym serwerze.
Dostępność: zdalne uruchamianie aplikacji graficznych pozwala użytkownikom uzyskać dostęp do nich z różnych urządzeń, w tym laptopów, tabletów i smartfonów, bez konieczności instalowania aplikacji.
Oszczędzanie kosztów: Zdalnie uruchamiając aplikacje graficzne, organizacje mogą obniżyć koszty sprzętu i oprogramowania, ponieważ muszą tylko kupić i utrzymać wymagany sprzęt i oprogramowanie do uruchamiania aplikacji na zdalnym serwerze, a nie na poszczególnych maszynach lokalnych.
Dlaczego żądania przekazywania x11 nie zawodzą na kanale 0 i jak to naprawić
Błąd „żądanie przekazania x11 nie powiodło się na kanale 0”, występuje, gdy opcja „x11Forwarding” w pliku sshd_config jest komentowana lub nie ustawiona na „Tak."
Aby rozwiązać ten problem, sprawdź, czy X11 przekazanie jest włączone na zdalnym serwerze. Możemy to zrobić, patrząc na plik konfiguracyjny SSH serwera (zwykle znajdujący się w/etc/ssh/sshd_config) i sprawdzając, czy opcja „x11fording” jest ustawiona na „Tak”:
$ cat/etc/ssh/sshd_config | GREP x11fording
Jeśli nie jest jeszcze ustawienie na zdalnym komputerze, otrzymamy następujący rodzaj błędu, dostęp do komputera zdalnego ssh:
Ponadto, jeśli spróbujemy uruchomić zdalną aplikację GUI na komputerze klienckim, zobaczymy błąd:
Nie można inicjować serwera: nie można się podłączyć: odmówił połączenia
(Program: 23121): Warning GTK **: 16:12:57.234: Nie można otworzyć wyświetlacza:
Aby naprawić to zachowanie, możemy po prostu edytować plik i ustawić opcję „X11Forwarding” na „Tak”:
Teraz uruchom ponownie usługę SSHD:
$ sudo systemctl restart sshd
Teraz zaloguj się z urządzeniem i zaloguj się. Po tym momencie zdalna usługa powinna teraz rozpocząć się normalnie:
Wniosek
Przekazywanie X11 jest potężną częścią protokołu SSH, która pozwala użytkownikom zdalne uruchamianie aplikacji graficznych. Rozumiejąc, jak działa przekierowanie X11 i jak rozwiązywać problemy z typowymi problemami, możesz w pełni wykorzystać tę potężną funkcję i zwiększyć wydajność i współpracę.