이 "xhost..." 명령은 무엇을 합니까?

이 "xhost..." 명령은 무엇을 합니까?

이 명령줄을 이해하도록 도와주세요.

xhost +SI:localuser:lightdm

존재하다이 글의 답변을 참고하세요그리고 더 나은 방법이 있는지, 이것이 왜 필요한지 제안해 보세요. 매뉴얼 페이지에서는 많은 정보를 얻을 수 없으므로 간단하게 만들 수 있는 좀 더 자세한 답변이 필요합니다. (localuser를 내 사용자 이름으로 바꿔야 합니까? 이것은 그룹에 추가하는 것과 유사합니까? +가 추가라는 것은 알지만 SI 또는 si를 이해하지 못합니다!)

또한 사용자를 추가하는 방법도 설명해주세요."허용된 연결 목록"그리고 그것이 무엇을 의미하는지. 또한 현재 목록을 보려면 어떻게 해야 합니까?

답변1

xhost +SI:localuser:lightdmlightdm사용자가 실행 중인 X 서버에 액세스 할 수 있습니다 . 현재 X 서버는 환경 변수로 표시됩니다 DISPLAY.


이것맨페이지꽤 좋은 설명이 있습니다.

   [+]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.)

게다가Xsecurity맨페이지설명하다:

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

약간의 맥락: X 서버에 대한 액세스를 허용하는 두 가지 일반적인 방법이 있습니다. 하나는 Xauthority클라이언트가 공유하는 파일을 통해 이루어지며 추가 서버 측 구성이 필요하지 않습니다. 다른 하나는 xhost목록을 통해 서버에서 구성을 완료하는 것 입니다.달리다(따라서 이는 영구적인 변경이 아닙니다.)

따라서 localuser그대로 두는 키워드입니다( lightdm여기서는 사용자 이름, LightDM이 실행되는 사용자 이름). 그룹은 서버의 인증 이해를 의미하므로 이는 그룹에 추가하는 것과 약간 비슷합니다. 그러나 시스템 그룹이나 사용자는 영향을 받지 않습니다. X 서버의 런타임 구성만 변경됩니다.

인수 없이 실행할 때의 기본 동작은 xhost맨페이지에 설명된 대로 목록을 인쇄하는 것입니다.

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.  

예를 들어:

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

결정하기 위해 코드를 확인해야 할 수도 있습니다.어떻게사용자가 목록에 추가되고 X가 목록을 사용하는 방법.


그 이유는 일반적으로 X 서버를 실행해야 하는 를 gsettings사용하기 때문입니다. dbus그러나 이는 필수는 아닙니다.이 AskUbuntu 답변.

관련 정보