Um Zugriff auf die X-Client-Anwendungen wie system-config-date, xclock, vncviewer zu erhalten, müssen wir die DISPLAY-Einstellungen eines Remote-Hosts auf den lokalen Server exportieren. Dies geschieht üblicherweise mit den folgenden Befehlen.
# ssh root@remotehost remotehost# export DISPLAY=x.x.x.x:y.y
Wobei x.x.x.x:y.y – die Anzeigeeinstellungen des Systems sind, von dem aus Sie sich mit dem Remote-Host verbunden haben.
Sie können auch die Option -X mit ssh verwenden, um das DISPLAY direkt auf den Remote-Host zu exportieren.
# ssh -X root@remotehost
Aber wenn Sie jetzt versuchen, zu einem anderen Benutzer auf dem Remote-System zu wechseln und die Anzeige erneut zu exportieren, erhalten Sie einen Fehler – „Fehler:Anzeige kann nicht geöffnet werden:“.
# ssh -X root@remotehost # su - [username] # export DISPLAY=x.x.x.x:y.y # xclock Error: Can't open display: x.x.x.x:y.y
X11-Weiterleitung für sudo-Benutzer
Es reicht nicht aus, nur das DISPLAY einzustellen. Die X-Authentifizierung basiert auf Cookies, daher ist es notwendig, das Cookie zu setzen, das von dem Benutzer verwendet wird, der die Verbindung initiiert hat. Das folgende Verfahren ermöglicht es einem sudo-Benutzer, den ssh-basierten X11-Tunnel zu verwenden:
1. Verbinden Sie den Remote-Host über die Option -X mit ssh.
# ssh -X root@remote-host
2. Listen Sie nun das Cookies-Set für den aktuellen Benutzer auf.
# xauth list $DISPLAY node01.thegeekdiary.com/unix:10 MIT-MAGIC-COOKIE-1 dacbc5765ec54a1d7115a172147866aa # echo $DSIPLAY localhost:10.0
3. Wechseln Sie mit sudo zu einem anderen Benutzerkonto. Fügen Sie das Cookie aus der obigen Befehlsausgabe dem sudo-Benutzer hinzu.
# sudo su - [user] # xauth add node01.thegeekdiary.com/unix:10 MIT-MAGIC-COOKIE-1 dacbc5765ec54a1d7115a172147866aa
4. Exportieren Sie die Anzeige aus Schritt 2 erneut für den sudo-Benutzer. Probieren Sie den Befehl xclock aus, um zu überprüfen, ob die x-Client-Anwendungen wie erwartet funktionieren.
# export DISPLAY=localhost:10.0 # xclock