Il server X11

Curiosamente, anche l'interfaccia grafica su Linux è nata con un'architettura client/server. Su ogni macchina gira un server, chiamato X11, che accetta delle connessioni (tipicamente locali), e interpreta delle istruzioni per disegnare sullo schermo.

Questo ha anche delle conseguenze interessanti: è possibile collegarsi da un PC ad un altro, ed inoltrare queste richieste attraverso la rete, visualizzando a casa la finestra di un software avviato su una delle lab. Il software SSH gestisce questo inoltro in modo automatico se si utilizza il flag -X per collegarsi.

Per completare questo esercizio è necessario collegarsi da una macchina che sia dotata di un server X11. Linux lo incorpora normalmente, su MAC OS X è possibile installare XQuartz, e su Windows Cygwin/X (anche se ci vuole un po' di lavoro...). Ci si colleghi ad una delle lab usando il comando
$ ssh -X utente@lab1.cs.dm.unipi.it
Si lanci l'applicazioe xeyes. Se funziona, si provi con qualcosa di più avanzato, ad esempio gedit. Si noti che l'applicazione è effettivamente eseguita sulle macchine remote. Ad esempio, sarà possibile editare i file di testo creati nelle scorse lezioni.

In alcuni casi, può essere utile provare l'opzione -Y invece che -X. Sebbene l'effetto finale sia lo stesso, utilizza un meccanismo un po' diverso, ed è talvolta più compatibile (ad esempio con Cygwin).