Linux – X Window System (X11) について解説

概要

X Window System は、クライアント・サーバーモデルで動作するウィンドウシステムであり、グラフィカルユーザインタフェース (GUI) を提供するための標準的な技術です。 本記事では、X Window System の概要について説明します。

X Window System (X11)

X Window System は、通称「X」や「X11」と呼ばれる、UNIX 系 OS 向けに開発されたウィンドウシステムで、クライアント・サーバー方式であることが特徴です。 X は登場から長い歴史を持ち、Linux を含む多くの UNIX 系 OS で標準的に採用されてきました。

X サーバーと X クライアント

  • X サーバー (X Server): ディスプレイ、キーボード、マウス等の入出力デバイスを管理するプログラムです。通常、ユーザーがログインしているマシン上で動作し、表示や入力のやり取りを担います。
  • X クライアント (X Client): ウィンドウを表示したいアプリケーションのことを指します。X サーバーに対して、ウィンドウの生成や描画の要求を行い、結果を受け取ります。

X サーバーと X クライアントは同一マシンに限定されず、ネットワークを通じて X サーバーと X クライアントが通信を行うことができます。これにより、リモートマシン上の

X11 Window System

ウィンドウマネージャ

X はあくまでウィンドウシステムの枠組みを提供しているだけなので、ユーザーがウィンドウの位置や見た目を変更できるようにするプログラムであるウィンドウマネージャ (Window Manager) が別途必要です。代表的なウィンドウマネージャには、Openbox、Fluxbox、Metacity などがあります。

ディスプレイマネージャ

GUI でログイン画面を表示するプログラムをディスプレイマネージャと呼びます。ディスプレイマネージャが起動後に X Server を立ち上げ、ユーザーがログインするとデスクトップ環境やウィンドウマネージャを自動的に開始する仕組みになっています。代表的なディスプレイマネージャには、LightDM、GDM (GNOME Display Manager)、KDM (KDE Display Manager) などがあります。

デスクトップ環境

ウィンドウマネージャに加え、パネルやファイルマネージャ、設定ツールなどを統合した環境を指します。これらのデスクトップ環境は、X 上で動作するウィンドウマネージャや各種アプリケーションをあらかじめまとめて提供しています。代表的なデスクトップ環境には、GNOME、KDE、Xfce、LXDE などがあります。

startx コマンド

startx コマンドは、X Window System セッションを開始するためのコマンドです。X サーバーを起動し、ウィンドウマネージャまたはデスクトップ環境を実行します。 昔は、コンピュータのリソースが限られていたため、リソースを多く消費する GUI システムを常時実行する代わりに GUI が必要になった際に起動する使われ方をしていました。現代では、GUI システムは常時実行されていると考えられているため、startx を使用する機会はあまりないかもしれません。

Linux – systemd のターゲット (target) について解説 | pystyle

基本構文

startx [ [ client ] options ... ] [ -- [ server ] [ display ] options ... ]

設定ファイル

startx が読み込み設定ファイルとして、以下の 3 つがあります。

  • .xserverrc: X サーバーの起動時に使用されるスクリプトファイル
  • .xinitrc: X サーバーが起動した後に実行されるスクリプトファイル。ウィンドウマネージャやアプリケーションの起動コマンドを含む。
  • .Xauthority: X サーバーの認証情報を保存するファイル

以下に .xserverrc.xinitrc、および .Xauthority の違いを説明します。

.xserverrc

.xserverrc は、X サーバーの起動時に使用されるスクリプトファイルです。このファイルには、X サーバーの設定や起動オプションを指定するコマンドが含まれます。 ~/.xserverrc がない場合、デフォルト設定の /etc/X11/xinit/xserverrc が読み込まれます。

.xinitrc

.xinitrc は、X サーバーが起動した後に実行されるスクリプトファイルです。このファイルには、ウィンドウマネージャやデスクトップ環境、その他のアプリケーションを起動するためのコマンドが含まれます。 ~/.xinitrc がない場合、デフォルト設定の /etc/X11/xinit/xinitrc が読み込まれます。

.Xauthority

~/.Xauthority は、X サーバーの認証情報を保存するためのファイルです。このファイルには、X クライアントが X サーバーに接続する際に使用する認証トークンが含まれます。通常、このファイルは自動的に作成され、ユーザーが手動で編集することはほとんどありません。

コメント

コメントする