第7章 X Window システム

目次

7.1. 重要パッケージ
7.2. デスクトップ環境の設定
7.2.1. Debian メニュー
7.2.2. Freedesktop.org メニュー
7.2.3. GNOME デスクトップ環境下の Debian メニュー
7.3. サーバー/クライアント関係
7.4. X サーバー
7.4.1. X サーバーの (再)設定
7.4.2. X サーバーへの接続方法
7.5. X Window システムの起動
7.5.1. gdm3 で X セッションをスタート
7.5.2. X セッションのカスタム化 (古典的方法)
7.5.3. X セッションのカスタム化 (新方法)
7.5.4. リモート X クライアントを SSH 経由で接続
7.5.5. インターネット経由のセキュアーな X ターミナル
7.6. X Window でのフォント
7.6.1. 基本的フォント
7.6.2. 追加のフォント
7.6.3. CJK フォント
7.7. X アプリケーション
7.7.1. X オフィスアプリケーション
7.7.2. X ユーティリティーアプリケーション
7.8. X トリビア
7.8.1. X でのキーマップとポインターボタンのマッピング
7.8.2. 古典的 X クライアント
7.8.3. X ターミナルエミュレーター — xterm
7.8.4. X クライアントを root で実行

Debian システム上の X Window システムX.Org 由来のソースに基づいています。2009年7 月現在、それは X11R7.1(etch) と X11R7.3(lenny) と X11R7.3(squeeze) と X11R7.4(sid) です。

7.1. 重要パッケージ

インストールを簡略化するための (メタ)パッケージが少々あります。

表7.1 X Window のためのキーとなる (メタ)パッケージのリスト

(メタ)パッケージ ポプコン サイズ 説明
xorg I:45 76 X ライブラリー、X サーバー、フォントセット、基本的な X クライアントとユーティリティーの集合 (メタパッケージ)
xserver-xorg V:18, I:53 362 このパッケージは X サーバーのフルスイーツとその設定
xbase-clients I:40 59 X クライアントの雑多な集合
x11-common V:44, I:86 463 X Window システムのためのファイルシステムインフラ
xorg-docs I:3 2056 X.Org ソフトウエアースイーツの雑多な文書
menu V:29, I:53 1757 メニューに対応しているアプリケーションに関して Debian メニューを生成
gksu V:25, I:47 207 su(1)sudo(8) の Gtk+ フロントエンド
menu-xdg V:14, I:46 76 Debian メニュー構造を freedesktop.org の xdg メニュー構造に変換
xdg-utils V:22, I:50 300 freedesktop.org によって提供される統合デスクトップ環境のためのユーティリティー
gnome-desktop-environment I:25 42 標準の GNOME デスクトップ環境 (メタパッケージ)
kde-standard I:6 34 コアの KDE デスクトップ環境 (メタパッケージ)
xfce4 I:6 40 Xfce 軽量デスクトップ環境 (メタパッケージ)
lxde-core I:2 29 LXDE 軽量デスクトップ環境 (メタパッケージ)
fluxbox V:0.7, I:2 4387 Fluxbox: 自由自在に設定可能でリソース消費が少ない X ウィンドウマネージャー

X の基本に関しては、X(7)the LDP XWindow-User-HOWTO を参照下さい。

7.2. デスクトップ環境の設定

デスクトップ環境は、通常 X ウィンドウマネージャーとファイルマネージャーと互換性あるユーティリティープログラムのスイートの組み合わせです。

GNOMEKDEXfceLXDE 等の充実したデスクトップ環境aptitude のタスクメニューを使って設定できます。

[ヒント] ヒント

タスクメニューは Debian の unstable/testing 環境下では最新のパッケージの変遷状態を反映していないかもしれません。そのような状況ではパッケージ間のコンフリクトを避けるために aptitude(8) のタスクメニューの下でいくつかの (メタ)パッケージを非選択にする必要があります。(メタ)パッケージを非選択にする場合には、それらに依存関係を提供しているパッケージが自動削除されないように特定のパッケージを手動選択しなければいけません。

