El 20/03/08, Luis Rodrigo Gallardo Cruz <[EMAIL PROTECTED]> escribió: > On Thu, Mar 20, 2008 at 07:39:44PM -0300, Marcelo Guzmán wrote: > > Saludos listeros, > > > > Les cuento: > > Al ejecutar como usuario en la consola cualquier aplicación que > > necesite recurrir al servidor gráfico para correr (ejemplo kwrite), me > > funciona sin problemas; > > Pero al hacerlo como root me lanza el siguiente error: > > > > debian:/home/marcelo# kwrite > > Xlib: connection to ":0.0" refused by server > > Xlib: No protocol specified > > > > kwrite: cannot connect to X server :0.0 > > > > Googleando por ahí encontré que ejecutando el comando "xhost +" como > > usuario se arreglaba el problema y efectivamente puedo ejecutar como > > root cualquier aplicación. > > > Resumen ejecutivo: > > El servidor X puede usar mecanismos de control de acceso para > determinar a qué clientes permite conectarse. Esto es opcional (quizá > por eso en KDE no lo veías, aunque en realidad lo dudo) pero muy buena > idea, ya que un programa que pueda conectar al servidor X puede, por > lo menos en principio, observar el contenido de todas tus ventanas e > interceptar tu teclado y mouse. > > Dicho control de acceso se implementa (normalmente) por medio de > variables de entorno que apuntan a la "clave secreta" (no es > exáctamente eso, pero bueno) > > Cuando ejecutas una sesión de otro usuario dentro de un terminal, el > entorno no se copia, por lo que los programas que corran desde ahí no > tienen la clave para conectarse. > > El programa xhost controla el uso de dicho control de acceso. En > particular, > $ xhost + > deshabilita por completo esa caracteristica. Lo cual es, como ya dije > arriba, en general mala idea. > > ¿Soluciones? Ordenadas de mayor a menor en incomodidad, y de menor a > mayor en cuanto tienes que aprender para usarlas: > > 1. Sigue usando 'xhost +', pero ten cuidado de reactivar el control de > acceso tan pronto como te sea posible (con 'xhost -'). > > 2. Dale acceso a root a la "clave". A menos que tu máquina tenga una > configuración *muy* inusual, decir > $ export XAUTHORITY=~usuario/.Xauthority > en tu sesión de root justo después de iniciarla debería funcionar > (reemplaza "usuario" por el nombre de tu usuario). > > 3. Usa un método de ejecutar cosas como root que sí copie el > entorno. sudo es tu amigo. "man sudo" es una buena forma de conocer a > tus amigos. >
Puedes usar gksu para llamar a los programas gráficos como root. Suerte. Marcos Delgado