Como se conectar a um servidor vim em execução em uma sessão de tela reconectada?

1

Eu normalmente ssh -X para uma caixa Linux remota, inicio GNU screen e execuo vim no modo de servidor dentro de screen . Depois de desanexar e voltar a associar à sessão screen , não consigo mais enviar arquivos para o servidor vim . Eu acho que é porque a sessão screen recuperada perdeu sua conexão com o servidor X-window, que é usado pelo servidor vim para comunicação. Existe alguma maneira de resolver este problema?

    
por Jing 16.11.2012 / 09:48

1 resposta

1

Isso porque sua nova conexão ssh usa novos valores para as variáveis de ambiente $DISPLAY e / ou $XAUTHORITY , mas a sessão de tela ainda estaria usando valores da conexão ssh original.

Você pode criar um script com o seguinte conteúdo, executá-lo antes de reconectar a sessão de tela e, em cada shell dentro da sessão da tela, executar source ~/.Xsetup

#!/bin/sh
exec > $HOME/.Xsetup
echo DISPLAY=$DISPLAY
echo XAUTHORITY=$XAUTHORITY

Isso copiaria os novos valores em quaisquer shells dos quais você originasse o arquivo de script gerado. Mas a própria sessão de tela ainda teria os valores antigos, e quaisquer novos programas iniciados ainda os receberiam também. Esses valores podem ser corrigidos executando o seguinte após o fornecimento do arquivo .Xsetup.

screen -X setenv DISPLAY $DISPLAY
screen -X setenv XAUTHORITY $XAUTHORITY
    
por 16.11.2012 / 16:28