上記と違う方法として、Fluxbox 等の X ウィンドウマネージャーだけを使って簡単な環境を設定する事もできます。

X ウィンドウマネージャーやデスクトップ環境のガイドは X のためのウィンドウマネージャーを参照下さい。

7.2.1. Debian メニュー

Debian メニューシステムmenu パッケージの update-menus(1) を使って、テキストと X の両指向のプログラムに関して一般化されたインターフェースを提供します。各パッケージは "/usr/share/menu/" ディレクトリーにメニューデーターをインストールします。"/usr/share/menu/README" を参照下さい。

7.2.2. Freedesktop.org メニュー

Freedesktop.org の xdg メニューシステム対応の各パッケージは "/usr/share/applications/" の下の "*.desktop" で提供されるそのメニューデーターをインストールします。Freedesktop.org スタンダード対応の現代的デスクトップ環境は xdg-utils パッケージを使ってこれらのデーターからそれぞれのメニューを生成します。"/usr/share/doc/xdg-utils/README" を参照下さい。

7.2.3. GNOME デスクトップ環境下の Debian メニュー

GNOME デスクトップ環境下で伝統的な Debian メニューにアクセスするには menu-xdg をインストールし、"System" → "Preference" → "Main Menu" とし、"Debian" のボックスをチェックします。

[ヒント] ヒント

Freedesktop.org スタンダード対応の他の現代的デスクトップ環境でも同様の対応が必要かもしれません。

7.3. サーバー/クライアント関係

X Window システムはサーバーとクライアントのプログラムの組み合わせとして起動されます。ローカルリモートと言う言葉に対応するサーバークライアントと言う言葉の意味に注意を払う必要があります。

表7.2 サーバー/クライアントの用語法のリスト

タイプ 説明
X サーバー ユーザーのディスプレーや入力デバイスが接続されたローカルホスト上で実行されるプログラム。
X クライアント データーを処理し X サーバーへ話しかけるリモートホスト上で実行されるプログラム。
アプリケーションサーバー データーを処理しクライアントへ話しかけるリモートホスト上で実行されるプログラム。
アプリケーションクライアント ユーザーのディスプレーや入力デバイスが接続されたローカルホスト上で実行されるプログラム。

7.4. X サーバー

X サーバーの情報は xorg(1) を参照下さい。

7.4.1. X サーバーの (再)設定

[注記] 注記

X サーバー (lenny 以降) は、その設定に "/etc/X11/xorg.conf" からの情報より HALD-bus 等の標準化された OS サービスからの情報を使うように書き換えられています。このため "/etc/X11/xorg.conf" の内容は減ってきています。X サーバーの移行問題の回避をする必要があるかもしれません。

次のようにすると dexconf(1) を使って新たな "/etc/X11/xorg.conf" ファイルが生成して X サーバーが (再)設定されます。

# dpkg-reconfigure --priority=low x11-common
# dpkg-reconfigure --priority=low xserver-xorg

この "/etc/X11/xorg.conf" ファイルを手動編集してはいるが自動的にファイルを更新したい場合には、次のコマンドを実行します。

# sudo dpkg-reconfigure -phigh xserver-xorg

あなたのモニターのスペックに関して注意深く確認します。大きな高解像度の CRT モニターの場合、チラつきを軽減するためにモニターの許容する限りできるだけ高いリフレッシュレート (85 Hz なら十二分、75 Hz で十分) 設定することが望ましい。LCD モニターの場合、その低速反応性のためにより低速の標準リフレッシュレート (60 Hz) 設定で通常問題はありません。

[注記] 注記

あなたのモニターシステムのハードウエアーを破壊するかもしれないので、高過ぎるリフレッシュレートを使わないように注意して下さい。

