XWindow è un sistema client server in cui il server si occupa della visualizzazione del display e il client è il singolo programma eseguito.
Normalmente client e server coesistono sulla stessa macchina e all'utente questa natura non appare in tutte le sue potenzialità.
E' possibile infatti eseguire programmi su macchine remote e visualizzarli sulla propria macchina.
Per farlo, in modo rapido, si possono seguire 2 vie:
Sistema normale
Consideriamo un sistema in cui la nostra macchina ha IP 10.0.0.90 e vogliamo visualizzare sul nostro schermo comandi sulla macchina 10.0.0.20.
Per farlo sulla macchina locale va impostato (con non pochi potenziali problemi di sicurezza), solitamente come root, su alcuni sistemi anche come utente normale:
xhost +
Apre a tutti gli IP la possibilità di collegarsi all'X server locale o
xhost + inet:10.0.0.90
Limita l'accesso solo all'IP 10.0.0.90
Mentre sulla macchina remota, basta collegarsi in telnet e impostare come Xserver il proprio IP:
export DISPLAY=10.0.0.20:0
A questo punto qualsiasi programma che richiede l'ambiente grafico lanciato dalla shell aperta in remoto viene visualizzato sullo schermo del PC locale.
Sistema criptato tramite SSH
Se è abilitata l'opzione X11forwarding sia sul client che sul server SSH, si possono lanciare programmi remoti e visualizzarli sul Xserver locale in modo molto più semplice e sicuro.
Per farlo basta collegarsi via SSH con l'opzione -X. Per esempio:
ssh -X 10.0.0.20
A questo punto qualsiasi programma grafico lanciato sulla macchina remota viene visualizzato automaticamente sul proprio schermo, senza bisogno di ulteriori configurazioni.
Se c'e' un firewall fra client X remoto e server X locale, ricordarsi di aprire la porta 6000 TCP, utilizzata dall'X Window System
Introduzione all'uso e alla comprensione delle interfacce grafiche a finestre di Linux