Xhost

提供: ArchWiki
ナビゲーションに移動 検索に移動

Xhost の man ページより:

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

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

インストール

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

使用方法

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

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

$ xhost +local:

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

$ xhost -

xhost + は X 認証を完全に無効にします。自分が何をしているのか本当にわかっていない場合、それを しない でください。

The 'cannot connect to X server :0.0' output

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

上記のコマンド xhost + は、瞬間的ではありますが、この出力を取り除きます。多くの方法の中で、この問題を永続的に取り除く方法の1つは

xhost + >/dev/null

~/.bashrc ファイルに追加してください。こうすることで、ターミナルを起動するたびにコマンドが実行されるようになります。ホームディレクトリにまだ .bashrc ファイルがない場合は、この行だけ追加して作成してもかまいません。もし > /dev/null を追加しない場合、ターミナルを起動するたびに、access control disabled, clients can connect from any host' というメッセージが表示されますが、これは現在問題なく root として your_software を実行できることを確認するためのものです。

参照