7.4.2. X サーバーへの接続方法

"X サーバー " (ディスプレー側) が"X クライアント" (アプリケーション側) からの接続を許可するようにするにはいくつかの方法があります。

表7.3 X サーバーへの接続方法のリスト

方法 パッケージ ポプコン サイズ ユーザー 暗号化 適切な用途
xhost コマンド xbase-clients I:40 59 非確認 いいえ 非推奨
xauth コマンド xbase-clients I:40 59 確認済み いいえ パイプ経由のローカル接続用
ssh -X コマンド openssh-client V:56, I:99 2246 確認済み はい リモートネットワーク接続用
GNOME ディスプレーマネージャー gdm3 V:22, I:29 5899 確認済み いいえ (XDMCP) パイプ経由のローカル接続用
KDE ディスプレーマネージャー kdm V:7, I:10 3940 確認済み いいえ (XDMCP) パイプ経由のローカル接続用
X ディスプレーマネージャー xdm V:0.7, I:1.9 725 確認済み いいえ (XDMCP) パイプ経由のローカル接続用
WindowMaker ディスプレーマネージャー wdm V:30, I:86 1924 確認済み いいえ (XDMCP) パイプ経由のローカル接続用
LTSP ディスプレーマネージャー ldm V:0.01, I:0.11 339 確認済み はい リモート SSH ネットワーク接続用 (シンクライアント)

[警告] 警告

暗号手法を使っている等といった非常に良い理由無しには、X 接続のためにセキュアーされていないネットワーク経由のリモート TCP/IP 接続を使ってはいけません。暗号化無しのリモート TCP/IP ソケット接続は盗聴の被害に会いやすく、Debian システムではデフォールトで無効化されています。"ssh -X" を使います。

[警告] 警告

セキュアーされていないネットワーク経由で XDMCP 接続も使ってはいけません。XDMCP 接続は、UDP/IP 経由で暗号化せずデーターを送信するので盗聴攻撃を受けやすいです。

[ヒント] ヒント

LTSP は、Linux ターミナルサーバープロジェクトのことです。

7.5. X Window システムの起動

X Window システムは X サーバーとそれに接続する X クライアントの組み合わせの X セッションとしてよく起動されます。通常のデスクトップ環境ではそれらの両方ともワークステーション上で実行されます。

X session は次で起動されます。

  • コマンドラインからの startx コマンド

  • "/etc/rc?.d/" ディレクトリー ("?" はランレベルに対応) 中の最後にある起動スクリプトから起動される X ディスプレーマネージャーデーモンプログラム *dm の1つ

[ヒント] ヒント

ディスプレーマネージャーデーモンの起動スクリプトは実際に実行される前に "/etc/X11/default-display-manager" ファイルの内容を確認します。こうすることで X ディスプレーマネージャーデーモンプログラムが1つだけが実行されることを確実にします。

[ヒント] ヒント

X ディスプレーマネージャーの初期環境変数に関しては、「X Window の下でのみ特定ロケール」を参照下さい。

本質的にこれらすべてのプログラムは "/etc/X11/Xsession" スクリプトを実行します。そうすることで、"/etc/X11/Xsession" スクリプトは、"/etc/X11/Xsession.d/" ディレクトリー中のスクリプトを run-parts(8) 風に実行します。これは本質的に次の順番で見つかる最初のプログラムを exec builtin コマンドで実行することです。

  1. もし定義されていた場合には、X ディスプレーマネージャーにより "/etc/X11/Xsession" の引数として指定されたスクリプト。

  2. もし定義されていた場合には、"~/.xsession" か "~/.Xsession" スクリプト。

  3. もし定義されていた場合には、"/usr/bin/x-session-manager" コマンド。

  4. もし定義されていた場合には、"/usr/bin/x-window-manager" コマンド。

  5. もし定義されていた場合には、"/usr/bin/x-terminal-emulator" コマンド。

