SSH: eseguire applicazioni grafiche remote: copertina

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 Questo indirizzo email è protetto dagli spambots. È necessario abilitare JavaScript per vederlo.

- 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.