Acasă
» Cum să
»
Faceți ca redirecționarea X11 a YaST să funcționeze prin SSH
Faceți ca redirecționarea X11 a YaST să funcționeze prin SSH
Dacă YaST se închide prin XIO: fatal IO error 11 (Resource temporarily unavailable)SSH, încercați mai întâi soluția Qt documentată de SUSE: QT_XCB_GL_INTEGRATION=none yast.ssh. Pentru un sistem SLES instalat și un anumit modul YaST, utilizați aceeași variabilă înaintea acelui modul, cum ar fi QT_XCB_GL_INTEGRATION=none yast2 disk. Dacă nicio aplicație grafică nu se poate deschide, reparați mai întâi redirecționarea X11: conectați-vă la ssh -X, verificați dacă shell-ul la distanță are o DISPLAYvaloare și verificați dacă serverul are activată redirecționarea X11.
Ghidul de implementare SLES 15 SP7 de la SUSE documentează exact această eroare XIO și atât soluția Qt, cât și alternativa ncurses. Pasajul apare în contextul instalării la distanță, așa că folosiți-l ca o soluție specifică pentru comportamentul YaST-over-SSH corespunzător; nu stabilește că fiecare eșec de lansare YaST are aceeași cauză. Verificările de mai jos separă acest caz de un server X local lipsă, redirecționarea SSH dezactivată sau o problemă de autentificare X.
1. Verificați dacă redirecționarea X11 funcționează înainte de a depana YaST
Redirecționarea X11 trimite traficul ferestrei unei aplicații la distanță prin SSH către un server X de pe computerul local. Prin urmare, mașina locală are nevoie de un server X care rulează, iar clientul SSH trebuie să solicite redirecționarea. Pe un desktop X11, deschideți un terminal nou și conectați-vă astfel:
ssh -X admin@server.example.com
Înlocuiți contul și gazda cu ale dvs. După conectare, executați:
echo "$DISPLAY"
O valoare precum [ localhost:10.0numărul afișajului] indică faptul că SSH a configurat un afișaj redirecționat. Este un exemplu, nu o valoare fixă: numărul afișajului poate diferi. Dacă rezultatul este gol, deconectați-vă și reconectați-vă la [continuare] -X. Dacă rămâne gol, verificați setările SSH pe partea clientului și configurația serverului în secțiunea următoare. Nu setați manual DISPLAYo valoare ghicită; SSH creează un afișaj proxy pentru sesiune.
Exemplu de terminal: shell-ul la distanță are o valoare DISPLAY transmisă mai departe după o conexiune SSH realizată cu -X.
Dacă utilizați PuTTY pe Windows, activați redirecționarea X11 în setările Conexiune > SSH > X11 ale sesiunii și asigurați-vă că rulează un server X local. Ghidul de implementare SUSE menționează această cerință. O gazdă la distanță nu poate afișa o fereastră dacă mașina locală nu are un server X, chiar și atunci când autentificarea SSH are succes.
2. Verificați serverul SSH SLES și autentificarea X
Pe gazda SLES, un administrator poate inspecta configurația daemonului SSH:
Politica efectivă a serverului trebuie să permită redirecționarea X11 și xauthtrebuie să fie disponibilă pentru transferul de autentificare. SUSE documentează X11Forwarding Yesca setare pe partea de server și notează că SSH setează remote-ul DISPLAYatunci când un client se conectează la -X. O simplă configurare greppoate omite setări în fișierele de configurare incluse sau Matchîn blocurile condiționale; dacă rezultatul pare să intre în conflict cu comportamentul, solicitați administratorului SSH să inspecteze configurația efectivă în loc să adauge linii duplicate.
Exemplu de terminal: verificați setarea sshd X11Forwarding și confirmați că utilitarul xauth este disponibil pe gazda SLES.
Dacă modificați sshd_config, validați fișierul înainte de a reîncărca daemonul:
sudo sshd -t
sudo systemctl reload sshd
Rulați-le doar cu autorizație de administrator. Păstrați sesiunea SSH existentă deschisă în timp ce testați una nouă, astfel încât o eroare de configurare să nu vă blocheze. Apoi deconectați-vă și reconectați-vă; setările de redirecționare sunt negociate la începerea sesiunii SSH. Evitați deschiderea portului TCP 6000 pe server sau utilizarea acestuia xhost +ca scurtătură. Redirecționarea SSH este concepută pentru a tunela traficul X și a gestiona autentificarea acestuia; accesul direct X poate expune afișajul altor mașini.
3. Aplicați soluția Qt specifică YaST
Dacă DISPLAYeste setat și se deschide o altă aplicație X redirecționată, dar YaST eșuează cu eroarea XIO de mai sus, încercați suprascrierea de mediu documentată pentru acea lansare:
QT_XCB_GL_INTEGRATION=none yast.ssh
Pentru un sistem instalat obișnuit, lansați modulul necesar în loc să presupuneți că este prezent instrumentul de instalare. De exemplu, SUSE documentează acest modul în acest format:
QT_XCB_GL_INTEGRATION=none yast2 disk
Exemplu de terminal: soluția de integrare Qt XCB documentată de SUSE pentru YaST prin SSH.
Variabila se aplică numai comenzii care o urmează; nu modifică permanent setările Qt sau politica SSH. yast.sshComanda exactă este utilizată de SUSE pentru sistemul său de instalare, în timp ce o gazdă SLES instalată pornește de obicei modulele YaST cu yast2. Dacă un alt modul eșuează, înlocuiți numele modulului său documentat cu disk. Nu tratați această setare de mediu ca o remediere pentru un câmp gol DISPLAYsau pentru un client fără un server X.
4. Folosește interfața text a YaST atunci când nu este nevoie de o fereastră
Dacă trebuie doar să finalizați administrarea și nu aveți nevoie de o fereastră grafică, utilizați interfața ncurses a YaST în terminalul SSH. Pentru modulul de disc, SUSE documentează:
yast2 disk --ncurses
De asemenea, puteți solicita explicit backend-ul ncurses pentru modul:
YUI_PREFERRED_BACKEND=ncurses yast2 disk
Exemplu de terminal: invocați modulul de disc YaST cu backend-ul ncurses atunci când o interfață grafică redirecționată nu este necesară.
Interfața text evită complet redirecționarea X11 și este adesea cea mai simplă alegere pentru un server la distanță. Este în continuare YaST și modifică în continuare configurația sistemului; examinați cu atenție modificările aduse discului, partiției, firewall-ului și rețelei înainte de a le confirma. Pentru sistemul de instalare SLES, SUSE spune că YaST oferă o interfață ncurses atunci când un server X local nu este disponibil.
Verificați remedierea
Deschideți o nouă sesiune SSH cu ssh -X, confirmați echo "$DISPLAY"că nu este gol, apoi lansați YaST folosind comanda corespunzătoare. Succesul înseamnă că fereastra YaST apare pe desktopul local sau modulul ncurses se deschide în terminal dacă ați ales acel backend. Dacă redirecționarea este corespunzătoare, dar eroarea XIO exactă persistă după suprascrierea Qt, capturați eroarea completă a terminalului și verificați notele de lansare SLES sau baza de cunoștințe de asistență SUSE pentru o problemă specifică versiunii; această procedură nu poate identifica un defect Qt sau YaST fără legătură doar din fragmentul de eroare.