5 votos

¿Por qué la terminal no soporta el protocolo x11?

Sería genial poder hacer un túnel x sobre ssh; ¿por qué hay que usar XQuartz (etc.) en su lugar?

5voto

shsteimer Puntos 8749

La respuesta simple es: La terminal es un emulador de terminales no es un servidor X11. Existe para proporcionar un punto final de comunicación basado en texto entre tu Mac y otras máquinas.

La terminal no es más una X11 que gnome-terminal en Linux o cmd en Windows. Lo que significa que no es un servidor X11 en absoluto. Necesitas estar ejecutando un servidor X11 en tu máquina local para poder hacer que las aplicaciones X11 tuneadas y gráficas dibujen sus interfaces de usuario en tu Mac. En realidad, esto no es diferente para Mac de algo como Linux, es sólo que Linux, por defecto, siempre está ejecutando un servidor X11 para dibujar tu escritorio, por lo que se maneja un poco más elegantemente que en el Mac. Sólo tienes que abrir los permisos de tu servidor X11 y los túneles ssh y el reenvío de X11 en un escritorio Linux parecen funcionar.

El El servidor de XQuartz que ejecutas en OS X simplemente te consigue el servidor X11 faltante que necesitas en tu sesión de OS X para habilitar el dibujo de los comandos de UI reenviados en tu escritorio de OS X. Esto no es algo que una aplicación de Terminal nunca haría, o nunca debería realmente, implementar. No es parte de ser una Terminal. Es una cosa totalmente separada.

También quiero abordar algo que dijo en su pregunta:

Sería genial poder hacer un túnel X sobre Ssh.

Asumo que quieres decir "sería genial hacer un reenvío X11 desde una sesión ssh iniciada en Terminal.app a mi servidor XQuartz en funcionamiento". ¡Puedes hacerlo!

Cuando uses ssh en Terminal.app simplemente incluye el -X para habilitar el reenvío de X y tu Mac iniciará XQuartz automáticamente. No hay necesidad de usar la aplicación de terminal en XQuartz, lo cual es una mierda.

También puedes editar ~/.ssh/config y añadir:

ForwardX11 yes

a ese archivo para habilitar el reenvío X por defecto para todas las sesiones ssh. Incluso puedes lanzar programas X en la máquina remota en segundo plano de esta manera:

ssh username@remoteserver -f -X xeyes

Eso funciona desde la Terminal.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X