GNU/Linux >> Linux Esercitazione >  >> Linux

Impossibile avviare le applicazioni X11 dopo "su" o "su -" per un altro utente

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


Linux
  1. Come passare (su) a un altro account utente senza password

  2. Come posso eseguire una serie di comandi in una subshell bash come un altro utente usando sudo?

  3. systemd:SIGTERM subito dopo l'avvio

  4. Come posso avviare automaticamente più sessioni su schermo?

  5. Impossibile sbloccare l'account utente Linux

Come posso creare un utente senza accesso?

Come posso cambiare tutti i file appartenenti a un utente a un altro utente?

Come posso eseguire un comando dopo l'avvio?

Come usare ssh come un altro utente

Come posso impedire a un utente di copiare i file su un altro disco rigido?

Come posso consentire a un utente di fare su a un altro senza consentire l'accesso root?