
Пожалуйста, помогите мне понять эту строку команды:
xhost +SI:localuser:lightdm
вссылка на ответ в этом постеи также предложите, есть ли лучший способ и зачем он нужен. Я не смог многого извлечь из страницы руководства, поэтому я ожидаю более подробного ответа, чтобы упростить это. (Следует ли мне заменить localuser на мое имя пользователя, и это что-то вроде добавления в группу? Я понимаю, что + означает добавление, но не понимаю SI или si!)
Пожалуйста, также укажите, как пользователь добавляется в"список разрешенных для установления связей"и что это значит. Также, как мне проверить текущий список?
решение1
xhost +SI:localuser:lightdm
позволяет lightdm
пользователю получить доступ к работающему X-серверу. Текущий X-сервер указывается DISPLAY
переменной окружения.
Theстраница руководстваимеет достаточно хорошие объяснения:
[+]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
при запуске без аргументов — печать списка, как сказано в man-странице:
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 использует этот список.
Причина, по которой это делается, заключается в использовании gsettings
, который использует dbus
, который в свою очередь обычно требует работающего сервера X. Однако это не обязательно, и вы можете увидетьэтот ответ AskUbuntu.