このプロセスは "/etc/X11/Xsession.options" の内容に影響されます。これらの "/usr/bin/x-*" コマンドが指し示すプログラムが正確に何であるかは Debian の alternative システムにより決定され、"update-alternatives --config x-session-manager" 等によって変更されます。

7.5.1. gdm3 で X セッションをスタート

gdm3(1) はメニューから X セッションのセッションのタイプ (デスクトップ環境: 「デスクトップ環境の設定」) とか、言語 (ロケール: 「ロケール」) を選択できるようにします。それは "~/.dmrc" の中に選択されたデフォールト値を次のように保存します。

[Desktop]
Session=default
Language=ja_JP.UTF-8

7.5.2. X セッションのカスタム化 (古典的方法)

"/etc/X11/Xsession.options" が、"#" 文字が前に付いていない "allow-user-xsession" と言う行を含んでいるシステム上では、誰でも "~/.xsession" か "~/.Xsession" を定義することでシステムコードを完全にオーバーライドして "/etc/X11/Xsession" の挙動をカスタム化できます。"~/.xsession" ファイル中の最後のコマンドはあなたの最も好む X window/ セッションマネージャーを起動するように "exec some-window/session-manager" という形式の使う必要があります。

7.5.3. X セッションのカスタム化 (新方法)

上記のように完全にシステムコードをオーバーライドすること無しに X セッションをカスタム化する新方法を次に示します。

  • ディスプレーマネージャー gdm3 は特定のセッションを選択する事ができて、それを "/etc/X11/Xsession" の引数に設定できます。

  • "~/.xsessionrc" ファイルが起動プロセスの一部として実行されます。(デスクトップ非依存)

  • "~/.gnomerc" ファイルが起動プロセスの一部として実行されます。(GNOME デスクトップのみ)

  • GUI プログラムで提供されるセッション管理ソフトが "~/.gnome2/session" ファイルなどを使うかもしれません。

7.5.4. リモート X クライアントを SSH 経由で接続

"ssh -X" を使うことで、ローカルの X サーバーからリモートのアプリケーションサーバーへのセキュアーな接続が可能となります。

コマンドラインオプション "-X" を使わないでおくには、リモートホストの "/etc/ssh/sshd_config" 中の "X11Forwarding" エントリーを "yes" と設定します。

ローカルホスト上の X サーバーの起動します。

ローカルホスト上で xterm を開きます。

ssh(1) を実行してリモートサイトとの接続を次のように確立します。

localname @ localhost $ ssh -q -X loginname@remotehost.domain
Password:

リモートホスト上の "gimp" 等の X アプリケーションコマンドを次のように実行します。

loginname @ remotehost $ gimp &

ここに書かれた手法はリモート X クライアントがあたかもローカルの UNIX ドメインソケット経由でローカル接続されているかのようにして、リモート X クライアントからの出力を表示できるようにします。

7.5.5. インターネット経由のセキュアーな X ターミナル

インターネット経由のセキュアーな X ターミナルは ldm 等の専用のパッケージを使えば簡単に実現でき、リモートで実行される X デスクトップ環境の全てを表示します。あなたのローカル機器は SSH 経由で接続されたリモートのアプリケーションサーバーのシンクライアントになります。

7.6. X Window でのフォント

2002年に、Fontconfig 2.0 がフォントアクセスの設定とカスタム化のためのディストリビューション非依存のライブラリーとして作られました。Debian はsqueeze 以降 Fontconfig 2.0 だけをそのフォント設定に使います。

