¿Qué hace este comando `xhost...`?

¿Qué hace este comando `xhost...`?

Por favor ayúdenme a entender esta línea de comando:

xhost +SI:localuser:lightdm

enreferencia a la respuesta en esta publicacióny también sugerir si hay una manera mejor y por qué es necesaria. No pude sacar mucho provecho de la página de manual, por lo que espero una respuesta más detallada para simplificarlo. (¿Debo reemplazar localuser con mi nombre de usuario? ¿Es algo así como agregar al grupo? Entiendo que + es para agregar pero no entiendo SI o si).

Por favor mencione también cómo se agrega el usuario al"lista permitida para realizar conexiones"y lo que eso significa. Además, ¿cómo reviso la lista actual?

Respuesta1

xhost +SI:localuser:lightdmpermite al lightdmusuario acceder al servidor X en ejecución. El servidor X actual está indicado por la DISPLAYvariable de entorno.


Elpágina de manualtiene explicaciones razonablemente buenas:

   [+]name The given name (the plus sign is optional) is added to the list
           allowed to connect to the X server.  The name  can  be  a  host
           name or a complete name (See NAMES for more details).
...
NAMES
   A complete name has the syntax ``family:name'' where the  families  are
   as follows:
...
   si        Server Interpreted
...
   the server interpreted address "si:localuser:username" can be  used  to
   specify a single local user. (See the Xsecurity(7) manual page for more
   details.)

Y elXsecuritypágina de manualdice:

SERVER INTERPRETED ACCESS TYPES
   The  sample  implementation   includes   several   Server   Interpreted
   mechanisms:
       IPv6                          IPv6 literal addresses
       hostname                      Network host name
       localuser                     Local connection user id
       localgroup                    Local connection group id

Con un poco de contexto: hay dos formas comúnmente utilizadas para permitir el acceso a un servidor X. Uno es a través de un Xauthorityarchivo compartido por los clientes y que no necesita ninguna configuración adicional del lado del servidor. La otra es a través de la xhostlista, donde la configuración se realiza en el servidor entiempo de ejecución(por lo que este no es un cambio permanente).

Entonces, localuseres una palabra clave que se debe conservar tal como está ( lightdmes el nombre de usuario aquí, con el que se ejecuta LightDM). Esto es algo así como agregar a un grupo, en el sentido de que los grupos están según la comprensión del servidor de autorización. Sin embargo, ningún grupo o usuario del sistema se ve afectado. Sólo se cambia la configuración de tiempo de ejecución del servidor X.

El comportamiento predeterminado xhostcuando se ejecuta sin argumentos es imprimir la lista, como dice la página de manual:

nothing If no command line arguments are given,  a  message  indicating
        whether  or not access control is currently enabled is printed,
        followed by the list of those allowed to connect.  

Por ejemplo:

$ xhost
access control enabled, only authorized clients can connect
SI:localuser:muru

Probablemente necesitaremos examinar el código para determinarcómose agrega un usuario a la lista y cómo X usa esa lista.


La razón por la que se hace esto es para usar gsettings, que usa dbus, que a su vez generalmente necesita un servidor X en ejecución. Sin embargo, esto no es necesario y se puede veresta respuesta de AskUbuntu.

información relacionada