¿Determinar el nombre del socket $ DISPLAY en OS X 10.6?

0

Estoy buscando hacer algo un poco extraño. Estoy enviando SSH desde un servidor a un cliente Snow Leopard para iniciar un proceso de visualización de datos X11. En otras palabras, el reenvío X11 de SSH no es lo que quiero.

Puedo hacer:

client$ echo $DISPLAY
/tmp/launch-SOMETHING/org.x:0
client$ ls -l $DISPLAY
srwx------  1 myuser  wheel  0 Dec  9 15:47 /tmp/launch-SOMETHING/org.x:0

Y cuando lo hago:

server$ ssh myuser@client
client$ export DISPLAY=/tmp/launch-SOMETHING/org.x:0
client$ xterm

Felizmente obtengo mi xterm.

Lo que necesito, entonces, es alguna forma de encontrar el valor correcto para $ DISPLAY en mi sesión ssh. Por lo que he leído, $ DISPLAY está configurado por launchd, pero no he encontrado ninguna forma de ver ese valor.

Si es importante, sé que cuando mi proceso se conecte de $ server a $ client, $ client iniciará sesión en el terminal como el mismo usuario.

Nate
fuente

Respuestas:

0

No estoy seguro de si esta es la mejor respuesta (¡esperaré unos días para marcarla!) Pero parece prometedor:

Primero, cree un script en $ client, por ejemplo, save_display.sh:

#!/bin/bash
echo $DISPLAY > /path/to/saved_disp

A continuación, cree un LaunchAgent .plist para él, guárdelo en ~ / Library / LaunchAgents. Que comience con un intervalo de 60 segundos o algo así.

Finalmente, cárguelo en la sesión de Aqua :

launchctl load -S Aqua ~ / Library / LaunchAgents / my.display.saver.plist

Si solo lo carga normalmente, $ DISPLAY no se configurará y su archivo estará vacío.

Entonces,

server$ ssh myuser@client
client$ export DISPLAY=`cat /path/to/saved_disp`
client$ xterm

Y éxito.

Parece seguir trabajando en los reinicios. Estoy muy feliz con eso.

Nate
fuente