
Normalmente eu faço isso no ssh para obter um aplicativo X usandosudo su
ssh -X server
Login OKI
xauth list $DISPLAY
que retorna para mim
server/unix:10 MIT-MAGIC-COOKIE-1 blablablablabla
Então eu faço
sudo su
xauth add server/unix:10 MIT-MAGIC-COOKIE-1 blablablablabla
E depois de executar um aplicativo X... entendi, está correto.
O problema está no Centos7, eu faço
xauth list $DISPLAY
E não retorna nada. Tento adicionar cookies mágicos do MIT fornecidos por
xauth list
Mas é claro que não funciona. O encaminhamento X normal via ssh, sem sudo funciona.
As configurações do sshd são as mesmas em 3 servidores:
- slackwareFUNCIONA
- hpux FUNCIONA
- centos7 NÃO ESTÁ FUNCIONANDO
Responder1
Outra solução é mesclar o arquivo .Xauthority do usuário atual com o do usuário root.
ssh user@host
- altere as permissões do arquivo .Xauthority para que o root também tenha acesso a ele.
sudo su - root
xauth merge /home/users/user/.Xauthority
Teste
gedit somefile.log
Deve abrir uma janela do gedit.
Responder2
para tornar a solução permanente você pode modificar o .bashrc
arquivo do usuário de login adicionando
if [ -z "$XAUTHORITY" ]; then
export XAUTHORITY=$HOME/.Xauthority
fi
além disso você tem que atualizar seu sudoers
arquivo adicionando a linha
Defaults env_keep+="DISPLAY XAUTHORITY"
se o root tiver permissões de leitura no .Xauthority
arquivo do usuário de login, você poderá usar aplicativos X.
Responder3
Solução encontrada. Um método alternativo copiado desteblog Usando este script
userfirst=sshloginuser
usersecond=sudoorsuuser
$usersecond@host$
su - $userfirst -c 'xauth list' |\
grep `echo $DISPLAY |\
cut -d ':' -f 2 |\
cut -d '.' -f 1 |\
sed -e s/^/:/` |\
xargs -n 3 xauth add
Ou simplesmente registrando como usuário1
xauth list
su ou sudo su usuário2
xauth add OUTPUTOFXAUTHLIST
Responder4
Um comando genérico muito simples:
sudo xauth merge /home/$USER/.Xauthority
Isso ativa o ambiente root e mescla as informações xauth do usuário atual (não root).
Outra alternativa, deve evitar problemas de propriedade relatados nos comentários no Slackware:
cat ~/.Xauthority | sudo xauth merge -