Per ottenere l'accesso alle applicazioni client X come system-config-date, xclock, vncviewer è necessario esportare le impostazioni DISPLAY di un host remoto sul server locale. Questo è comunemente fatto usando i comandi seguenti.
# ssh root@remotehost remotehost# export DISPLAY=x.x.x.x:y.y
Dove x.x.x.x:y.y – sono le impostazioni di visualizzazione del sistema da cui ti sei connesso all'host remoto.
Puoi anche usare l'opzione -X con ssh per esportare direttamente il DISPLAY sull'host remoto.
# ssh -X root@remotehost
Ma ora se provi a passare a un altro utente sul sistema remoto ed esportare nuovamente il display, otterresti un errore:"Errore:impossibile aprire il display:".
# 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
Inoltro X11 per utenti sudo
Non basta impostare il DISPLAY. L'autenticazione X si basa sui cookie, quindi è necessario impostare il cookie utilizzato dall'utente che ha avviato la connessione. La procedura seguente consente a un utente sudo di utilizzare il tunnel X11 basato su ssh:
1. Connetti l'host remoto usando l'opzione -X con ssh.
# ssh -X root@remote-host
2. Ora elenca i cookie impostati per l'utente corrente.
# xauth list $DISPLAY node01.thegeekdiary.com/unix:10 MIT-MAGIC-COOKIE-1 dacbc5765ec54a1d7115a172147866aa # echo $DSIPLAY localhost:10.0
3. Passa a un altro account utente utilizzando sudo. Aggiungi il cookie dall'output del comando sopra all'utente sudo.
# sudo su - [user] # xauth add node01.thegeekdiary.com/unix:10 MIT-MAGIC-COOKIE-1 dacbc5765ec54a1d7115a172147866aa
4. Esportare nuovamente il display dal passaggio 2 per l'utente sudo. Prova il comando xclock per verificare se le applicazioni client x funzionano come previsto.
# export DISPLAY=localhost:10.0 # xclock