BandaAncha.eu

Comunidad de usuarios
de fibra, móvil y ADSL

Xlib: connection to ":0.0" refused by server

SuperGasMan

Hola.

Instalé Debian Sarge 3.1 y funcionó muy bien. Instalé muchas cosas para hacer pruebas. Luego le di formato a la partición y la volví a instalar de forma limpia poniéndole sólo lo justo para usarla como distro preferida. Le puse el x-window-system, el kde y el kdm.

La sorpresa fue cuando instalé el synaptic y luego me di cuenta que no podía poner en marcha ninguna aplicación en modo root. Como usuario corriente no hay problema, pero en modo root no puedo invocar ninguna aplicación.

Puedo usar el synaptic porque arranca desde el usuario corriente con la aplicación gksu, así que luego le meto la contraseña de root y funciona.

$ gksu -u root /usr/sbin/synaptic

Pero si en modo root intento abrir cualquier aplicación pasa esto:

debian:/home/usuario# synaptic
Xlib: connection to ":0.0" refused by server
Xlib: No protocol specified
(synaptic:2954): Gtk-WARNING **: cannot open display:

Ejemplo intentando abrir el kwrite:

debian:/home/usuario# kwrite
Xlib: connection to ":0.0" refused by server
Xlib: No protocol specified
kwrite: cannot connect to X server :0.0

Todas las aplicaciones dan avisos similares, pero con el emacs cambia un poco:

emacs: Cannot connect to X server :0.0.
Check the DISPLAY environment variable or use `-d'.
Also use the `xhost' program to verify that it is set to permit
connections from your machine.

Buscando con el Google al parecer tiene algo que ver con “magic cookies” y observo que tengo este fichero vacío ~/.Xauthority

A base de probar cosas sin saber muy bien lo que estaba haciendo lo pude solucionar y luego sí que se abrían las aplicaciones sin problema en modo root.

Para ver cómo lo pude solucionar se me ocurrió instalar Debian de nuevo, esta vez de manera que el programa de instalación pusiera el entorno de escritorio por sí mismo. Pues el escritorio no salió así que instalé x-windows-system de modo manual y todo funcionando, pero con el mismo problema de antes, sin que root pueda abrir aplicaciones.

Y cual mi sorpresa al darme cuenta que borré el fichero dónde había puesto los apuntes y ahora no tengo ni idea de cómo pude lograr hacerlo funcionar.

No sé si toqué el xhost. Leí no sé donde que era peligroso manipular el xhost sin saber muy bien lo que se está haciendo y que quienes reparaban ese fallo usando el xhost lo que hacían era crear un enorme agujero de seguridad por desconocimiento del tema de las xlibs.

Volví a buscar información con el Google, pero ahora no soy capaz de solucionar el problema. Lo más que me molesta es que pude solucionarlo y luego se me quemó la neurona.

Incluso le instalé muchísimos paquetes con librarías y cosas raras a ver si acertaba disparando al bulto.

¿Alguien ha tenido este problema y sabe cómo solucionarlo?

No sé si hacer una “regresión” a la Mandriva, pero la Debian me gusta más.

Gracias por leerme y saludos.

Este tema está cerrado a nuevas respuestas. Abre un nuevo tema para retomar la conversación.
manxego

Desde un usuario normal tienes que hacer:
xhost +local:root

Y cuando accedas a root desde la consola podrás hacer todo lo quieras. Es un problema de permisos.

🗨️ 3
SuperGasMan

Sí. Gracias.

Creo que eso fue lo que puse en la consola cuando se me solucionó el problema y luego perdí los apuntes. Me suena mucho.

He leído que usando el xhost no es recomendable a efectos de seguridad. Me supongo que no tendrá tanta importancia en un PC con un único usuario.

No entiendo mucho esto. No sé si "xhost +" es lo mismo que "xhost +local:root". Tal vez el escrito que leí se refiere a xhost + y yo lo interpreto que todo lo que sea xhost + ..... no es seguro.

No sé. Tal vez "xhost +" sea para todos y "xhost +local:root" sólo para root y entonces supongo que será también seguro.

Bajé información y ya la leo esta noche. Aquí es dónde leí eso del xhost:

(link roto)

Saludos y gracias.

🗨️ 2
InoculateIt

Correcto, con xhost + das acceso a todo bicho viviente (que pueda conectar con tu máquina) a que pueda ejecutar aplicaciones sobre tu servidor X. Para deshabilitar escribe xhost -

Si pones xhost +local:* das acceso a todos los usuarios locales a tu servidor X (también es peligroso si tienes alguna cuenta de usuario débil). Para deshabilitar escribe xhost -local:*

Si pones xhost +local:root autorizas a root a acceder al servidor localmente. Para desactivarlo escribe xhost -local:root.

Si puedes usa kdesu aplicacion o un equivalente para ejecutar aplicaciones como root en el servidor X, solo esa aplicación se podrá ejecutar y solo hasta que detengas su ejecución.

🗨️ 1
SuperGasMan

Sí, muchas gracias.

Ahora entiendo este asunto mucho mejor.

Saludos.

migtei

En mi máquina, en kde como usuario:

migtei@unit0:~> su
Password:
unit0:/home/migtei # /opt/kde3/bin/kwrite
Xlib: connection to ":0.0" refused by server
Xlib: Invalid MIT-MAGIC-COOKIE-1 key
kwrite: cannot connect to X server :0.0

No deja que el programa kwrite se manifieste porque no le deja conectar al servidor X. Es como deber ser, no permitir conectarse a NADIE a tus X de usuario si no tiene la clave, ni a root. Tiene que ver con Xauthority, leete la man de xauth xdm y Xsecurity.

Lo he puesto en otros post, en kde para correr un programa como root en entorno gráfico de usuario usa alt+F2, en la ventanita:

kdesu programa_gráfico

Y tanto instalar/reinstalar/requeteinstalar te va a ablandar la mollera ;-)

...suerte

🗨️ 1
SuperGasMan

Gracias. Sí, una cuestión de seguridad que yo interpretaba como que faltaba instalar alguna cosa, un bug, etc.

Lo que no entiendo es cómo en la primera instalación podía abrir las aplicaciones en modo root sin usar kdesu.

No sé si Debian tendrá varios tipos de instalaciones por defecto, una para principiantes y otra para expertos (más segura) y en la primera me quedó más fácil de usar.

En Mandriva tienes desde estándar hasta paranoica.

Sí. Si llego a saber esto antes... me había ahorrado unas cuantas reinstalaciones y la quintada que me gastó el Xauthority me dejo la mollera ahumada.

Bueno. Sigo con la Debian y la usaré más tiempo que la Mandriva.

Saludos y gracias.

Editado:

Sí. Me estoy leyendo lo que me has dicho. Gracias.