Un programa X necesita dos piezas de información para conectarse a una pantalla X.
Necesita la dirección de la pantalla, que suele ser :0
cuando estás conectado localmente o:10
, :11
, etc, cuando está conectado de forma remota (pero el número puede cambiar dependiendo de la cantidad de conexiones X son activas). La dirección de la pantalla normalmente se indica en la DISPLAY
variable de entorno.
Necesita la contraseña para la pantalla. Las contraseñas de visualización X se llaman cookies mágicas . Las cookies mágicas no se especifican directamente: siempre se almacenan en archivos de autoridad X, que son una colección de registros de la forma "pantalla :42
tiene cookie 123456
". El archivo de autoridad X normalmente se indica en la XAUTHORITY
variable de entorno. Si $XAUTHORITY
no está configurado, los programas usan~/.Xauthority
.
Ver Abrir una ventana en una pantalla X remota (¿por qué "No se puede abrir la pantalla")? para más detalles.
En tu caso, DISPLAY
está configurado, pero los programas evidentemente no pueden encontrar el archivo cookie. Verifique el valor de XAUTHORITY
en su sesión y debajo su
.
Si XAUTHORITY
no está configurado en su sesión y su
establece la HOME
variable de entorno en el directorio de inicio de la raíz, entonces debe configurarXAUTHORITY
de /home/msz/.Xauthority
donde /home/msz
es su directorio personal.
Si su
elimina XAUTHORITY
del entorno, vuelva a colocarlo o configure su
no hacerlo.
Si su directorio de inicio está en algunos sistemas de archivos como NFS, es posible que la raíz no pueda leerlo directamente. En ese caso, puede copiar el .Xauthority
archivo a una ubicación diferente en un sistema de archivos que no sea NFS:
XAUTHORITY_COPY=$(umask 077; mktemp)
cat "${XAUTHORITY:-~/.Xauthority}" "$XAUTHORITY_COPY"
XAUTHORITY="$XAUTHORITY_COPY" su
rm "$XAUTHORITY_COPY"
unset XAUTHORITY_COPY
export $(dbus-launch)
o usarxhost [+]
para poder iniciar programas usando X y su cuenta de superusuario.