GNU/Linux >> Tutoriales Linux >  >> Linux

No se pueden iniciar aplicaciones X11 después de "su" o "su -" para otro usuario

Para obtener acceso a las aplicaciones del cliente X, como system-config-date, xclock, vncviewer, necesitamos exportar la configuración de PANTALLA de un host remoto al servidor local. Esto se hace comúnmente usando los siguientes comandos.

# ssh root@remotehost

remotehost# export DISPLAY=x.x.x.x:y.y

Donde x.x.x.x:y.y es la configuración de visualización del sistema desde el que se conectó al host remoto.

También puede usar la opción -X con ssh para exportar directamente la PANTALLA en el host remoto.

# ssh -X root@remotehost

Pero ahora, si intenta cambiar a otro usuario en el sistema remoto y exportar la pantalla nuevamente, obtendrá un error:"Error:no se puede abrir la pantalla:".

# ssh -X root@remotehost
# su - [username]
# export DISPLAY=x.x.x.x:y.y 
# xclock
Error: Can't open display: x.x.x.x:y.y

Reenvío X11 para usuarios sudo

Simplemente configurar la PANTALLA no es suficiente. La autenticación X se basa en cookies, por lo que es necesario configurar la cookie utilizada por el usuario que inició la conexión. El siguiente procedimiento permite a un usuario sudo usar el túnel X11 basado en ssh:

1. Conecte el host remoto usando la opción -X con ssh.

# ssh -X root@remote-host

2. Ahora enumere el conjunto de cookies para el usuario actual.

# xauth list $DISPLAY
node01.thegeekdiary.com/unix:10  MIT-MAGIC-COOKIE-1  dacbc5765ec54a1d7115a172147866aa
# echo $DSIPLAY
localhost:10.0

3. Cambie a otra cuenta de usuario usando sudo. Agregue la cookie de la salida del comando anterior al usuario sudo.

# sudo su - [user]
# xauth add node01.thegeekdiary.com/unix:10  MIT-MAGIC-COOKIE-1  dacbc5765ec54a1d7115a172147866aa

4. Exporte la pantalla del paso 2 nuevamente para el usuario sudo. Pruebe el comando xclock para verificar si las aplicaciones del cliente x funcionan como se esperaba.

# export DISPLAY=localhost:10.0
# xclock


Linux
  1. Cómo cambiar (su) a otra cuenta de usuario sin contraseña

  2. ¿Xfce no puede iniciar las aplicaciones preferidas en Ubuntu 19.04?

  3. ¿Cómo puedo ejecutar una serie de comandos en una subcapa bash como otro usuario que usa sudo?

  4. No puedo demandar al usuario jenkins después de instalar Jenkins

  5. systemd:SIGTERM inmediatamente después del inicio

¿Cómo puedo ejecutar un comando después del arranque?

Cómo hacer ssh como otro usuario

¿Cómo puedo evitar que un usuario copie archivos a otro disco duro?

¿Cómo puedo buscar un nombre de usuario por id en Linux?

¿Cómo puedo permitir que un usuario sujete a otro sin permitir el acceso de root?

No se puede iniciar el servicio de red CentOS 7