Uruchomienie przekierowania X11 w YaST przez SSH

Jeśli YaST kończy działanie z powodu XIO: fatal IO error 11 (Resource temporarily unavailable)połączenia SSH, najpierw wypróbuj opisane w dokumentacji SUSE obejście Qt: QT_XCB_GL_INTEGRATION=none yast.ssh. W przypadku zainstalowanego systemu SLES i konkretnego modułu YaST, użyj tej samej zmiennej przed tym modułem, na przykład QT_XCB_GL_INTEGRATION=none yast2 disk. Jeśli nie można uruchomić żadnej aplikacji graficznej, najpierw napraw przekierowanie X11: połącz się z ssh -X, sprawdź, czy zdalna powłoka ma DISPLAYwartość i zweryfikuj, czy serwer ma włączone przekierowanie X11.

Przewodnik wdrażania SUSE SLES 15 SP7 dokumentuje dokładnie tę awarię XIO oraz obejście problemu z wykorzystaniem Qt i alternatywę dla ncurses. Fragment ten pojawia się w kontekście instalacji zdalnej, dlatego należy go używać jako ukierunkowanej poprawki dla podobnego zachowania YaST-przez SSH; nie dowodzi on, że każda awaria uruchomienia YaST ma tę samą przyczynę. Poniższe testy pozwalają odróżnić ten przypadek od braku lokalnego serwera X, wyłączonego przekierowania SSH lub problemu z uwierzytelnianiem X.

1. Przed rozwiązywaniem problemów z YaST sprawdź, czy przekierowanie X11 działa

Przekierowanie X11 przesyła ruch okienkowy zdalnej aplikacji przez SSH do serwera X na komputerze lokalnym. Komputer lokalny potrzebuje zatem działającego serwera X, a klient SSH musi zażądać przekierowania. Na komputerze stacjonarnym X11 otwórz nowy terminal i połącz się w następujący sposób:

ssh -X admin@server.example.com

Zmień konto i hosta na swoje. Po zalogowaniu uruchom:

echo "$DISPLAY"

Wartość taka jak localhost:10.0wskazuje, że SSH skonfigurował przekierowany wyświetlacz. Jest to przykład, a nie stała wartość: numer wyświetlacza może się różnić. Jeśli dane wyjściowe są puste, wyloguj się i połącz ponownie za pomocą -X. Jeśli pole pozostaje puste, sprawdź ustawienia SSH po stronie klienta i konfigurację serwera w następnej sekcji. Nie ustawiaj ręcznie DISPLAYzgadywanej wartości; SSH tworzy wyświetlacz proxy dla danej sesji.

Terminal SSH łączy się za pomocą ssh -X i potwierdza, że ​​DISPLAY to localhost:10.0.
Przykład terminala: zdalna powłoka ma przekazaną wartość DISPLAY po połączeniu SSH nawiązanym za pomocą opcji -X.

Jeśli używasz PuTTY w systemie Windows, włącz przekierowanie X11 w ustawieniach sesji Połączenie > SSH > X11 i upewnij się, że lokalny serwer X jest uruchomiony. Podręcznik wdrażania SUSE wspomina o tym wymogu. Zdalny host nie może wyświetlić okna, jeśli komputer lokalny nie ma serwera X, nawet po pomyślnym zalogowaniu przez SSH.

2. Sprawdź serwer SSH SLES i uwierzytelnianie X

Na hoście SLES administrator może sprawdzić konfigurację demona SSH:

sudo grep -i '^X11Forwarding' /etc/ssh/sshd_config
command -v xauth

Obowiązująca polityka serwera musi zezwalać na przekazywanie X11 i xauthbyć dostępna dla przekazywania uwierzytelniania. SUSE dokumentuje X11Forwarding Yesustawienia po stronie serwera i zauważa, że ​​SSH ustawia zdalne połączenie, DISPLAYgdy klient łączy się z -X. Prosta procedura grepmoże pomijać ustawienia w dołączonych plikach konfiguracyjnych lub Matchblokach warunkowych; jeśli dane wyjściowe wydają się kolidować z działaniem, administrator SSH powinien sprawdzić obowiązującą konfigurację, zamiast dodawać duplikaty wierszy.

Terminal sprawdza, czy opcja X11Forwarding jest ustawiona na yes i czy polecenie xauth jest zainstalowane.
Przykład terminala: sprawdź ustawienie sshd X11Forwarding i upewnij się, że narzędzie xauth jest dostępne na hoście SLES.

