Cuando estoy en línea, aparece el siguiente error y la herramienta no se inicia:
[root@dhcppc9 lin64]# ./ise
No protocol specified
_pn: cannot connect to X server :0.0
Pero todo está bien cuando no soy un superusuario. ¿Por qué eso?
Editar
[root@dhcppc9 lin64]# export $(dbus-launch)
No protocol specified
¿cualquier sugerencia?
también
[root@dhcppc9 lin64]# xhost [+]
No protocol specified
xhost: unable to open display ":0.0"
export $(dbus-launch)
o usarxhost [+]
para poder iniciar programas usando X y su cuenta de superusuario.$ xhost
para ver el acceso actual y$ xhost +
habilitar el acceso desde cualquier host. A menudo lo haces desde una terminal virtual que conoces con seguridad que puede generar programas usando X.echo $DISPLAY
muestra? ¿A qué usuario pertenece el proceso xserver que desea utilizar? (puede averiguar esto último usando, por ejemplops faux
)Respuestas:
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 laDISPLAY
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 cookie123456
". El archivo de autoridad X normalmente se indica en laXAUTHORITY
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 deXAUTHORITY
en su sesión y debajosu
.Si
XAUTHORITY
no está configurado en su sesión ysu
establece laHOME
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
eliminaXAUTHORITY
del entorno, vuelva a colocarlo o configuresu
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:fuente
ln -s /home/otheruser/.Xauthority ~
¡Estás ejecutando xhost como root!
ejecuta xhost como el usuario normal
xhost +
, luego vuélvete root y vuelve a intentarlo.por cierto, como otros han señalado,
xhost +
permite a cualquier usuario de cualquier hostfuente
xhost
no funcione. Si lo hace, entonces al menos correxhost +localhost
,xhost +
¡ no !XAUTHORITY para mí se configuró como un archivo que ya no existía:
$ echo $XAUTHORITY
/tmp/xauth-1000-_0
Así que lo hice
unset XAUTHORITY
y luego pude conectarme a mi aplicación como root usando kdesudo (en este caso
kdesudo bleachbit
)fuente
Ejecutar como usuario normal
luego habilite super usuario por
finalmente ve al ejemplo del servidor
finalmente ejecuta ./Ampps
gracias en 2020
fuente
Esto funcionó para mí en fedora 30
fuente