xhost +SI:localuser:lightdm
cho phép lightdm
người dùng truy cập máy chủ X đang chạy. Máy chủ X hiện tại được chỉ định bởi DISPLAY
biến môi trường.
Các trang web có giải thích hợp lý tốt:
[+]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.)
Và Xsecurity
trang này nói:
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
Với một chút bối cảnh: Có hai cách thường được sử dụng để cho phép truy cập vào máy chủ X. Một là thông qua một Xauthority
tệp, được chia sẻ bởi các máy khách và không cần cấu hình phía máy chủ nữa. Khác là thông qua xhost
danh sách, trong đó cấu hình được thực hiện trên máy chủ trong thời gian chạy (vì vậy đây không phải là một thay đổi vĩnh viễn).
Vì vậy, localuser
là một từ khóa được giữ lại như hiện tại ( lightdm
là tên người dùng ở đây, một từ khóa mà LightDM chạy như). Điều này có phần giống như thêm vào một nhóm, trong đó các nhóm nằm trong sự hiểu biết về ủy quyền của máy chủ. Tuy nhiên, không có nhóm hệ thống hoặc người dùng bị ảnh hưởng. Chỉ cấu hình thời gian chạy của máy chủ X được thay đổi.
Hành vi mặc định xhost
khi chạy mà không có đối số là in danh sách, như manpage nói:
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.
Ví dụ:
$ xhost
access control enabled, only authorized clients can connect
SI:localuser:muru
Có lẽ chúng ta sẽ cần kiểm tra mã để xác định cách người dùng được thêm vào danh sách và cách X sử dụng danh sách đó.
Lý do điều này được thực hiện là để sử dụng gsettings
, trong đó sử dụng dbus
, do đó thường cần một máy chủ X đang chạy. Tuy nhiên, điều này là không cần thiết và bạn có thể thấy câu trả lời của AskUbfox này .
host +xxx
hoặchost -zzz
cài đặt quá.