Jeśli dokonasz zmiany sshd_config, sprawdź poprawność pliku przed ponownym załadowaniem demona:

sudo sshd -t
sudo systemctl reload sshd

Uruchamiaj je tylko z uprawnieniami administratora. Pozostaw otwartą sesję SSH podczas testowania nowej, aby błąd konfiguracji nie zablokował Ci dostępu. Następnie rozłącz się i połącz ponownie; ustawienia przekierowania są negocjowane podczas uruchamiania sesji SSH. Unikaj otwierania portu TCP 6000 na serwerze lub używania go xhost +jako skrótu. Przekierowanie SSH służy do tunelowania ruchu X i zarządzania jego uwierzytelnianiem; bezpośredni dostęp do X może udostępniać ekran innym maszynom.

3. Zastosuj obejście Qt specyficzne dla YaST

Jeśli DISPLAYjest ustawiona i otwiera się inna przekazana aplikacja X, ale YaST kończy się niepowodzeniem z powyższym błędem XIO, wypróbuj udokumentowane nadpisanie środowiska dla tego jednego uruchomienia:

QT_XCB_GL_INTEGRATION=none yast.ssh

W przypadku standardowo zainstalowanego systemu należy uruchomić wymagany moduł, zamiast zakładać, że asystent instalacji jest obecny. Na przykład, SUSE dokumentuje ten formularz modułu:

QT_XCB_GL_INTEGRATION=none yast2 disk
Interfejs SSH programu YaST jest uruchamiany z opcją QT_XCB_GL_INTEGRATION ustawioną na none.
Przykład terminala: obejście problemu integracji Qt XCB udokumentowane przez SUSE dla YaST przez SSH.

Zmienna dotyczy tylko następującego po niej polecenia; nie zmienia trwale ustawień Qt ani polityki SSH. Dokładne yast.sshpolecenie jest używane przez system SUSE do instalacji, podczas gdy zainstalowany host SLES zazwyczaj uruchamia moduły YaST z yast2. Jeśli inny moduł nie działa prawidłowo, zastąp jego udokumentowaną nazwę disk. Nie traktuj tego ustawienia środowiskowego jako poprawki dla pustego pliku DISPLAYlub klienta bez serwera X.

4. Używaj interfejsu tekstowego YaST, gdy okno nie jest potrzebne

Jeśli potrzebujesz tylko funkcji administracyjnych i nie potrzebujesz okna graficznego, skorzystaj z interfejsu ncurses YaST w terminalu SSH. W przypadku modułu dyskowego dokumentacja SUSE:

yast2 disk --ncurses

Można również jawnie zażądać zaplecza ncurses dla modułu:

YUI_PREFERRED_BACKEND=ncurses yast2 disk
Dwa polecenia terminala uruchamiają zarządzanie dyskami YaST z interfejsem ncurses.
Przykład terminala: wywołaj moduł dyskowy YaST z zapleczem ncurses, gdy przekierowany interfejs graficzny nie jest potrzebny.

Interfejs tekstowy całkowicie pomija przekierowanie X11 i często stanowi najprostszy wybór dla serwera zdalnego. Nadal jest to YaST i nadal zmienia konfigurację systemu; przed zatwierdzeniem należy dokładnie sprawdzić zmiany na dysku, partycjach, zaporze sieciowej i sieci. W przypadku systemu instalacyjnego SLES, SUSE twierdzi, że YaST udostępnia interfejs ncurses, gdy lokalny serwer X jest niedostępny.

Sprawdź poprawność

Otwórz nową sesję SSH za pomocą ssh -X, upewnij się, że pole echo "$DISPLAY"jest niepuste, a następnie uruchom YaST za pomocą odpowiedniego polecenia. Sukces oznacza, że ​​okno YaST pojawi się na pulpicie lokalnym lub moduł ncurses zostanie otwarty w terminalu, jeśli wybrano ten backend. Jeśli przekierowanie działa prawidłowo, ale po nadpisaniu Qt nadal występuje błąd XIO, zapisz pełny błąd terminala i sprawdź informacje o wydaniu SLES lub bazę wiedzy pomocy technicznej SUSE pod kątem problemu specyficznego dla wydania; ta procedura nie jest w stanie zidentyfikować niezwiązanego z Qt lub YaST błędu na podstawie samego fragmentu błędu.

