X reenvío sobre SSH desde Mac a una caja de Linux


9

Necesito ejecutar aplicaciones Mac en una máquina Mac remota y mostrarla en el servidor X de una máquina Linux local (muchos artículos en Internet parecen detallar cómo lo haría de la manera opuesta).

$ ssh -X mac-box
$ cd /Developer/Applications/Xcode.app
$ ./Contents/MacOS/Xcode
Sat Oct  3 20:41:26 mac-box.local Xcode[15634] <Error>: kCGErrorFailure: Set a breakpoint @ CGErrorBreakpoint() to catch errors as they are logged.
_RegisterApplication(), FAILED TO establish the default connection to the WindowServer, _CGSDefaultConnection() is NULL.
^C
  1. Mi $DISPLAYvariable parece estar vacía. ¿Cómo debería ser para que el reenvío funcione correctamente?
  2. ¿Puedo ejecutar aplicaciones OSX de esta manera?

Respuestas:


6

Si el Aqua de una Mac fuera X, entonces no necesitaría ejecutar X (XQuartz) para iniciar otros programas X en una Mac ...

Entonces: no, creo que no puedes hacer esto.


Pero, para ayudarlo a comenzar, primero trataría de enviar los verdaderos programas X a su máquina Linux:

  • En su Mac: instale XQuartz si aún no lo ha hecho (como XQuartz 2.3.4 desde instalaciones opcionales en el DVD de OS X 10.6, o descargue lo último del proyecto XQuartz ).

  • En tu Mac: cambia X11Forwarding noa X11Forwarding yes(y asegúrate de que no haya hash ( #) delante de esa línea) usando sudo vi /private/etc/sshd_configo usando un sedcomando del Reenvío X11 de Habilitación de Apple . Esto también asegurará que la DISPLAYvariable se establezca automáticamente.

  • En su máquina Linux:

    ssh -Y usuario @ mac-box
    xterm
    

(Algunos de los siguientes pasos podrían incluir Google para Xephyr(o el anterior Xnest). Y si tiene problemas con el teclado: Google xmodmap, o los usa xevpara depurar. O para problemas con las fuentes: Google xfsy xset +fp tcp/mac-box:7100. Pero dudo que pueda ejecutar los programas Aqua de esta manera).


1
Lamentablemente tienes razón. No puedo ejecutar Xcode y el simulador de iPhone a través de SSH, aunque puedo ejecutar xterm. Además, no necesitaba instalar XQuartz en la instalación de stock 10.6.
Alex B

@AlexB ¿Ha cambiado algo en los últimos 10 años?
Muhammad bin Yusrat

4

Parece que su objetivo principal aquí es ver las aplicaciones de Mac en ejecución en una máquina Linux. Arjan tiene razón, el reenvío X no funcionará para esto.

Debe habilitar Compartir pantalla en el panel Compartir en Preferencias del sistema. Esto encenderá un servidor VNC. Usando un cliente VNC en su máquina Linux, podrá ver su escritorio Mac. Este artículo muestra cómo configurarlo en el lado mac (pasos 1-3), continúa (un poco demasiado) sobre la configuración de dyndns y la apertura de puertos en una estación base del aeropuerto y luego tiene un poco en la parte inferior sobre la configuración arriba del lado del cliente (pasos 20-21).


Y también hay muchos programas que solo comparten una sola aplicación (en lugar de todo el escritorio). Creo que incluso se puede hacer eso usando la última plataforma multiplataforma de Skype. (No estoy seguro de si Skype también permite que uno controle la máquina remota, en lugar de solo echar un vistazo a su pantalla.)
Arjan,

Desearía poder evitar usarlo. Parece que VNC sigue siendo la única alternativa en este momento.
Alex B

-2

Solo usa

su -lm <usrname-to-proxy-for>

para entrar en un shell donde no se producirán problemas de X11. Consulte las páginas de manual para obtener detalles sobre la opción '-m'.


-m Deje el entorno sin modificar. El shell invocado es su shell de inicio de sesión, y no se realizan cambios en el directorio. - ¿Cómo se relaciona eso con la pregunta?
Arjan
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.