Newsgroup: it.comp.os.linux.sys
Titolo: ssh e applicazioni X

Sono collegato via ssh ad una macchina remota e vorrei lanciare
un'applicazione grafica
L'applicazione deve girare sulla macchina remota, ma visualizzare la
grafica sulla macchina locale su cui sto lavorando
Come si fa ?
Ciao

 Come si fa ?
Devi esportare un po' di variabili, smanettare un po' di cose...
Il metodo piů rapido (ma poco sicuro) č
xhost +
ssh -x utente@hostremoto
per maggior sicurezza guardati le opzioni di xhost
-- 
Lorenzo `paulatz' Paulatto
Trieste
``Se Gauss fosse vivo oggi, sarebbe un hacker.''
      --Peter Sarnack (Princeton University)

 ssh -x utente@hostremoto
Attenzione:
ssh -X -C utente@hostremoto
(la X grande per abilitare X11, la C grande per comprimere i dati, giusto
per aumentare la resa)
Inoltre, non so se č un problema di config del computer remoto o di quello
locale (o di ssh) ma una volta connesso io devo dare sempre il comando
export DISPLAY=indirizzo_IP_Locale:0
Alex.
-- 
___________________________________________________________
a p bertolini
(Tribů Digitale Blackmambo: 
www.blackmambo.it
)

 export DISPLAY=indirizzo_IP_Locale:0
Non dovrebbe essere necessario.  Se io mi connetto via ssh su una
macchina remota, a DISPLAY dovrebbe essere assegnato un valore valido.
MLO@mlinux 1 $ ssh ux
Last login: Wed Apr 27 20:28:43 from adsl-ull-220-135
Digital UNIX V4.0F  (Rev. 1229); Tue Oct 19 15:46:55 MET DST 1999
......
MLO@ospd00 1 $ echo $DISPLAY
ospd00.pd.infn.it:16.0
MLO@ospd00 2 $
In ogni modo io ho il seguente accrocco nel .bash_profile di (quasi)
tutti i miei accounts; funziona benino.
# Cerca di capire che valore assegnare ragionevolmente a DISPLAY
if [ -n "$DISPLAY" ]
then
  # Se DISPLAY e' settato a qualcosa, si assume che sia qualcosa di
  # valido; REMOTE e' il nome dell'host senza il numero del display e
  # quello dello screen
  REMOTE="${DISPLAY%%:*}"
else
  temp0=$(who am i | awk '{print $2}')
 
  if [ -z "$temp0" -o "$temp0" = "console" ]
  then
    REMOTE="localhost"
    DISPLAY=":0.0"
  else
    # Nota lo spazio dopo $temp0
    temp1=$(who --lookup | grep "$temp0 " | uniq | awk '{print $6}')
    if [ -n "$temp1" ]
    then
      temp2=$(echo $temp1 | sed -e 's/(//' -e 's/)//')
      temp3=$(echo $temp2 | cut -d. -f2)
      if [ "$temp3" = "pd" ]
      then
        # Siamo nella LAN.  Basta il nome del nodo.
        REMOTE=$(echo $temp2 | cut -d. -f1)
      else
        REMOTE="${temp2%%:*}"
      fi
      DISPLAY="${REMOTE}:0.0"
      unset temp2 temp3
    else
      REMOTE=""
      DISPLAY=":0.0"
    fi
    unset temp1
  fi
  unset temp0
fi
export REMOTE DISPLAY
-- 
Maurizio Loreti                         
http://www.pd.infn.it/~loreti/mlo.html
Dept. of Physics, Univ. of Padova, Italy              ROT13: 
ybe...@cq.vasa.vg

 export DISPLAY=indirizzo_IP_Locale:0
Hai mai provato ssh -Y nomehost ?
Io uso slackware current e già dalla versione 10.0 ssh a me funziona solo
con -Y (credo di aver capito che -X è per i trusted host e -Y per gli
untrusted, anche se non ho indagato a fondo).
Ciao,
Davide

 macchina remota, a DISPLAY dovrebbe essere assegnato un valore valido.
A parte l'accrocchio, le voci interessanti sono nel file di
configurazione del server e del client. Per il server deve esserci:
X11Forwarding yes
nel client, a meno che tu non voglia usare sempre -X, deve esserci:
ForwardX11 yes
io con queste configurazioni non ho _mai_ impostato nessuna variabile
ne' dato nessun xhost
.a.
-- 
Il mattino ha l'oro in bocca. Il MATTino ha l'OrO In bOcca.
i lma tt ino ha l'o roin bocc a.ilmattinohal'oroinbocca. il ma tt in
oh al' or oi nb oc ca. il matti noha l'oroinbocca. IL MATtiNO Ha l'ORO
InBOCCa. I l m a t t i n o  h a l' o r o i n b o c c a . ilmattinohal'oroin
BoCcA. iLmAtTiNoHaL'oRoInBoCcA.

 tutti i miei accounts; funziona benino.
Cool, grazie!
Poi proverň con i files di config, ma per ora funziona!


 
intervengo per porre una questione:
su tre debian woody aggiornati, con le stesse configurazioni, ho due comportamenti diversi:
su uno va perfettamente X via ssh, sugli altri due no. i tre server sono sulla stessa rete, il client è sempre lo stesso, dietro un firewall e nat di fastweb.
idee?
QUESTO va:
cits@conan:~$ ssh -X 
mas...@a3.xxx.com
Linux a3 2.4.18-bf2.4 #1 Mon Apr 12 11:37:50 UTC 2004 i686 unknown
Last login: Thu Apr 28 11:01:01 2005 from 
ip0.xxx.it
massimo@a3:~$ echo $DISPLAY
localhost:10.0
questi no
cits@conan:~$ ssh -X 
mas...@a2.xxx.com
Linux a2 2.4.18-bf2.4 #1 Mon Apr 12 11:37:50 UTC 2004 i686 unknown
Last login: Thu Apr 28 10:57:58 2005 from 
ip0.xxx.it
massimo@a2:~$ echo $DISPLAY
(vuoto)
ciao
massimo

 per aumentare la resa)
Hai ragione, ricordavo male. In effetti la x minuscola fa proprio l'opposto.


 idee?
devi avere sul server
/etc/ssh/sshd_config
X11Forwarding yes
devi poi avere installato il pacchetto con le librerie X,
mi sembra sia
xbase-clients
ciao
-- 
Ranger!
ranger chiocciol@ 
racine.ra.it

 X11Forwarding yes
Occhio a non collegarsi a macchine non fidate con il forwarding attivato,
potrebbe essere usato per sniffare il tuo input.
Consiglio di attivarlo con -X o -Y solo quando serve.
Ciao,
-- 
Daniele Orlandi

 
era proprio questo! grazie!

 per aumentare la resa)
Attenzione alla -C: "man ssh" dice
-C    Requests compression ... [snip] ...  Compression is desirable
      on modem lines and other slow connections, but will only slow
      down things on fast networks.


       down things on fast networks.
Mmmm... bisognerebbe vedere cosa sia una "fast network".
Cosě a naso direi che visto che la compressione costa CPU, al variare della
banda si arriva ad un punto dove il costo della CPU supera il risparmio in
tempo di trasmissione. Io sto usando una ADSL consumer con un server PIII
quindi immagino la bilancia penda a favore della compressione.
Giusto per mettermi il cuore in pace ho appena fatto un test "spastico". Ho
aperto due sessioni SSH verso uno stesso server remoto, una compressa e
l'altra no,  ed ho lanciato xeyes... di modo da avere due coppie di occhi
sul desktop che seguono il puntatore del mouse (un esame molto ROTFL!).
Orbene, dal mio punto di vista non cambia nulla, le "pupille" hanno una
frequenza di aggiornamento pressoché identica.
Si attendono i dati ufficiali del CERN :-D


 alla macchina e' un altro paio di maniche.
Forse non hai capito la natura del problema. Se fai X11 forwarding su una
macchina non fidata, chi ne ha il controllo può sniffare i keystrokes che
tu digiti sulla TUA macchina e NON nella sessione ssh.
Ciao,
-- 
Daniele Orlandi

 server PIII quindi immagino la bilancia penda a favore della compressione.
Io posso solo dire che semplicemente lanciare Emacs sulla mia adsl e` un
dolore. Adesso provero` a vedere cosa dice con la compressione (di
processore ne ho in abbondanza, da una parte ho un quadriprocessore, di qua
un G4 a 867 MHz).
-- 
-enrico