Eu tento iniciar uma sessão de tela e conectar-me a três máquinas diferentes com o mesmo usuário.
Aqui está o que eu tenho na minha .screenrc
screen -t "machine1" 0 ssh user@machine1
screen -t "machine2" 1 ssh user@machine2
screen -t "machine3" 2 ssh user@machine3
Minhas ~/.ssh/config
contém
ForwardX11 yes
Eu recebo o seguinte erro nos terminais de machine2
e machine3
.
Warning: No xauth data; using fake authentication data for X11 forwarding
/usr/X11/bin/xauth: error in locking authority file /home/user/.Xauthority
Se eu remover apenas uma das máquinas do meu .screenrc ele funciona corretamente.
Como posso evitar esse erro e conectar-me a várias máquinas a partir da tela.
EDITAR :
O diretório inicial do usuário está no NFS e o bloqueio não funciona corretamente com o NFS.
Para contornar isso, eu tentei muito ter o arquivo XAuthority em um sistema de arquivos local (/ tmp) ou ter um arquivo por ssh. Eu não consegui, de alguma forma meu xauth parece ignorar completamente o XAUTHORITY
variável de ambiente. Ainda confuso ...
ssh -f -N
(em algum script de shell, em vez de usar screen
) seria uma opção, então pelo menos você pode adicionar alguns sleep
comando entre os 3 comandos? Ou talvez mova os 3 screen
comandos de .screenrc
em algum script de shell, usando sleep
também?
ForwardX11
quando você quiser usar sessões gráficas. Até onde sei,screen
é apenas baseado em personagens?)