Acelerar sesiones X remotas

16

Tengo una máquina remota que ejecuta Ubuntu 11.10 Server, a la que me conecto a través de SSH desde OS X 10.7.3:

Host remote.example.com
 Reenviar X11 sí
 AdelanteX11 Confiado sí

A veces quiero iniciar una aplicación GUI allí (más notablemente gitk). Pero la interfaz de usuario es bastante lenta. Tanto la máquina remota como mi Mac tienen una buena conexión a Internet. Hacer ping entre ellos es de aproximadamente 55 ms, y no hay pérdida de paquetes. ¿Hay algo que pueda hacer para acelerar las cosas?

Configurar otra solución de escritorio remoto es una opción, pero me gustaría evitarlo ya que no necesito esta aplicación con mucha frecuencia.

Alexander Gladysh
fuente
¿Intentaste habilitar la compresión al invocar la aplicación?
Journeyman Geek
1
Gracias. Como puede ver en mi .ssh/configcita, no, no lo hice. He agregado Compression yesy CompressionLevel 9a la configuración del host. Parece un poco más rápido ahora, pero aún no es suficiente para un uso cómodo. ¿Algo más que pueda hacer?
Alexander Gladysh
@AlexanderGladysh ¿Cuál es su velocidad aguas arriba ?
EKW
scpdice 1.2 MB / s al cargar o descargar a esa máquina remota, que es más o menos el número que anuncia mi ISP.
Alexander Gladysh
1
Si es posible, usar sshfs o algún otro sistema de archivos de red y ejecutar su aplicación localmente podría ser más rápido (a menos que su repositorio de git sea realmente masivo).
Eroen

Respuestas:

15

El artículo Las mejores opciones de SSH para el reenvío X11 recomienda utilizar en lugar del cifrado AES predeterminado, los cifrados de arco y de pez globo que funcionan mucho mejor.

Por lo tanto, uno debe usar:

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

Las notas técnicas de Seb (si el sitio está inactivo hay una versión archivada ) recomiendan más bien:

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

Esto podría ayudar a mejorar un poco más las ganancias de velocidad que ya observó con la compresión.

harrymc
fuente
1
AES, arcfour y blowflish no son compresión; Son criptografía. Tenga en cuenta que al cambiar de AES, reduce la seguridad de la conexión; así que esto podría no ser factible en algunas ocasiones. Sin -Cembargo, la opción es clave aquí, porque eso es compresión. Tenga cuidado con la configuración del nivel de compresión, asegúrese de medirlo, ya que podría tener un gran impacto en la CPU ...
Tamara Wijsman
Además, algunas CPU tienen aceleración de hardware para el cifrado AES.
robar
6

Mencionó que no desea configurar alguna otra solución de escritorio remoto, pero le importa el rendimiento. X11 no es un protocolo muy eficiente, por lo que solo podrá esperar mejoras menores a menos que use un protocolo más moderno.

NX (NoMachine) es probablemente su mejor opción. Todavía usa ssh, por lo que no debería ser un esfuerzo adicional en comparación con otros protocolos de escritorio que pueden requerir cambios en la configuración del firewall, etc. Hay paquetes NX para Fedora, por lo que supongo que también están disponibles para Ubuntu.

Si le importa lo suficiente el rendimiento como para tomarse el tiempo de hacer la pregunta, esperemos que pueda dedicar unos minutos más para aprender NX.

EDITAR: Para aclarar por qué X11 sobre ssh nunca será rápido: el protocolo X trata con dibujos de bajo nivel como líneas y círculos, y con eventos de bajo nivel como "el mouse se movió 3 píxeles a la izquierda". Los kits de herramientas GUI modernos como GTK y Qt no dibujan líneas, dibujan imágenes. Cuando X11 pasa por SSH, debe enviar constantemente datos de imágenes y eventos de mouse de bajo nivel. Un protocolo de alto nivel como NX, VNC o Escritorio remoto puede reducir el ancho de banda y la latencia al conocer cómo funcionan los kits de herramientas. Por ejemplo, pueden evitar la necesidad de enviar eventos del mouse, pueden evitar miles de redibujos cuando se mueven las ventanas y pueden almacenar en caché áreas de la pantalla como menús. Si el rendimiento es una preocupación menor, X11 sin procesar es siempre la elección incorrecta. Afortunadamente, hay una multitud de alternativas rápidas que son fáciles de configurar y usar.

amcnabb
fuente
No es que no quiera usar el escritorio remoto, pero primero me gustaría intentar optimizar mi conexión X11 :-) Gracias, miraré a NX.
Alexander Gladysh