O encaminhamento X11 não funciona se su para outro usuário

0

Eu tenho um servidor Red Hat 7.3 executando o XVnc. Em uma área de trabalho do Windows 10 eu tenho Putty e Xming instalados. O Putty está configurado para o encaminhamento do X11. Quando eu SSH como meu usuário padrão / não privilegiado e inicio um aplicativo X, ele é exibido na minha área de trabalho do Windows 10 sem problemas.

Agora, dentro da mesma sessão, se eu for para uma conta mais privilegiada e tentar executar um aplicativo X, ele falhará com "erro: não é possível abrir a exibição".

Na minha sessão de usuário padrão, se eu fizer eco de $ DISPLAY, ele será automaticamente configurado para mim como "IP_ADDRESS: 10.0". Sob minha su sessão, $ DISPLAY é null. Eu tentei exportar a variável DISPLAY para o mesmo valor, mas agora aparece um erro diferente: "PuTTY X11 proxy: Erro de protocolo de autorização não suportado: Não é possível abrir a exibição: server_IP: 10.0".

Como posso configurar o encaminhamento do X11 para trabalhar no contexto do outro usuário?

    
por tickermcse76 18.10.2018 / 14:05

1 resposta

0

Isso porque a conexão de exibição do X11 pertence ao usuário com o qual você efetua login via SSH . X11Forwarding mechanism não permite que mais ninguém use o display.

Felizmente, há uma solução alternativa. Depois de usar su e se tornar o outro usuário, execute este comando:

xauth add $(xauth -f ~username/.Xauthority list | tail -1)

onde ~username é seu usuário original, ou seja, o usuário com o qual você se conectou ao servidor.

Obviamente, isso funciona se o seu novo usuário tiver privilégios suficientes para ler ~username/.Xauthority (ou seja, se você su to root não houver problemas, se outro usuário não não trabalho e você precisa verificar / modificar permissões).

    
por 18.10.2018 / 14:16