X Window システムのフォントサポートは次のように要約できます。

  • 旧来の X サーバー側フォントサポートシステム

    • 旧式バージョンの X クライアントアプリケーションとの下位互換性ためにオリジナルの中核 X11 フォントシステムが提供されています。

    • オリジナルの中核 X11 フォントは X サーバーにインストールされます。

  • 現代的な X クライアント側フォントサポートシステム

    • 現代的な X システムはこの後にリストされる (「基本的フォント」「追加のフォント」「CJK フォント」) 全てのフォントをアンチエリアシングなどの先進的機能とともにサポートします。

    • Xft 2.0 はGNOMEKDEOpenOffice.org 由来等の現代的な X アプリケーションを FreeType 2.0 ライブラリーと結びつけます。

    • FreeType 2.0 はフォントのラスター化ライブラリーを提供します。

    • FontconfigXft 2.0 のためのフォント規定を提供します。その設定は fonts.conf(5) を参照下さい。

    • 現代的な Xft 2.0 を使う X アプリケーションは現代的な X サーバーに X レンダリング拡張を使って話しかけます。

    • X レンダリング拡張はフォントアクセスとグリフイメージ生成を X サーバーから X クライアントに移動します。

表7.4 X Window フォントシステムをサポートするパッケージのテーブル

パッケージ ポプコン サイズ 説明
xfonts-utils V:13, I:73 516 X Window システムフォントユーティリティープログラム
libxft2 V:46, I:76 160 Xft、X アプリケーションと FreeType フォントラスター化ライブラリーをつなげるライブラリー
libfreetype6 V:62, I:94 835 FreeType 2.0 フォントラスター化ライブラリー
fontconfig V:45, I:74 466 Fontconfig、汎用フォント設定ライブラリー — サポートバイナリー
fontconfig-config I:83 331 Fontconfig、汎用フォント設定ライブラリー — 設定データー

フォント設定情報は次のようにして確認できます。

  • 中核 X11 フォントパスに関しては "xset q"

  • fontconfig のフォントデフォールトに関しては "fc-match"

  • fontconfig で利用可能なフォントに関しては "fc-list"

[ヒント] ヒント

"The Penguin and Unicode" は現代的な X Window システムの良い概論です。http://unifont.org/ にある他の文書も Unicode フォントや Unicode 化されたソフトや国際化や Unicode のフリー (英語で自由と無償という意味)/ リブレ (仏語等で自由の意味、無償という意味は無い)/ オープンソース (FLOSS) オペレーティングシステム上での使い勝手の問題に関する良い情報源です。

7.6.1. 基本的フォント

コンピューターフォントには大きくわけて2つのタイプがあります。

  • ビットマップフォント (低解像度のラスター化で良好)

  • アウトラインやストロークフォント (高解像度ラスター化で良好)

ビットマップフォントを拡大するとギザギザのイメージになってしまいますが、アウトラインやストロークフォント拡大するとスムーズなイメージになります。

Debian システム上のビットマップフォントは、".pcf.gz" というファイル拡張子を持った圧縮された X11 pcf ビットマップフォントファイルとして提供されます。

Debian システム上のアウトラインフォントは次で提供されます。

  • ".pfb" (バイナリーフォントファイル) と ".afm" (フォントメトリクスファイル) というファイル拡張子を持った PostScript Type 1 フォントファイル。

  • ".ttf" というファイル拡張子を通常持った TrueType (もしくは OpenType) フォントファイル。

[ヒント] ヒント

OpenTypeTrueTypePostScript Type 1 の両方を置き換えることを目指しています。

表7.5 PostScript Type 1 フォントへの対応表

フォントパッケージ ポプコン サイズ サンセリフフォント セリフフォント モノスペースフォント フォントの起源
PostScript N/A N/A Helvetica Times Courier Adobe
gsfonts V:17, I:67 4632 Nimbus Sans L Nimbus Roman No9 L Nimbus Mono L URW (Adobe 互換サイズ)
gsfonts-x11 I:27 68 Nimbus Sans L Nimbus Roman No9 L Nimbus Mono L PostScript Type 1 フォントでの X フォントサポート。
t1-cyrillic I:2 4984 Free Helvetian Free Times Free Courier 拡張 URW (Adobe 互換サイズ)
lmodern V:2, I:16 42620 LMSans* LMRoman* LMTypewriter* Computer Modern (TeX 由来) に準拠したスケーラブルな PostScript と OpenType のフォント