Oficjalne źródła

Zostaw komentarz

Kiedy SLES Btrfs przechodzi w tryb tylko do odczytu: diagnoza przed ponownym zamontowaniem

Kiedy SLES Btrfs przechodzi w tryb tylko do odczytu: diagnoza przed ponownym zamontowaniem

Określ, czy system Btrfs jest celowo przeznaczony tylko do odczytu, ma mało miejsca lub chroni dane po błędach, a następnie wybierz ścieżkę odzyskiwania odpowiadającą danej przyczynie.

Rejestracja systemu SLES 15 za pomocą programu SUSE Manager w sieci offline

Rejestracja systemu SLES 15 za pomocą programu SUSE Manager w sieci offline

Przygotuj kanały lustrzane, utwórz klucz aktywacyjny i uruchom klienta SLES 15 bez bezpośredniego dostępu do Internetu, zachowując połączenie niezbędne do meldowania się menedżera.

Uruchomienie przekierowania X11 w YaST przez SSH

Uruchomienie przekierowania X11 w YaST przez SSH

Naprawiono błąd uruchamiania XIO w YaST przez SSH, zweryfikowano przekazywanie X11 i xauth oraz przełączono na interfejs ncurses, gdy zdalne okno nie jest potrzebne.

Bezpieczne przywracanie nieudanej aktualizacji SLES za pomocą Snappera

Bezpieczne przywracanie nieudanej aktualizacji SLES za pomocą Snappera

Znajdź migawkę Btrfs sprzed aktualizacji, przetestuj ją w trybie tylko do odczytu i wykonaj trwałe odzyskiwanie za pomocą Snapper, pamiętając o tym, które dane pozostają poza wycofaniem do katalogu głównego.

Bezpieczne przekazywanie dziennika systemowego SLES za pomocą rsyslog i wzajemnego protokołu TLS

Bezpieczne przekazywanie dziennika systemowego SLES za pomocą rsyslog i wzajemnego protokołu TLS

Wysyłaj logi systemu SLES do zdalnego kolektora rsyslog za pośrednictwem uwierzytelnionego protokołu TLS, z kontrolą certyfikatów, buforowaniem przerw i testami dostarczania.

Śledź błędy pamięci aktualizacji SLES przed ponowną próbą

Śledź błędy pamięci aktualizacji SLES przed ponowną próbą

Użyj pamięci RAM, wymiany, jądra i dzienników Zypper, aby zidentyfikować rzeczywiste obciążenie pamięci, chronić stan pakietu i wybrać bezpieczniejszą ponowną próbę aktualizacji SLES.

Utrzymywanie aktualizacji zabezpieczeń Debiana 12 na serwerze bez interfejsu graficznego

Utrzymywanie aktualizacji zabezpieczeń Debiana 12 na serwerze bez interfejsu graficznego

Włącz automatyczne aktualizacje zabezpieczeń Debiana przez SSH, zachowaj domyślne źródła pakietów i zweryfikuj zaplanowane uruchomienia za pomocą dzienników systemd i APT.

Otrzymuj ostrzeżenia dotyczące dysku SMART Ubuntu e-mailem za pomocą smartd

Otrzymuj ostrzeżenia dotyczące dysku SMART Ubuntu e-mailem za pomocą smartd

Porównaj opcje dostarczania poczty, skonfiguruj smartd w systemie Ubuntu i sprawdź, czy ostrzeżenia dotyczące stanu dysku docierają do Twojej skrzynki odbiorczej.

Niepowodzenia wyszukiwania DNS w systemie Debian 12: naprawa błędu systemd-resolved

Niepowodzenia wyszukiwania DNS w systemie Debian 12: naprawa błędu systemd-resolved

Przywróć wyszukiwania DNS w systemie Debian 12, sprawdzając systemd-resolved, naprawiając w razie potrzeby resolv.conf oraz weryfikując rozdzielczość DNS i aplikacji.

Ubuntu 24.04 nie wyświetla dźwięku HDMI? Przywróć wyjście

Ubuntu 24.04 nie wyświetla dźwięku HDMI? Przywróć wyjście

Spraw, aby Ubuntu wykrył monitor lub telewizor jako wyjście audio, wybierz je w ustawieniach dźwięku i sprawdź połączenie lub listę urządzeń PipeWire, jeśli brakuje złącza HDMI.