Xhost

提供: ArchWiki
2020年10月10日 (土) 10:35時点におけるHiromi-mi (トーク | 投稿記録)による版 (typo修正)
ナビゲーションに移動 検索に移動

Xhost の man ページより:

xhost プログラムは、X サーバへの接続が許可されるホスト名とユーザー名をリストに追加・削除する。ホストの場合には、このプログラムはプライバシー制御とセキュリティの基本的な仕組みを提供する。これはマシンの悪用を制限することはできるが、ワークステーション環境 (ユーザ1人) に対して十分であるに過ぎない。もっと洗練された方法を必要とする環境においては、(ホスト単位でなく) ユーザーに基づく機構の実装をするか、プロトコルにおいて他の認証データをサーバに渡すためのフックを使用しなければならない。

詳しくは xhost(1) を見てください。

インストール

xorg-xhost パッケージをインストールしてください。

使用方法

警告: このコマンドにより、あらゆるローカルユーザーが X のスクリーンへのアクセス権を与えられます。ユーザーが一人なら問題ないかもしれませんが、複数ユーザーがいる環境では普通問題です。X スクリーンに root でのアクセスを許可したいなら、$XAUTHORITY 環境変数を設定するのが望ましいです。既定では sudo あるいは su (su - ではありません) に設定されています。

sudo や su で実行されるアプリケーションにグラフィカルサーバー (X セッションまたはコンピュータースクリーン) へのアクセス権を与えるには、ターミナルを開いて通常ユーザーで以下を入力してください (su - は使わないでください):

$ xhost +local:

X 画面へのアクセスを制限する、通常状態に戻すには:

$ xhost -

cannot connect to X server :0.0

警告: 以下のコマンドはアクセス制御を無効化するため、システム上のあらゆるユーザー (X をネットワーク上で動作させている場合、ネットワーク上のユーザー) が特に認証をしなくても $DISPLAY にアクセスできるようになります。X サーバーの中で他のユーザーがアプリケーションを起動できるようになるので注意してください (キーロガーなどを起動させられる可能性があります)。

上記の xhost + コマンドは一時的にしか効果がありません。永続的に問題を解決するには以下を ~/.bashrc ファイルに追加:

xhost + >/dev/null

ターミナルを立ち上げるたびにコマンドが実行されるようになります。>/dev/null を記述しなかった場合、ターミナルを起動するたびに次のようなメッセージが表示されます: access control disabled, clients can connect from any host