表7.6 TrueType フォントへの対応表

フォントパッケージ ポプコン サイズ サンセリフフォント セリフフォント モノスペースフォント フォントの起源
ttf-mscorefonts-installer V:0.3, I:11 71 Arial Times New Roman Courier New Microsoft (Adobe 互換サイズ) (これは non-free データーをインストールします)
ttf-liberation I:48 47 Liberation Sans Liberation Serif Liberation Mono Liberation フォントプロジェクト (Microsoft 互換サイズ)
ttf-freefont V:16, I:48 5076 FreeSans FreeSerif FreeMono GNU freefont (Microsoft 互換サイズ)
ttf-dejavu I:67 76 DejaVu Sans DejaVu Serif DejaVu Sans Mono DejaVu、Unicode 対応 Bitstream Vera
ttf-dejavu-core V:10, I:79 2868 DejaVu Sans DejaVu Serif DejaVu Sans Mono DejaVu、Unicode 対応 Bitstream Vera (sans, sans-bold, serif, serif-bold, mono, mono-bold)
ttf-dejavu-extra I:66 6560 N/A N/A N/A DejaVu、Unicode 対応 Bitstream Vera (oblique, italic, bold-oblique, bold-italic, condensed)
ttf-unifont I:3 16044 N/A N/A unifont GNU Unifont、Unicode 5.1 基本多言語面 (BMP) 中の全印刷可能文字

[ヒント] ヒント

DejaVu フォントは Bitstream Vera フォントに基づきそれを包含します。

7.6.2. 追加のフォント

aptitude(8) を使うと追加のフォントを簡単に見つけられます。

  • "Tasks" → "Localization" の下の短いパッケージ一覧

  • debtag への正規表現: "~Gmade-of::data:font" を使ってフォントデーターにフィルターされた平坦なパッケージ一覧

  • パッケージ名への正規表現: "~nxfonts-" を使って BDF (ビットマップ) フォントパッケージにフィルターされた平坦なパッケージ一覧

  • パッケージ名への正規表現: "~nttf-" を使って TrueType (アウトライン) フォントパッケージにフィルターされた平坦なパッケージ一覧

フリーなフォントは限られていることがあるので、Debian ユーザーにとっていくつかの商用 TrueType フォントをインストールする選択肢があります。こういったことをユーザーが簡単しやすいようにいくつかの利便性のためのパッケージが作成されています。

  • ttf-mathematica4.1

  • ttf-mscorefonts-installer

あなたのフリーなシステムを non-Free のフォントで汚染する事になるとはいえ、TrueType フォントの選択肢は非常に沢山あります。

7.6.3. CJK フォント

CJK (中日韓)文字のフォントに焦点を当てキーポイントを記します。

表7.7 CJK フォント名中でフォントタイプを示すために使われるキーワード表

フォントタイプ 日本語フォント名 中国語フォント名 韓国語フォント名
サンセリフ gothic, ゴチック hei, gothic dodum, gulim, gothic
セリフ mincho, 明朝 song, ming batang

"P" の付いた "VL PGothic" のようなフォント名は、固定幅フォントの "VL Gothic" フォントに対応するプロポーショナルフォントです。

例えば、Shift_JIS コードテーブルには 7070文字があります。それらは次のように分類できます。

  • JIS X 0201 1バイト文字 (191文字、別名: 半角文字)

  • JIS X 0208 2バイト文字 (6879文字、別名: 全角文字)

2バイト文字は CJK 固定幅フォントを使うコンソールターミナル上で倍の幅を占めます。このような状況に対応するために、ファイル拡張子 ".hbf" を使う Hanzi ビットマップフォント (HBF) ファイルが1バイトと2バイトの文字を含むフォントのために使えます。

