[ImoLUG] ssh -X e su -

Fabio Fabbri fabio@llgp.org
Gio 12 Mar 2009 14:28:18 CET


>  >   da root -> export DISPLAY=:0
>  >   da utente normale -> xhost +localhost   #per accettare la connessione a
>  >   X dall'utente root
> 
> 
> ottengo un tristissimo "Error: Can't open display: :0"

Quella procedura va bene per abilitare l'accesso a X in esecuzione sulla 
macchina locale per tutti gli utenti in locale.

Per ssh non so se può funzionare, ma certamente in quel modo non 
funzionerà. Intanto bisogna lanciare "xhost +localhost" prima di su.

Poi :0 di solito rappresenta il primo server X in esecuzione sul 
computer locale, mentre per ssh di solito si usa localhost:10.0, ma nel 
tuo caso, dai post precedenti, mi sembra che sia localhost:11.0. Credo 
che possa cambiare a seconda di quanti sono connessi via ssh, forse è 
meglio controllare prima.

Quindi, la sequenza dei comandi dovrebbe essere:

echo $DISPLAY
xhost +localhost
su
export DISPLAY=lo stesso valore

Anche se non sono sicuro che questo funzioni anche via ssh. Prova e 
fammi sapere.


In alternativa puoi lanciare "xhost +ip_computer_remoto" sul computer 
locale, e "export DISPLAY=ip_computer_locale:0.0" via ssh.

In questo modo i programmi grafici lanciati via ssh si collegano 
direttamente a X in locale, senza far passare la connessione dal "tunnel 
ssh".

Da una parte è più leggero perché la connessione non viene criptata, ma 
dall'altra è meno sicuro perché il protocollo di X non è sicuro, inoltre 
apri il tuo server X al computer remoto, e in questo modo qualcun altro 
potrebbe aprire finestre sul tuo desktop da quel pc. Inoltre non è detto 
che funzioni, perché anche il computer remoto deve avere la possibilità 
di collegarsi al pc locale.


Saluti
Fabio Fabbri




Maggiori informazioni sulla lista ImoLUG