【Linux】X Window Systemの使い方

LinuxにおけるX Window Systemの使い方についてまとめました。

スポンサーリンク

X Window Systemとは

X Window System(X、X11)は、Linux系OSでGUIを実現するために使用されています。
X Window Systemは以下のようなクライアント・ サーバモデルで構成されます。

  • X サーバ
    • ユーザのハードウェア管理(ディスプレイの表示、キーボードからの入力処理など)を行うプログラム。ディスプレイ、キーボード、マウスなどが接続されたローカルホスト上で実行される。
  • X クライアント
    • データを処理し、Xサーバへ話しかけるプログラム。要はブラウザやエディタなど、ウィンドウを表示するプログラム。リモートホスト上で実行される。
  • アプリケーションサーバ
    データを処理しクライアントへ話しかけるプログラム。リモートホスト上で実行される
  • アプリケーションクライアント
    • ユーザのディスプレーや入力デバイスが接続されたプログラム。ローカルホスト上で実行される。
スポンサーリンク

X Window System の設定(xorg.conf)

X Window System の設定は以下のコマンドを実行して生成される「/root/xorg.conf.new」をコピーしてファイル名を変更した「/etc/X11/xorg.conf」ファイルで行います。

$ Xorg -configure

「/etc/X11/xorg.conf」ファイルは、複数のセクションの集まりで構成されます。
各セクションは Section “<セクション名>” 行で始まり、EndSection行で終了します。
「#」マークで始まる行は、コメント行です。

セクション名 概要
ServerFlags グローバルなX サーバの設定
ServerLayout Xサーバで制御される入出力デバイスの定義
Files X サーバへのサービス用パスを設定
Module Xサーバがロードする「/usr/X11R6/lib/modules/」内のモジュール(Xサーバの追加機能)を指定。
InputDevice Xサーバに対して1つの入力デバイスを設定。 システムには2つ以上のInputDeviceセクション(キーボード及びマウス)が必要となる。
Monitor モニタのタイプを設定。
Device ビデオカードを設定。1つ以上のDeviceセクションが必要。
Screen 1つのビデオカードを、DeviceセクションとMonitorセクションを参照して1つのモニタに結合する。
DRI DRI(Direct Rendering Infrastructure)用のパラメータを設定。DRIは、3D ソフトウェアアプリケーションが最新のビデオハードウェアに組み込まれた 3D ハードウェアアクセラレーション機能を活用できるようにするインターフェース。
スポンサーリンク

X Window System の操作

① Xサーバー側(ローカル側)で以下のコマンドを実行してXサーバー接続許可リストに追加し、Xクライアントホスト(リモート)からのアクセスを許可します。

$ xhost +Xクライアントホスト名

なお、すべてのクライアントからのアクセスを許可する場合は「xhost +」、アクセス許可を取り消す場合は「xhost -Xクライアントホスト名」を実行します。

②Xクライアント側(リモート側)で「DISPLAY=ホスト名:ディスプレイ番号.スクリーン番号」を実行し、環境変数DISPLAYにXサーバを指定します。

$ DISPLAY=ホスト名:0.0
$ export DISPLAY
  • 補足
    • 「ホスト名(Xサーバ名)」もしくは「XサーバのIPアドレス」を指定
    • ディスプレイ番号とスクリーン番号は通常0

③Xクライアント側で以下のコマンドを実行し、アプリケーションを起動します。

$ xclock &

④Xサーバ側にxclockが表示されます。

スポンサーリンク

X Window System の開始

①ランレベル3の状態で「startx」コマンドを実行します。

$ startx 

② xinit コマンドを実行します

$  xinit

③ユーザーのホームディレクトリ内の .xinitrc ファイルを検索し、デスクトップ環境、実行すべき他の X クライアントアプリケーションを定義します。
.xinitrcファイルがない場合、システムデフォルトの「/etc/X11/xinit/xinitrc」ファイルを代わりに使用します。

④xinitrcスクリプトは、ユーザーのホーム ディレクトリ内で「.Xresources」「.Xmodmap」「.Xkbmap」、「/etc/X11/」ディレクトリ内で「Xresources」「Xmodmap」「Xkbmap」などのユーザー定義ファイルやシステムファイルを探し、見つかればそのファイルに従って設定されます。
例えば、XmodmapとXkbmapは、xmodmapユーティリティに使用され、キーボードの設定を行います。

⑤xinitrcスクリプトが「/etc/X11/xinit/xinitrc.d/」ディレクトリ内の全てのスクリプトを実行します。

⑥xinitrcスクリプトは、ユーザーのホームディレクトリ内の .Xclientsを実行します。
.Xclientsスクリプトは .Xclients-default ファイルにあるユーザー指定のデスクトップ環境を起動します。

⑦ウィンドウマネージャが開始され、デスクトップ環境で操作できます。

スポンサーリンク

Xのウィンドウ情報を表示(xwininfoコマンド)

「xwininfo」コマンドは、Xのウィンドウ情報を表示します。

オプション 概要
-id ウィンドウID(id)を表示。ウインドウIDがわかると、マウスなしで、コマンド行から対象ウィンドウを指定できる。
-tree 全ての子ウィンドウを表示
-root rootウィンドウの情報を表示
-stats 指定したウィンドウの位置や外観の情報を表示

実行例

$ xwininfo
スポンサーリンク

Xサーバのディスプレイ情報を表示(xdpyinfo コマンド)

xdpyinfoコマンドは、Xサーバのディスプレイ情報を表示します。

オプション 概要
-ext all 詳細情報を表示

実行例

$ xdpyinfo
スポンサーリンク

X フォントサーバー(xfs)

X サーバーは、「/etc/X11/xorg.conf」ファイルのFilesセクションのFontPathディレクティブに指定してあるフォントサーバ(xfs)に接続し、フォント情報を取得します。

オプション 概要
alternate-servers フォントサーバーが利用できない場合にの代替フォントサーバーの一覧を指定。
catalogue 使用するフォントパスの順番の一覧を指定。
client-limit フォントサーバーが処理するクライアントの最大数を指定(デフォルトは10)。
default-point-size デフォルトのフォントを指定(デフォルトの120は、12pt)
default-resolutions X サーバーによりサポートされている解像度のリストを指定。
use-syslog システムエラーログを使用するか指定。
スポンサーリンク

Xフォントサーバーにフォントを追加

以下の手順で追加します。

①以下のコマンドで「/usr/share/fonts/local/」ディレクトリを作成します。

$ mkdir ./usr/share/fonts/local/ 

②以下のコマンドをルート実行し、ディレクトリをxfsのパスに追加します。

$ chkfontpath --add /usr/share/fonts/local/  

③ 追加したいフォントファイルを「/usr/share/fonts/local/」ディレクトリにコピーします。

④ ルートで以下のコマンドを実行し、フォント情報を更新します。

$ ttmkfdir -d /usr/share/fonts/local/ -o /usr/share/fonts/local/fonts.scale

⑤ rootになり、以下のコマンドを実行し、xfsフォントサーバーを再読み込みします。

$ service xfs reload
スポンサーリンク

関連ページ

【LinuC】試験対策と例題まとめ
LinuCの試験対策と例題(学習サイト)についてまとめました。
【LPIC入門】Linuxの基礎と試験範囲別の解説
LPICに従って、Linuxの基礎と試験範囲別の解説についてまとめました。
【Linuxコマンド入門】主なコマンドとサンプル集
Linuxコマンドの主な使い方とサンプル集について入門者向けにまとめました。
Linux
スポンサーリンク
西住工房

コメント