TrueType フォントファイルのための空間を節約するために、ファイル拡張子 ".ttc" を持つ TrueType フォントコレクションファイルを使う事ができます。

文字の複雑なコード空間をカバーするために、CID でキーされた PostScript Type 1 フォントは "%!PS-Adobe-3.0 Resource-CMap" で始まる CMap ファイルとともに使われます。これは通常の X ディスプレーではほとんど使われませんが PDF のレンダリング等では使われます (「X ユーティリティーアプリケーション」参照下さい)。

[ヒント] ヒント

ハン(漢)統一のために複数のグリフがいくつかの Unicode コードポイントに対して期待されています。最も気になることの一つは CJK 国間で文字の位置が異なる "U+3001 IDEOGRAPHIC COMMA" と "U+3002 IDEOGRAPHIC FULL STOP" です。"~/.fonts.conf" を使って日本語中心のフォントを中国語中心のフォントより優先順位を上げるよう設定することで日本人は安心できるようになります。

7.7. X アプリケーション

7.7.1. X オフィスアプリケーション

基本的なオフィスアプリケーションのリストを記します (OO は OpenOffice.org)。

表7.8 基本的な X オフィスアプリケーションのリスト

パッケージ ポプコン パッケージサイズ タイプ 説明
openoffice.org-writer V:16, I:30 164 OO ワードプロセッサ
openoffice.org-calc V:14, I:29 164 OO スプレッドシート
openoffice.org-impress V:13, I:29 164 OO プレゼンテーション
openoffice.org-base V:12, I:29 164 OO データーベース管理
openoffice.org-draw V:13, I:29 164 OO ベクトル画像エディター (ドロー)
openoffice.org-math V:13, I:29 164 OO 数式エディター
abiword V:5, I:11 5437 GNOME ワードプロセッサ
gnumeric V:7, I:11 7684 GNOME スプレッドシート
gimp V:9, I:46 13086 GTK ビットマップ画像エディター (ペイント)
inkscape V:18, I:37 80264 GNOME ベクトル画像エディター (ドロー)
dia-gnome V:1.1, I:2 617 GNOME フローチャートやダイアグラムエディター
planner V:0.2, I:1.7 1146 GNOME プロジェクト管理
kword V:0.2, I:1.0 6623 KDE ワードプロセッサ
kspread V:0.2, I:1.1 10968 KDE スプレッドシート
kpresenter V:0.17, I:0.9 8633 KDE プレゼンテーション
kexi V:0.18, I:1.1 7216 KDE データーベース管理
karbon V:0.2, I:1.0 2360 KDE ベクトル画像エディター (ドロー)
krita V:0.2, I:1.3 11972 KDE ビットマップ画像エディター (ペイント)
kchart V:0.14, I:1.4 14 KDE 画像と図表ドロープログラム
kformula V:0.13, I:0.9 2092 KDE 数式エディター
kplato V:0.09, I:1.0 5845 KDE プロジェクト管理

7.7.2. X ユーティリティーアプリケーション

著者の目に止まった基本的ユーティリティーアプリケーションのリストを記します。

表7.9 基本的 X ユーティリティーアプリケーションのリスト

パッケージ ポプコン パッケージサイズ タイプ 説明
evince V:28, I:41 998 GNOME 文書 (pdf) ビューワー
okular V:6, I:10 3215 KDE 文書 (pdf) ビューワー
evolution V:16, I:37 5046 GNOME 個人情報管理 (グループウエアと電子メール)
kontact V:0.9, I:6 4971 KDE 個人情報管理 (グループウエアと電子メール)
scribus V:1.2, I:3 54492 KDE デスクトップページレイアウトエディター
glabels V:0.16, I:0.7 1061 GNOME ラベルエディター
gnucash V:0.6, I:2 7016 GNOME 個人会計
homebank V:0.12, I:0.5 759 GTK 個人会計
kmymoney V:0.19, I:0.6 9466 KDE 個人会計
xsane V:5, I:34 1368 GTK スキャナーのフロントエンド

