Determina o nome do soquete $ DISPLAY no OS X 10.6?

0

Estou procurando fazer algo que seja um pouco estranho. Estou conectando de um servidor para um cliente do Snow Leopard para iniciar um processo de exibição de dados do X11. Em outras palavras, o redirecionamento X11 do SSH não é o que eu quero.

Eu posso fazer:

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

E quando eu faço:

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

Eu felizmente recebo meu xterm.

O que eu preciso, então, é alguma maneira de descobrir o valor correto para $ DISPLAY na minha sessão ssh. Pelo que tenho lido, o $ DISPLAY é definido pelo launchd, mas não encontrei nenhuma maneira de ver esse valor.

Se for importante, sei que quando meu processo se conecta de $ server para $ client, $ client entrará no terminal como o mesmo usuário.

    
por Nate 22.12.2010 / 22:54

1 resposta

0

Não tenho certeza se essa é a melhor resposta (vou esperar alguns dias para sinalizar isso!), mas parece promissora:

Primeiro, crie um script em $ client, digamos, save_display.sh:

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

Em seguida, crie um LaunchAgent .plist para ele, salve-o em ~ / Library / LaunchAgents. Comece com um intervalo de 60 segundos ou algo assim.

Finalmente, carregue-o na sessão do Aqua :

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

Se você acabou de carregá-lo normalmente, $ DISPLAY não será definido e seu arquivo estará vazio.

Então,

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

e sucesso.

Parece continuar trabalhando nas reinicializações. Estou muito feliz com isso.

    
por 22.12.2010 / 23:41