evita o encaminhamento do X11 do Mac para o linux

0

Eu preciso executar um programa no Mac remotamente via ssh de uma máquina linux. O engraçado do programa é que ele tem uma interface de linha de comando, mas sempre cria uma janela de GUI, mesmo que isso não seja necessário. Desde que eu log in de uma máquina Linux, recebo o seguinte erro:

<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.
couldn't allocate new Mac window

Posso de alguma forma fazê-lo pensar que se conecta ao WindowServer no Mac? (novamente, não preciso ver essa janela)

    
por user1084871 15.05.2012 / 14:58

1 resposta

2

Você diagnosticou incorretamente o problema: A julgar pela mensagem de erro, o programa está tentando abrir uma janela no console do Mac, que não tem o direito de acessar porque você não está sentado no teclado (imagine se alguém mais estiver, e uma janela aparecer de repente).

O Linux roda o X11, o seu Mac está executando o Windows Server (a menos que você também configure o X11). Se você inicializar o emacs em seu terminal ssh, ele poderá ter sucesso em abrir uma janela na sua caixa linux, com a ajuda da variável de ambiente DISPLAY.

Mas o seu programa não está fazendo isso. Talvez seja, se você definir a variável DISPLAY apropriadamente. O Ssh pode automatizar isso com a opção -X. Você saberá que está configurado corretamente quando você pode fazer programas comuns do X, como emacs ou xterm, abrir uma janela na sua caixa. Se você precisar executar um programa GUI remotamente, essa é a única maneira de fazer isso.

Mas como você diz que não precisa da GUI: leia a documentação do seu programa e descubra se há uma opção de linha de comando que a suprime.

    
por 15.05.2012 / 15:03