Crea sito

Ubuntu – abilitare connessioni X11 ed export del display

Su Ubuntu, o Linux in generale, "l'aspetto grafico" a basso livello viene gestito dall'infrastruttura X11. Quella che sembra una normale interfaccia grafica è in realtà un sistema di rete client-server, dove le applicazioni fanno la parte dei client e il sistema X11 la parte del server.
Si tratta di una struttura piuttosto complessa che, rispetto ad una semplice interfaccia grafica, comporta vantaggi e svantaggi.

Gli svantaggi sono essenzialmente due:

  • sicurezza. Trattandosi di un sistema di rete, è in parte accessibile anche dal di fuori, e ci dobbiamo quindi preoccupare di proteggerci da attacchi esterni.
  • performace. Dovendo la finestra colloquiare con il server tramite TCP/IP, l'intero sistema non potrà mai essere veloce quanto una vera interfaccia grafica nativa.

Il vantaggio è essenzialmente uno:

  • remotizzazione della grafica. Quello che su altri sistemi operativi si può ottenere con soluzioni più o meno "accroccate", su Linux, e Unix in generale è nativo. Il sistema nasce per remotizzare in maniera molto semplice la singola applicazione o l'intero desktop.

Nella situazione di un solo sistema non si riescono ad apprezzare i vantaggi della soluzione, ma quando incominciano ad esserci più computer collegati tra di loro in rete, ci si rende conto di quanto il sistema sia versatile.

Nel caso si disponga di più computer, e si voglia fare una prova, è necessario modificare alcuni file di configurazione. Come dicevo prima, uno degli svantaggi è la sicurezza, quindi per proteggersi al meglio tutti gli Unix moderni hanno disabilitata la possibilità di connessione X da remoto.

Per abilitare l'abilitazione alla connessione X sul proprio sistema Ubuntu è necessario modificare il file /etc/gdm/gdm.schemas

Editiamolo cercando la key security/DisallowTCP

e cambiamo la voce <default>true</default> in <default>false</default>

A questo punto riavviaiamo il server gdm con /etc/init.d/gdm/restart

Attenzione. Il riavvio di gdm chiuderà il desktop. Assicurarsi prima di aver chiuso tutte le applicazioni e salvati i file.

Una volta effettuato il login, possiamo connetterci al sistema remoto. ed esportare sul nostro schermo il display dell'applicazione. Abilitiamo quindi la connessione da qualsiasi indirizzo con

xhost +

(il comando rimarrà valido solo per la sessione) e colleghiamoci al sistema remoto, ed esportiamo il display verso il nostro schermo:

ssh altrosistema
DISPLAY=mio-indirizzo-ip:0
export DISPLAY

e lanciamo la più classica delle applicazioni:

xclock

Se abbiamo fatto tutto correttamente, vedremo l'orologio apparire sul nostro schermo, con l'unica differenza, rispetto al solito, che il programma in esecuzione non gira sulla nostra macchina, ma sul sistema su cui ci siamo collegati.

Così, per remotizzare xclock, magari dal computer di fianco sembra avere poco senso, ma provate a pensare alla seguente situazione. Su un sistema abbiamo bisogno di effettuare delle operazioni complesse, che comporterebbero molto lavoro da linea di comando, ma che risultano molto semplici da GUI, come ad esempio la gestione di utenti o di dischi. Se il sistema è vicino, posso lavorare direttamente su questo, ma se siamo distanti, ad esempio io sono a Roma e il computer a Torino, ecco che la possibilità di remotizzare un display assume un altro significato.

Filed Under: linuxubuntu

Tags:

About the Author: Marzio

RSSComments (0)

Trackback URL

Leave a Reply




If you want a picture to show with your comment, go get a Gravatar.