1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Linux X Windows Systemについて(自分用メモ

Posted at

X Window System(通称はXまたはX11)はUNIXやLinuxでGUIを実現するために使用されています。Linuxで標準的に使用されているX Window SystemはX.Orgです。
X Window Systemはクライアント・サーバ方式を使用しているため、XサーバとXクライアントは異なるマシンで動作していても使用できます。例えば、Xサーバが動作するマシンの画面上に、異なるマシンで起動したXクライアントプログラムを表示できます。
Xサーバは、キーボードやディスプレイなどのハードウェアを管理するソフトウェアで、XクライアントはWebブラウザやメーラーなどのGUIアプリケーションです。

X.Orgの設定ファイルは「/etc/X11/xorg.conf」。
各セクションは「Section "セクション名"」から始まり、「EndSection」で終わります。

・xhostによる認証
Xサーバへのアクセスを許可するには「xhost」コマンドを使用。

xhost [[+-]ホスト名 ...]

Xクライアント(192.168.1.20)上で実行したプログラム(xeyes)をXサーバ(192.168.1.10)上で表示する場合、以下のような手順が必要です。

■Xサーバ側
xhostコマンドで、「192.168.1.20」からのアクセスを許可します。

$ xhost +192.168.1.20
192.168.1.20 being added to access control list

■Xクライアント側
環境変数DISPLAYで表示先(Xサーバ)を指定し、Xサーバに表示させたいプログラム(xeyes)を実行します。
環境変数DISPLAYの書式は以下の通りです。

[Xサーバ]:ディスプレイ番号.スクリーン番号

デフォルトのディスプレイを使用する場合はディスプレイ番号に0を指定します。スクリーン番号は省略できます。
複数のXサーバが起動している場合は、ディスプレイ番号0から1, 2, 3...の順で番号を指定します。
複数のモニターが接続されている場合は、スクリーン番号0から1, 2, 3...の順で番号を指定します。

$ DISPLAY=192.168.1.10:0
$ export DISPLAY
$ xeyes &

上記コマンドを実行するとXサーバ側でxeyesプログラムが表示されます。

xeyesコマンドは、目玉のグラフィックがマウスカーソルを追うプログラムです。

・xauthによる認証
xhostコマンドはホスト単位でアクセスを許可するため、セキュリティ上好ましくありません。xauthコマンドはユーザ単位でXサーバへのアクセスを制限します。

■Xサーバ側
xauth listコマンドでXサーバごとの接続に使用される資格情報が表示されます。

■Xクライアント側
xauthのaddコマンドで、接続ユーザの「~/.Xauthority」ファイル(クライアント認証ファイル)にXサーバと同じ資格情報を保存します。Xサーバと資格情報が一致したユーザのみがアクセスできるようになります。

X Window Systemの主なプログラムにディスプレイマネージャ、ウィンドウマネージャ、統合デスクトップ環境があります。

■ディスプレイマネージャ

ディスプレイマネージャはランレベルが5の時にユーザにグラフィカルログイン画面(GUI環境のログイン)を提供し、ログイン認証、ログイン後のデスクトップ環境の準備を行います。
SysVinitの場合は、initが起動する「prefdm(Preferred Display Manager)」が環境変数DISPLAYMANAGERを読み取って必要なディスプレイマネージャーが起動されます。systemdの場合は「display-manager.service」として起動されますが、これはgdmやkdmなど、使用するディスプレイマネージャーサービスへのシンボリックリンクとなっています。
指定したディスプレイマネージャが起動すると、ユーザ名とパスワードを入力するログインプロンプトの認証画面が表示されます。

主なディスプレイマネージャは以下の通り。

・XDM(Xディスプレイマネージャ)
X.Org標準のディスプレイマネージャです。
XDMCPプロトコルを使用して、ネットワーク上にあるX端末にもグラフィカルログイン画面を提供します。
XDMの設定ファイルは「/etc/X11/xdm」ディレクトリに格納されています。

・GDM(GNOMEディスプレイマネージャ)
GNOME標準のディスプレイマネージャ
GDMの設定ファイルは「/etc/X11/gdm」ディレクトリに格納されています(ディストリビューションによって異なる)。

・KDM(KDEディスプレイマネージャ)
KDE標準のディスプレイマネージャ
KDMの設定ファイルは「/etc/X11/kdm」ディレクトリに格納されています(ディストリビューションによって異なる)。

■ウィンドウマネージャ
ウィンドウの概観、アイコンやカーソル、メニューなどを提供するXクライアントのアプリケーションです。
最小限の機能を備えた「twm」、KDE標準の「kWin」などがあります。

■統合デスクトップ環境
ディスプレイマネージャやウィンドウマネージャのGUI環境とアプリケーションをまとめて統一的な操作を提供します。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?