web-dev-qa-db-fra.com

Accélérer les sessions X à distance

J'ai une machine distante exécutant Ubuntu 11.10 serveur, à laquelle je connecte via SSH de OS X 10.7.3:

 Hoster distance.example.com 
 Forweex11 Oui 
 Forweex11Trusté Oui [.____]

Parfois, je veux lancer une application d'interface graphique là-bas (plus particulièrement, gitk). Mais l'interface utilisateur est plutôt lente. La machine distante et mon propre Mac ont une bonne connexion Internet. Ping entre eux est d'environ 55 ms, et il n'y a pas de perte de paquets. Y a-t-il quelque chose que je peux faire pour accélérer les choses?

La mise en place d'une autre solution de bureau à distance est une option, mais j'aimerais éviter cela car je n'ai pas besoin de cette application très souvent.

16
Alexander Gladysh

L'article meilleures options SSH pour le transfert X11 recommande d'utiliser au lieu du chiffre d'AES par défaut, les chiffres d'arcfour et de poisson-poisson qui effectuent beaucoup mieux.

Par conséquent, il faut utiliser:

ssh -c arcfour,blowfish-cbc -XC Host.com

notes techniques de SEB (si le site est en panne, il y a une version archivée ) recommande plutôt:

ssh -Y -C -o CompressionLevel=9 -c arcfour,blowfish-cbc user@hostname

Cela pourrait aider à améliorer encore plus les gains de vitesse que vous avez déjà observés avec la compression.

15
harrymc

Vous avez mentionné que vous ne souhaitez pas configurer une autre solution de bureau à distance, mais vous vous souciez de la performance. X11 n'est pas un protocole très efficace, vous ne pourrez donc vous attendre que des améliorations mineures à moins que vous n'utilisiez un protocole plus moderne.

NX (Nomachine) est probablement votre meilleur choix. Il utilise toujours SSH. Cela ne devrait donc pas être trop d'effort supplémentaire que d'autres protocoles de bureau pouvant nécessiter des modifications aux paramètres de pare-feu, etc. Il existe des packages NX pour Fedora, donc je présume qu'ils sont également disponibles pour Ubuntu.

Si vous vous souciez de la performance suffisante pour prendre le temps de poser la question, vous, espérons-le, vous pouvez passer quelques minutes de plus pour apprendre NX.

Edit: Pour clarifier pourquoi x11 sur SSH ne sera jamais rapide: le protocole X traite avec des dessins de bas niveau comme des lignes et des cercles, et avec des événements de bas niveau tels que "la souris déplacée 3 pixels à gauche". Toches à outils graphiques modernes telles que GTK et QT ne tirent pas de lignes, ils dessinent des images. Lorsque X11 passe sur ssh, il doit constamment envoyer des données d'image et des événements de souris de bas niveau. Un protocole de haut niveau tel que NX, VNC ou Demand Desktop peut réduire la bande passante et la latence en étant conscient de la manière dont les boîtes à outils fonctionnent. Par exemple, ils peuvent éviter la nécessité d'envoyer des événements de la souris, ils peuvent éviter des milliers de redessins lorsque Windows est déplacé, et ils peuvent cacher des zones de l'écran comme des menus. Si la performance est même une préoccupation mineure, RAW X11 est toujours le mauvais choix. Heureusement, il existe une multitude d'alternatives rapides faciles à configurer et à utiliser.

6
amcnabb