回答:
xhost +SI:localuser:root
root
ユーザーが実行中のXサーバーにアクセスできるようにします。現在のXサーバーはDISPLAY
環境変数で示されます。xhost +local:
すべてのユーザーに対して同じことを行うため、このroot
行はあまり役に立ちません。
manページには、適度に良好な説明があります。
[+]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:
...
local contains only one name, the empty string
si Server Interpreted
...
The local family specifies all the local connections at once. However,
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サーバーへのアクセスを許可する一般的な方法は2つあります。1つはXauthority
、クライアントが共有するファイルを使用する方法で、サーバー側の構成をこれ以上行う必要はありません。もう1つはxhost
リストを介したもので、構成は実行時にサーバーで行われます(これは永続的な変更ではありません)。
したがって、localuser
キーワードはそのまま保持されます(root
ここではユーザー名です)。これは、グループがサーバーが承認を理解しているという点で、グループへの追加に多少似ています。ただし、システムグループやユーザーは影響を受けません。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
(muru
は私のユーザー名です。)