[注意] 注意

evinceokular によって CJK の PDF 文書を Cmap データー (「CJK フォント」) を使って表示する際には poppler-data パッケージ (以前は non-free だった、「Ghostscript」参照下さい) が必要です。

[注記] 注記

scribus (KDE) のようなソフトウエアーを GNOME デスクトップ環境にインストールすることは、同様の機能が GNOME デスクトップ環境下で利用でき無いのでまったく問題ありません。ただ、機能が重複するパッケージをインストールしすぎるとあなたのメニューが忙しくなってしまいます。

7.8. X トリビア

7.8.1. X でのキーマップとポインターボタンのマッピング

xmodmap(1) は X Window システム中でのキーマップとポインターボタンのマッピングのためのユーティリティーです。keycode を知るには、X 環境下で xev(1) を実行してキーを押さえます。keysym の意味を知るには、"/usr/include/X11/keysymdef.h" ファイル (x11proto-core-dev パッケージ) 中の MACRO 定義を覗いて下さい。このファイル中の全ての "#define" 文は keysym 名に "XK_" を前付けして名づけられています。

7.8.2. 古典的 X クライアント

xterm(1) のような多くの伝統的 X クライアントプログラムは、ジオメトリやフォントや表示を規定する標準化されたコマンドラインオプションの組み合わせを使って起動できます。

それらはその見栄えを設定するのに X リソースデーターベースも用います。X リソースのシステム全体のデフォールトは "/etc/X11/Xresources/*" の中に保存されており、それらのアプリケーションのデフォールトは "/etc/X11/app-defaults/*" の中に保存されています。これらの設定をスタート点として使います。

"~/.Xresources" ファイルはユーザーのリソース規定を保存するために使われます。ログイン時にこのファイルは自動的にデフォールトの X リソースに合流されます。この設定変更をしてすぐ有効にするには、それを次のコマンドを使ってデーターベースに合流させます。

$ xrdb -merge ~/.Xresources

x(7)xrdb(1) を参照下さい。

7.8.3. X ターミナルエミュレーター — xterm

xterm(1) に関することは、http://dickey.his.com/xterm/xterm.faq.html で学びます。

7.8.4. X クライアントを root で実行

[警告] 警告

gdm3 のようなディスプレーマネージャーのプロンプトに root と入力して X ディスプレー・セッションマネージャーを root アカウントの下で実行してはいけません。なぜなら、たとえシステム管理業務を行おうとしている時ですら、こういう行為は安全でない (インセキュアー) と認識されているからです。X アーキテクチャ全てが root として実行するとインセキュアーと認識されています。通常ユーザーのような、可能な限り最低レベルの特権を使うように常にするべきです。

例えば "foo" 等の特定の X クライアントを root として実行する最も簡単な方法は次に記すように sudo(8) を使うことです。

$ sudo foo &
$ sudo -s
# foo &
$ gksu foo &
$ ssh -X root@localhost
# foo &
[注意] 注意

この目的だけのために上記のように ssh(1) を使うことはリソースの無駄遣いです。

X クライアントが X サーバーに接続するためには次のことに注意下さい。

  • 元のユーザーの "$XAUTHORITY" と "$DISPLAY" 環境変数の値は新たなユーザーの環境変数値にコピーされなければいけません。

  • "$XAUTHORITY" 環境変数の値で指示されるファイルが新たなユーザーによって読めなければいけません。

gksu パッケージ (ポプコン: V:25, I:47) はルート特権を獲得することに特化した GTK+ の GUI パッケージです。それが su(1) または sudo(8) をバックエンドに使うように "/apps/gksu/sudo-mode" gconf キーを使って設定できます。gconf キーを編集するには gconf-editor(1) を使えばできます (メニュー: "Applications" → "System Tools" → "Configuration Editor")。