Tramite SSH possiamo eseguire applicazioni che non risiedono sul nostro computer.
Non si tratta di eseguire Office365, o Document di Google. Queste sonno applicazioni SaaS concepite e nate per girare sul cloud via internet.
Trale varie capacità SSH ci permette di eseguire un programma su un computer remoto e avere le schermate sul computer da cui ci colleghiamo.
Pensiamo alla seguente situazione:
- abbiamo un computer, accessibile via internet, a Milano equipaggiato con Linux Mint e con LibreOffice (hostname: milano.example.com );
- siamo a Roma e abbiamo un computer con Linux Mint ma senza LibreOffice (hostname: roma.example.com );
- tramite una connessione SSH eseguiamo LibreOffice, che si trova a Milano, ma lo vediamo e usiamo da Roma.
Come fare
Possiamo ottenere questo risultato sfruttando la funzione forwarding di SSH:
- apriamo un terminale sul nostro computer a Roma;
- lanciamo
ssh
con l'opzione-X
ssh -X
- avvenuta la connessione lanciamo LibreOffice remoto
libreoffice
Note conclusive
- La funzione forwarding deve essere attiva nell'istanza server di SSH;
- la funzione forwarding normalmente è attiva, ma può essere disattivata nella configurazione;
- l'esecuzione remota è lenta:
- in parte dipende dalla velocità della rete;
- in buona parte dipende dal protocollo SSH con cui i pacchetti vengono scambiati più volte;
- le schermate e gli eventi vengono trasmessi non compressi;
- è possibile usare ssh con l'opzione
-C
per forzare la compressione nel trasporto in rete, ma non rende particolarmente veloce la trasmissione delle schermate; - il forwarding non viene trasportato l'audio;
- il disco esposto è quello remoto perché in realtà stiamo usando il computer remote e quello locale funziona come un monitor e una tastiera locale;
- il sistema non funziona sempre, perché i serve grafici devono essere compatibili con X:
- se il computer a Roma è Windows dobbiamo aggiungere un server X (ad esempio Xming);
- se usiamo un Mac ugualmente dobbiamo aggiungere un server X (ad esempio XQuartz);
- se usiamo una distro Linux molte volte è compatibile, altre no. Nel secondo cavo va installato X (ad esempio xserver).
Nelle recenti distribuzioni Linux la compatibili forwarding via SSH non c'è sempre perché sono nati motori X alternativi (come Wayland) che non usano lo stesso protocollo e, al momento, non c'è un consenso unico su un solo motore default.