Une possibilité est évidemment d'utiliser ssh -X. Il faut bien sûr que
du coté de l'utilisateur (la personne physique devant un écran +
clavier + souris) il y ait un serveur X.
Pour info, il existe des serveurs X sous Windows et autre systèmes
propriétaires.
ssh -X est sécurisé (autant que ssh). Le protocole X11 est parfois
considéré comme gourmand (donc je ne sais pas si ton souhait de bande
passante faible est exaucé), mais ça dépend des applications. A
l'heure actuelle, je peux très confortablement utiliser ssh -X pour
toutes les applications Linux (autres que vidéos) qui tournent sur mon
PC domestique (où j'ai la fibre optique) depuis mon PC au bureau (qui
tourne aussi sous Linux) à 20 km de la maison.
Une autre possibilité est d'utiliser des applications qui comprennent
le protocole HTTP/HTTPS et qu'on utiliserait à travers un navigateur.
Il existe des libraries pour ça (par exemple libonion coté serveur, et
libcurl coté client). Et il me semble même que certaines libraries GUI
comment GTK or Qt auraient un "backend" HTTP + HTML5 + AJAX.