[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Sobre xhost.



El 20/03/08, Luis Rodrigo Gallardo Cruz <rodrigo@nul-unu.com> 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


Reply to: