Sería genial poder hacer un túnel x sobre ssh; ¿Por qué uno tiene que usar XQuartz (etc) en su lugar?
La respuesta simple es: Terminal es un emulador de terminal, no es un servidor X11. Existe para proporcionar un punto final de comunicación basado en texto entre su Mac y otras máquinas.
Terminal no es más un servidor X11 que gnome-terminal en Linux o cmd en Windows. Lo que quiere decir: no es un servidor X11 en absoluto. Debe estar ejecutando un servidor X11 en su máquina local para poder tener aplicaciones gráficas X11 tuneladas que dibujen sus interfaces de usuario en su Mac. Esto no es realmente diferente para Mac de algo como Linux, es solo que Linux, de forma predeterminada, siempre ejecuta un servidor X11 para dibujar su escritorio, por lo que se maneja con un poco más de gracia que en Mac. Solo tiene que abrir los permisos de su servidor X11 y el túnel ssh y el reenvío X11 en un escritorio Linux parecen funcionar.
El servidor XQuartz que ejecuta en OS X simplemente le proporciona el servidor X11 faltante que necesita en su sesión de OS X para habilitar el dibujo de los comandos de interfaz de usuario reenviados en su escritorio de OS X. Esto no es algo que una aplicación de Terminal nunca implementaría, o nunca debería implementar. No es parte de ser una Terminal. Es una cosa completamente separada.
También quiero abordar algo que dijiste en tu pregunta:
Sería genial poder hacer un túnel x sobre ssh
Supongo que quiere decir "sería genial hacer el reenvío X11 desde una sesión ssh iniciada en Terminal.app a mi servidor XQuartz en ejecución". ¡Puedes hacerlo!
Cuando use ssh en Terminal.app, simplemente incluya la -X
opción para habilitar el reenvío de X y su Mac iniciará XQuartz automáticamente. No es necesario usar la aplicación de terminal en XQuartz, lo que apesta bastante.
También puede editar ~/.ssh/config
y agregar:
ForwardX11 yes
a ese archivo para habilitar el reenvío X de forma predeterminada para todas las sesiones ssh. Incluso puede iniciar programas X en la máquina remota en segundo plano de la siguiente manera:
ssh username@remoteserver -f -X xeyes
Eso funciona desde Terminal.
matriz de dilitio
ian c
matriz de dilitio
ian c
ian c
mmmmmm