
Normalmente hago esto en ssh para obtener una aplicación X usandosudo su
ssh -X server
Iniciar sesión OKI
xauth list $DISPLAY
que vuelve a mi
server/unix:10 MIT-MAGIC-COOKIE-1 blablablablabla
Entonces lo hago
sudo su
xauth add server/unix:10 MIT-MAGIC-COOKIE-1 blablablablabla
Y después de ejecutar una aplicación X... lo entiendo, es correcto.
El problema está en Centos7, lo hago.
xauth list $DISPLAY
Y no devuelve nada. Intento agregar cookies mágicas del MIT dadas por
xauth list
Pero claro, no funciona. El reenvío X normal a través de ssh, sin sudo, funciona.
La configuración de sshd es la misma en 3 servidores:
- slackwareOBRAS
- hpux OBRAS
- centos7 NO FUNCIONA
Respuesta1
Otra solución es fusionar el archivo .Xauthority del usuario actual con el del usuario root.
ssh user@host
- cambie los permisos del archivo .Xauthority para que root también tenga acceso a él.
sudo su - root
xauth merge /home/users/user/.Xauthority
Prueba
gedit somefile.log
Debería abrir una ventana de gedit.
Respuesta2
Para que la solución sea permanente, puede modificar el .bashrc
archivo del usuario de inicio de sesión agregando
if [ -z "$XAUTHORITY" ]; then
export XAUTHORITY=$HOME/.Xauthority
fi
además tienes que actualizar tu sudoers
archivo agregando la fila
Defaults env_keep+="DISPLAY XAUTHORITY"
Si root tiene permisos de lectura en el .Xauthority
archivo del usuario que inició sesión, podrá utilizar aplicaciones X.
Respuesta3
Solución encontrada. Un método alternativo copiado de esteBlog 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
O simplemente iniciar sesión como usuario1
xauth list
su o sudo su usuario2
xauth add OUTPUTOFXAUTHLIST
Respuesta4
Un comando genérico muy simple:
sudo xauth merge /home/$USER/.Xauthority
Esto activa el entorno raíz y fusiona la información xauth del usuario actual (no raíz).
Otra alternativa debería evitar el problema de propiedad informado en los comentarios de Slackware:
cat ~/.Xauthority | sudo xauth merge -