
Estou conectado a um computador remoto e o xforwarding está funcionando bem ... mas assim que eu "sudo su -" ou "sudo su user2" ele não envia mais nada ao Xforwards me dando o erro:
X11 connection rejected because of wrong authentication.
xterm Xt error: Can't open display: localhost:10.0
Alguma ideia?
Obrigado
Responder1
- Habilite o encaminhamento X-11 em seu cliente
- Faça login como seu usuário normal
echo $DISPLAY
para obter a exibição associadaxauth list
, encontre o número de exibição que corresponde ao que você encontrou no item 3 e copie-o- Sudo para fazer root
xauth add <paste in what you copied from #4>
- Agora você pode executar comandos como root e poderá ver a conexão X11 Forwarding
Responder2
Antes de você sudo
, faça isso:
$ xauth extract /tmp/xauthstuff $DISPLAY
Depois de você sudo
, faça isso:
# xauth merge /tmp/xauthstuff
Isso funciona para você?
PS lembre-se de rm /tmp/xauthstuff
depois
Responder3
Não tenho acesso à conta root para fazer nenhuma das opções acima, então aqui está uma solução alternativa que usei.
Primeiro, faça ssh para sua conta como você faz normalmente e teste se tudo está funcionando.
ssh -Y <you>@<your_server>
Normalmente, apenas aciono um XTerm para garantir que tenho conectividade. Se tudo estiver bem, copie o arquivo .XAuthority que está no <you>
diretório inicial e coloque-o em um diretório público.
cp ~/.Xauthority /tmp/tempXAuth
Certifique-se de chmod 777 nesse arquivo no diretório público para que a conta sudo possa usá-lo na etapa posterior.
chmod 777 /tmp/tempXAuth
agora sudo para o usuário que você precisa trabalhar como
sudo su - <other_user>
quando estiver <other_user>
, faça backup do .Xauthority existente e copie o "bom".
cp ~/.Xauthority ~/.Xauthority.bak
cp /tmp/tempXAuth ~/.Xauthority
você deve ser capaz de executar qualquer programa X e autenticá-lo com sua sessão atual do XServer.
Responder4
Como o usuário com quem você normalmente faz login, digite:
cd
sudo cp .Xauthority /root/
Então você pode mudar para root usando:
sudo su