Manovrare X da remoto: differenze tra le versioni

rimosse parti coperte da altre guide, aggiunto warning
(guida adottata)
(rimosse parti coperte da altre guide, aggiunto warning)
Riga 1: Riga 1:
{{Guida da adottare|[[Utente:HAL 9000|HAL 9000]]}}
{{Guida da adottare|[[Utente:HAL 9000|HAL 9000]]}}
== Introduzione ==
== Introduzione ==
Questa guida nasce dalla discussione [http://forum.debianizzati.org/viewtopic.php?f=19&t=14487 Manovrare X da remoto] apparsa sul forum di Debianizzati.Org
Nelle distribuzioni GNU/Linux e POSIX l'interfaccia grafica (''GUI'') non è parte del kernel ma gestita da un programma a parte: l' ''X window system'' o semplicemente server '''X'''. In particolare [[Xorg]] è l'implementazione del server X più utilizzata attualmente.


Ogni home o client system software che si rispetti ha un 'interfaccia grafica(GUI). Microsoft la include nel suo systema, o kernel che dir si voglia. Le ditribuzioni GNU/Linux la includono nell'installazione di default. In ogni modo nelle distribuzioni GNU/Linux e POSIX la GUI non è parte del kernel ma un programma a parte l' "X window system" o semplicemente X. Precisamente X non è la GUI. ''Xdm'', ''Gdm'', ''Kdm'' sono GUI. X è una struttura che la GUI usa per i suoi scopi. Mentre la GUI gestisce bottoni, finestre, testi ecc. X gestisce applicazioni di più basso livello: input di tastiera, mouse,fonts ecc. Molte persone potrebero pensare riguardo per esempio ai termini X-server e X-client al contrario di quello che potrebbe sembrare. Un X server è una macchina nel network dove è installato un window manager e dove altre altre macchine, X-clients, ci si possono collegare e gestire finestre, scrivere testi, navigare in rete e che può leggere il tuo input. In definitiva cosa un X server "serve" sono finestre e il tuo input da mouse o tastiera.
Le richieste dagli X-client di gestire le finestre rivolte al server avvengono di solito localmente, ma nulla impedisce di gestire le finestre attraverso la rete, permettendo a utenti remoti di effettuare il login sul server grafico locale.
 
{{Warningbox | Ogni comunicazione da e verso il server X avverrebbe in chiaro, e sarebbe pertanto manipolabile e/o ascoltabile sulla rete. '''Questo rappresenta un <u>enorme rischio</u> per la sicurezza del sistema!'''
 
Se è possibile, si raccomanda caldamente invece di configurare una connessione [[SSH]] e di abilitare l'[[OpenSSH: X11 forwarding|X11 forwarding]] per avviare un'applicazione grafica o anche un'intera sessione.}}


== Configurazione ==
== Configurazione ==
Riga 93: Riga 97:
X -broadcast
X -broadcast
</pre>
</pre>
Come detto pocanzi X può essere usato attraverso la grande rete ma non senza alcune contromisure.Una di questa è di usare un tunnel ssh , affinchè funzioni và settata l'opzione X11Forwarding a yes in ''/etc/ssh/sshd_config''.


Fa partire un X-server con startx sulla macchina locale , poi in xterm collegherati alla macchina remota usando ssh con il seguente comando:
L'uso di X attraverso la rete può delle volte causare dei problemi di rendimento e performance. Il protocollo X trasmetterà tutte le righe, tutte le aree anche non necessarie, non c'è una cache nè alcun tipo di funzionalità "trasmetto solo cosa è cambiato".Significa che se un' area è stata ridisegnata tre volte il protocollo X trasmetterà tutte le volte che quell'area è stata cambiata mentre basterebbe trasmettere solo l'ultima delle tre e questo potrebbe risultare un pò dannoso su connessioni lente. Il protocollo VNC è consapevole di questo aspetto infatti il VNC server aspetta connessioni dai VNC clients e quando il client si connette VNC trasmette l'intero desktop al client. VNC è sia un vncserver che un x-server. Quando parte si mette in ascolto sulla sua porta tcp la 5900 (+ il numero di display :0.1 x 5901, :02 x 5092 ecc.) in attesa di VNC clients che si collegano. Rimane in ascolto anche sulla socket del display proprio come un X-server ma, invece di trasmettere la richiesta su un monitor, la tiene in memoria per trasmetterla al client. Per configurare VNC c'è bisogno della presenza di un vncserver da essere lanciato manualmente. Per prima cosa bisogna impostare una vncpasswd che poi verrà usata per il login. Ci si collega con ssh senza l'opzione ''-X'':
<pre>
ssh -X -C user@remotebox
</pre>
Dove "user" è il tuo user code. Dopo esserti collegato puoi lanciare programmi X-client e questi li vedrai sulla tua macchina locale. Quando ssh si collega a un sshd usando l'opzione -X, l'sshd prepara un "virtual" X-server su di un display col numero più alto disponibile (di solito il 10)
e dopo crea il suo authentication cookie per la sessione.   
 
Quando un X-client sulla stessa macchina del sshd server si connette al display 10, lo pseudo sshd X-server convalida l'X-client usando il suo cookie, cripta la connessione e trasmette la richiesta all' ssh client sulla tua macchina. L'ssh client poi autentica la richiesta al vero X-server usando il cookie vero e visualizza le richieste dell'X-server. L'opzione "-C" comprime la comunicazione rendendola piu fluida e la decomprime una volta a termine dall'altro lato.
L'uso di X attraverso ssh può delle volte causare dei problemi di rendimento e performance. Il protocollo X trasmetterà tutte le righe, tutte le aree anche non necessarie, non c'è una cache nè alcun tipo di funzionalità "trasmetto solo cosa è cambiato".Significa che se un' area è stata ridisegnata tre volte il protocollo X trasmetterà tutte le volte che quell'area è stata cambiata mentre basterebbe trasmettere solo l'ultima delle tre e questo potrebbe risultare un pò dannoso su connessioni lente. Il protocollo VNC è consapevole di questo aspetto infatti il VNC server aspetta connessioni dai VNC clients e quando il client si connette VNC trasmette l'intero desktop al client. VNC è sia un vncserver che un x-server. Quando parte si mette in ascolto sulla sua porta tcp la 5900 (+ il numero di display :0.1 x 5901, :02 x 5092 ecc.) in attesa di VNC clients che si collegano. Rimane in ascolto anche sulla socket del display proprio come un X-server ma, invece di trasmettere la richiesta su un monitor, la tiene in memoria per trasmetterla al client. Per configurare VNC c'è bisogno della presenza di un vncserver da essere lanciato manualmente. Per prima cosa bisogna impostare una vncpasswd che poi verrà usata per il login. Ci si collega con ssh senza l'opzione ''-X'':
<pre>
<pre>
ssh username@hostremoto  
ssh username@hostremoto  
Riga 125: Riga 119:
   
   
''C'è una crescente sensibilità verso il reimpiego dell'hardware obsoleto, del suo riutilizzo con finalità sociali, accademiche ma anche di business - si legge in una nota - Immaginiamo una scuola (ma potrebbe essere una qualsiasi organizzazione statale o privata) che abbia un parco computer obsoleto. Con Lazarus-NX queste macchine possono essere riutilizzate su piattaforma Open Source, svincolando l'organizzazione anche dalle spese di licenza tipiche del software proprietario.''
''C'è una crescente sensibilità verso il reimpiego dell'hardware obsoleto, del suo riutilizzo con finalità sociali, accademiche ma anche di business - si legge in una nota - Immaginiamo una scuola (ma potrebbe essere una qualsiasi organizzazione statale o privata) che abbia un parco computer obsoleto. Con Lazarus-NX queste macchine possono essere riutilizzate su piattaforma Open Source, svincolando l'organizzazione anche dalle spese di licenza tipiche del software proprietario.''


== Link ==
== Link ==
* [http://www.freesoftwaremagazine.com/articles/what_is_x/ What is X?]: ineretessante articolo che parte dalle basi del funzionamento fino agli utilizzi più avanzati del server X in remoto.
* [http://www.freesoftwaremagazine.com/articles/what_is_x/ What is X?]: ineretessante articolo che parte dalle basi del funzionamento fino agli utilizzi più avanzati del server X in remoto.
* [http://www.tldp.org/HOWTO/XDMCP-HOWTO Linux XDMCP HOWTO]
* [http://www.tldp.org/HOWTO/XDMCP-HOWTO Linux XDMCP HOWTO]
----
Scopo di questo scritto è di fornire una guida generale sul mondo dei desktop remoti e il loro uso mediante software opensource
Per insulti o gemiti di piacere questa è la mia mail : gabrix@gabrix.ath.cx
Grazie e ciao !


[[Categoria:Xorg]]
[[Categoria:Xorg]]
3 581

contributi