diff --git a/ja_JP.eucJP/books/handbook/x11/chapter.sgml b/ja_JP.eucJP/books/handbook/x11/chapter.sgml index 144d8f6ebf..b84dc59e7b 100644 --- a/ja_JP.eucJP/books/handbook/x11/chapter.sgml +++ b/ja_JP.eucJP/books/handbook/x11/chapter.sgml @@ -1,1108 +1,1108 @@ X Window System 概要 FreeBSD では, ユーザーに強力なグラフィカルインターフェイスを与えるためにXFree86を採用しています. XFree86 は X Window System のオープンソースな実装です. この章では FreeBSD における XFree86 のインストールと設定について解説します. XFree86 についての情報やそれがサポートするビデオハードウェアについては XFree86の Web サイトをご覧ください. この章を読めば以下のことがわかるでしょう. X Window System の様々なコンポーネントと, それらが互いにどのように連携しているか. XFree86 のインストールと設定について 様々なウィンドウマネージャーのインストール方法 XFree86 での TrueType フォントの使い方 GUI でのログイン (XDM) についてそのセットアップ方法 この章を読み始める前に以下のことに注意してください. サードパーティ製ソフトウェアのインストール方法について知っていること (). X を理解する 初めて X を使うと, Microsoft Windows や Mac OS に慣れている人にとっては多少ショックを受けるでしょう. 様々な X のコンポーネントについての詳細の全てやそれらがどのようにやり取りするかについては理解する必要はありませんが, 基本的なことをいくつか知っていれば X を使う際に強力な武器になるでしょう. なぜ X? X は, UNIX用に書かれた最初のウィンドウシステムではありませんが, 最もポピュラーなものです. X のオリジナルの開発チームは X を書く前に別のウィンドウシステムを開発していました. そのシステムの名前は W (Winodwの W) です. X は単にローマ字でその次の文字だというだけなのです. X は X, X Window System, X11, もしくはその他の用語で呼ぶことができます. X Windows というのはできるだけ避けるようにしましょう. 詳しくは &man.X.1; をご覧ください. X のクライアント/サーバーモデル X は最初からネットワークを意識してデザインされており, クライアント - サーバーモデルということができます. - X では、X サーバーはキーボードやモニター, マウスが接続されたコンピューター上で動きます. このサーバーはディスプレイの表示やキーボード, マウスなどからの入力を司ります. 各 X アプリケーション (XTermNetscapeなど) は クライアントです. クライアントはこの座標にウィンドウを描いてくださいといったメッセージをサーバーへ送り, サーバーはユーザーが OK ボタンを押しましたといったようなメッセージを送り返すのです. + X では, X サーバーはキーボードやモニター, マウスが接続されたコンピューター上で動きます. このサーバーはディスプレイの表示やキーボード, マウスなどからの入力を司ります. 各 X アプリケーション (XTermNetscapeなど) は クライアントです. クライアントはこの座標にウィンドウを描いてくださいといったメッセージをサーバーへ送り, サーバーはユーザーが OK ボタンを押しましたといったようなメッセージを送り返すのです. 家庭は小さなオフィスのような環境で 1 台しかコンピューターがないという場合には X サーバーと X クライアントは同じコンピューター上で動くことになるでしょう. しかし, X サーバーをあまり速くないデスクトップコンピューターで動かし, X アプリケーション (クライアント) は例えばオフィス全体を捌くような速くて高機能なマシンで動かすことも可能なのです. ここでの話では, X のクライアントとサーバーの通信はネットワーク越しに行なわれるとします. これは, ある人々を混乱させることがあります. X での用語は彼らが期待するものとは正反対だからです. 彼らはX サーバーは地下にある大きなパワフルなマシンであり, X クライアントが自分たちのデスク上にあると期待するのです. - X のプロトコルには, クライアントとサーバーのマシンが同じ OS で動いていなければならないといったことを強制するものはなにもありませんし、同じ種類のコンピューターで動いている必要もないのです. X サーバーを Microsoft Windows や Apple の Mac OS で動かすことも可能ですし, そのようなソフトウェアもフリーのものから商用のまでいろいろとあります. + X のプロトコルには, クライアントとサーバーのマシンが同じ OS で動いていなければならないといったことを強制するものはなにもありませんし, 同じ種類のコンピューターで動いている必要もないのです. X サーバーを Microsoft Windows や Apple の Mac OS で動かすことも可能ですし, そのようなソフトウェアもフリーのものから商用のまでいろいろとあります. FreeBSD に付いてくる X サーバーは XFree86 と呼ばれるもので, FreeBSD のライセンスに似たライセンスに従ってフリーで配布されています. FreeBSD 用の商用 X サーバーも入手可能です. X ウィンドウマネージャー X のデザイン哲学は UNIX のそれに非常によく似ており, ツールであってポリシーではないのです. つまり, X はあるタスクがどのように達成されるべきかを示すものではありません. その代わり, ユーザーにはツールが与えられ, それらをどうするかはユーザーに委ねられているのです. この哲学は, X ではスクリーン上でウィンドウがどのように見えるべきか, マウスでそれらをどうやって動かすか, ウィンドウ間を移動するのにどういうキーストロークを使うべきか (例えば Microsoft Windows における Alt Tab ), 各ウィンドウのタイトルバーはどのように見えるべきか, それらはクローズボタンを持つべきかどうか, といったことを示すものではないというところまで拡大して解釈できます. その代わりに, X ではそういったことをウィンドウマネージャーと呼ばれるアプリケーションに任せるのです. X 用のウィンドウマネージャーは以下のようにたくさんあります. AfterStep, Blackbox, ctwm, Enlightenment, fvwm, Sawfish, twm, Window Maker, などなど. これらのウィンドウマネージャーはそれぞれ異なるルックアンドフィールを持っていますし, いくつかはバーチャルデスクトップをサポートしていますし, いくつかはデスクトップのマネージメントにキーストロークをカスタマイズできたり, スタートボタンやそれに類するもの持っているものもありますし, テーマをサポートをしており新しいテーマを適用することによってルックアンドフィールを完全に変えることができるものもあります. これらのウィンドウマネージャーやさらに多くのものはportsコレクションのx11-wmというカテゴリーからインストールすることが可能です. 加えて, KDEGNOMEといったデスクトップ環境はともにそれぞれのデスクトップに統合された独自のウィンドウマネージャーを持っています. それぞれのウィンドウマネージャーはまた異なる設定機構を備えており, 手で設定ファイルを編集しなければならないものや, 設定作業のほとんどの部分をGUIツールで可能なものもあります. 少なくとも 1 つ (sawfish) は Lisp 言語の変種で書かれた設定ファイルを持っています. フォーカスポリシー ウィンドウマネージャーのもう一つの機能はマウスのフォーカスポリシーに関するものです. 全てのウィンドウはそれを選んでキーストロークを受け付けるようになるための方法が必要です. そして, どのウィンドウがアクティブなのかを示す必要もあります. よく知られているフォーカスポリシーはclick-to-focusと呼ばれるもので, このモデルはMicrosoft Windowsで利用されており, あるウィンドウ内でマウスをクリックすればそのウィンドウがアクティブになる, というものです. X は特定のフォーカスポリシーをサポートするものではありません. 代わりにウィンドウマネージャーがそれをコントロールするのです. それぞれのウィンドウマネージャーがそれぞれのフォーカスポリシーをサポートしています. 全てのものは click-to-focus をサポートしていますし, 多くのものは他の方法もサポートしています. 最もポピュラーなフォーカスポリシーは次のものでしょう focus-follows-mouse マウスポインターの下にいるウィンドウがフォーカスされるというものです. ウィンドウは最全面にいる必要はありません. フォーカスを変えるには他のウィンドウにマウスポインターを動かすだけです. クリックする必要はありません. sloppy-focus - これはfocus-follows-mouseを少し拡張したものです. focus-follows-mouseでは, マウスがルートウィンドウ (背景) に移動した時にはフォーカスされているウィンドウがなく、キーストロークは単に捨てられます. sloppy-focusであればポインターが別のウィンドウに移った時のみフォーカスが変わり, 現在のウィンドウから出ただけでは変わりません. + これはfocus-follows-mouseを少し拡張したものです. focus-follows-mouseでは, マウスがルートウィンドウ (背景) に移動した時にはフォーカスされているウィンドウがなく, キーストロークは単に捨てられます. sloppy-focusであればポインターが別のウィンドウに移った時のみフォーカスが変わり, 現在のウィンドウから出ただけでは変わりません. click-to-focus アクティブなウィンドウはマウスクリックにより選択されます. ウィンドウは持ち上げられるでしょうし, 他の全てのウィンドウの前にきます. - 全てのキーストロークは、ポインターが別のウィンドウに動いた時でさえこのウィンドウに届きます. + 全てのキーストロークは, ポインターが別のウィンドウに動いた時でさえこのウィンドウに届きます. 多くのウィンドウマネージャーはこういったものに加え他のポリシーもサポートしています. ウィンドウマネージャー自身のドキュメントもよく読んでください. ウィジェット X のツールを提供しポリシーは提供しないというアプローチは, 各アプリケーションでスクリーンに現われるウィジェットにも適用されます. ウィジェットはクリック可能であったり他の方法で取り扱い可能な全てのユーザーインターフェイス用アイテムを指す用語です. ボタンやチェックボックス, ラジオボタン, アイコン, リスト, などがそうです. Microsoft Windows はこれらをコントロールと呼んでいます. Microsoft Windows や Apple の Mac OS はともに非常に厳密なポリシーをウィジェットに課しています. アプリケーション開発者は共通のルックアンドフィールに確実に従うことを想定されているわけです. X では, グラフィカルなスタイルやウィジェットのセットが特定のものに合わせたりすることに対してそれほど意識していませんでした. すなわち, X アプリケーションに共通のルックアンドフィール期待してはいけません. いくつかのポピュラーなウィジェットセットやその亜種があります. MIT のオリジナルのAthen ウィジェットやMotif (斜めになったエッジやグレイの陰影は Microsoft Windows をモデルにしたものです), OpenLook などです. 最近の新しめの X アプリケーションはほとんどが KDE で使われている Qt や GNOME プロジェクトで使われているGTKのようにモダンな見た目を持ったウィジェットセットを使っています. この点で言えば, UNIXのルックアンドフィールはいくつかの収斂しており, 初心者には簡単に使えるようになるでしょう. XFree86 のインストール XFree86をインストールする前にどのバージョンを動かすかを決めてください. XFree86 3.xはXFree86におけるメンテナンスブランチです. これは非常に安定しており, 非常にたくさんの数のグラフィックカードをサポートしているのですが, もう新しい機能は追加されません. XFree86 4.Xはシステムを完全に見直して設計したものであり, フォント自体のもっと良いサポートやアンチエイリアスなどといった多くの新しい機能も追加されています. 残念ながら, この新しいアーキテクチャーではビデオドライバーの書き直しが必要なため, 3.Xでサポートされていたいくつかの古いカードはまだサポートされていません. FreeBSDのセットアッププログラムを使えば, OSのインストール時にXFree86 3.3.6をインストールして設定することができます (に書かれています). XFree86 4.xを使いたい場合, まずベースとなるFreeBSDをインストールしてからXFree86のインストールを行うことになります. 例えば, XFree86 4.Xをportsコレクションからビルドしてインストールする場合には次のようにします. &prompt.root; cd /usr/ports/x11/XFree86-4 &prompt.root; make all install clean 他にはpkg_addツールを用いたり, XFree86のWebサイトで直接提供されているものを利用してXFree86 4.Xのバイナリパッケージをインストールするという方法もあります. この章の残りでは, XFree86をどのように設定すればいいか, またproductiveなデスクトップ環境をどのように設定するかについて解説します. Christopher Shumway による文章です XFree86 の設定 XFree86 4.X XFree86 はじめに XFree86 4.Xの設定を始める前に, 次の情報が必要となります. モニターの仕様 ビデオアダプターのチップセット ビデオアダプターのメモリー 水平走査周波数 垂直同期周波数 モニターの仕様は, XFree86 がどの解像度とリフレッシュレートで動くかを決定するために用いられます. こういった仕様は, 通常はモニターに付いてくるドキュメントやメイカーのWebサイトから得ることができます. 必要なものは二つの数字の範囲, 一つは水平走査周波数でもう一つは垂直同期周波数, です. ビデオアダプターのチップセットは XFree86 がグラフィックハードウェアとやり取りするためにどのドライバーモジュールを使うかを定義します. これは, ほとんどのチップセットでは自動的に行われるのですが失敗した時のために知っておいたほうがいいでしょう. ビデオメモリーはグラフィックアダプターがどの解像度とどの色数で動くことができるかを決めます. これは, ユーザーが自分のシステムにおける制限を理解するために知っておくことが重要です. XFree86 4.Xの設定 XFree86 4.X の設定は複数のステップの処理に分けられます. - まずは XFree86 オプションを付けて最初の設定ファイルを作りましょう. スーパーユーザーになって単に次のようにしてください。 + まずは XFree86 オプションを付けて最初の設定ファイルを作りましょう. スーパーユーザーになって単に次のようにしてください. &prompt.root; XFree86 -configure これにより, カレントワーキングディレクトリに XF86Config.new という XFree86 の設定ファイルのスケルトンが生成されます. XFree86 プログラムはシステム上のグラフィックハードウェアを探し, 検出されたハードウェア用の適切なドライバーをロードするように設定ファイルを作るのです. 次のステップは, 作成した設定ファイルで XFree86 が動くことを確認することです. そのためには以下のようにします. &prompt.root; XFree86 -xf86config XF86Config.new 黒とグレーのグリッドと X のマウスポインターが現われればその設定は成功です. テストから抜け出すためには単に次のキーを同時に押します. Ctrl Alt Backspace XFree86 4 のチューニング 次は XF86Config.new を好みに合うようにチューンします. &man.emacs.1; や &man.ee.1; のようなテキストエディターでファイルを開いてください. まずやることはモニターの周波数を加えることです. これらは水平と垂直の同期周波数と表現されるのが普通です. これらの値は XF86Config.new の "Monitor" のセクションに次のように加えます. Section "Monitor" Identifier "Monitor0" VendorName "Monitor Vendor" ModelName "Monitor Model" Horizsync 30-107 VertRefresh 48-120 EndSection HorizsyncVertRefresh - というキーワードが設定ファイル中にないかもしれません。その場合には, + というキーワードが設定ファイル中にないかもしれません. その場合には, Horizsync キーワードの後には水平走査周波数の, - VertRefresh キーワードの後には垂直同期周波数の正しい値を加えてください。 + VertRefresh キーワードの後には垂直同期周波数の正しい値を加えてください. 上の例では対象となるモニターの周波数が書かれています. XF86Config XF86Config.new はエディターで開いたままにしておき, 今度はデフォルトの解像度と色数を好みで選びましょう. Screen セクションに以下のように書きます. Section "Screen" Identifier "Screen0" Device "Card0" Monitor "Monitor0" DefaultColorDepth 24 SubSection "Display" Depth 24 Modes "1024x768" EndSubSection EndSection DefaultColorDepth というキーワードはデフォルトで動く色数について記述するためのものです. &man.XFree86.1; のコマンドラインスイッチ -bpp が使用された場合はこちらが優先されます. Modes というキーワードは与えられた色数におけるデフォルトの解像度を記述しておくためのものです. 上の例だとデフォルトの色数はピクセルあたり24ビットであり, この色数での解像度は1024ピクセル×768ピクセルです. 1024x768の解像度で動かすためには DefaultColorDepth というキーワードに 24 という値を与えて書き加えおき, "Display" サブセクションに求める Depth と Modes のキーワードを書いておきます. ターゲットのシステムのフラフィックハードウェアによって定義されているように, VESAスタンダードモードのみがサポートされていることに注意してください. 最後に, 設定ファイルを保存し, テストしてみてください. 全てうまくいけば &man.XFree86.1; が見つけることができる共通の場所に設定ファイルを置きます. これは, 通常は /etc/X11/XF86Config/usr/X11R6/etc/X11/XF86Config です. &prompt.root; cp XF86Config.new /etc/X11/XF86Config 設定ファイルを共通の場所に置いてしまえば設定は完了です. &man.startx.1; で XFree86 4.X を起動するために x11/wrapper ポートをインストールします. また, XFree86 4.X を &man.xdm.1; で立ち上げることも可能です. 高度な設定 Intel i810 グラフィックチップセットの設定 Intel i810 graphic chipset - Intel i810 統合チップセットは、カードをドライブするために XFree86 + Intel i810 統合チップセットは, カードをドライブするために XFree86 用の AGP プログラミングインターフェイスである agpgart が必要です. agpgart を利用するためには, &man.kldload.8; を使って agp.ko というカーネルローダブルモジュールをカーネルにロードしておく必要があります. - これは、/boot/loader.conf に次のように書いておけば &man.loader.8; + これは, /boot/loader.conf に次のように書いておけば &man.loader.8; がブート時に自動的にやってくれます. agp_load="YES" 次に, プログラミングインターフェイス用にデバイスノードを作る必要があります. AGP のデバイスノードを作るには, /dev で &man.MAKEDEV.8; を次のように起動します. &prompt.root; cd /dev &prompt.root; sh MAKEDEV agpgart これで他のグラフィックカードと同様に設定を行うことができるようになります. もし XFree86 4.1.0 (もしくはそれ以降) を使っており, fbPictureInit といったようなシンボルが見つからないというメッセージが現われるなら, XFree86 設定ファイルで Driver "i810" の後に次のような行を入れてみてください. Option "NoDDC" Murray Stokely Contributed by XFree86 でのフォントの使用 Type1 フォント XFree86 に付いてくるデフォルトのフォントは通常のデスクトップパブリッシングアプリケーションにとっては理想的とは言えない程度のものです. 文字を大きくするとジャギーになりプロフェッショナルとは言えないようなものになりますし, Netscape での小さなフォントは頭が悪そうに見えます. しかし, 世の中には質の高い Type1 (PostScript) フォントがいくつかあり, XFree86 ではバージョン 3.X でも 4.X でもそれらを簡単に利用することができます. 例えば, URW フォントコレクション (x11-fonts/urwfonts) には高品質の Type1 フォント (Times Roman, Helvetica, Palatino など) が含まれています. freefont コレクション (x11-fonts/freefont) にはもっとたくさんのフォントが含まれていますが, それらは Gimp のようなグラフィックソフトウェアで使用するためのものであり, スクリーンフォントとしては十分ではありません. さらに, XFree86 は簡単に TrueType フォントを使うように設定することも可能です. 後に出てくる TrueType フォントのセクション を参照してください. 上記の Type1 フォントコレクションを ports から入れる場合には次のコマンドを実行してください. &prompt.root; cd /usr/ports/x11-fonts/urwfonts &prompt.root; make install clean freefont や他のコレクションでも同じようにします. X サーバーにこれらのフォントがあることを教えるには (XFree86 バージョン 3 の場合は /etc/, バージョン 4 では /etc/X11/ にある) XF86Config の適切な場所に次のような行を加えます. FontPath "/usr/X11R6/lib/X11/fonts/URW/" 別の方法としては, X のセッション中に次のようなコマンドラインを実行します. &prompt.user; xset fp+ /usr/X11R6/lib/X11/fonts/URW &prompt.user; xset fp rehash これは動くのですが, X のセッションが終了すると消えてしまいます. 消えないようにするには X の起動時に読み込まれるファイル (通常の startx セッションの場合は ~/.xinitrc, XDM のようなグラフィカルなログインマネージャーを通してログインする時は ~/.xsession) に加えておきます. 三番目の方法は新しい XftConfig ファイルを使うことです. これに関しては アンチエイリアスのセクションを参照してください. TrueType フォント XFree86 4.X には TrueType フォントのレンダリング機能が組み込まれています. この機能を実現するために二つの異なるモジュールがあります. ここでは, "freetype" のほうがより他のフォントレンダリングバックエンドと似ているため, このモジュールを使うことにします. freetype モジュールを使うためには /etc/X11/XF86Config ファイルに以下の行を追加するだけです. Load "freetype" XFree86 3.3.X の場合, TrueType フォントサーバーが別に必要となります. Xfstt がよく使われるものです. Xfstt とインストールするのは簡単で, x11-servers/Xfstt ポートを利用してください. さて, まずは TrueType フォント用のディレクトリ (例えば /usr/X11R6/lib/X11/fonts/TrueType) を作り, そこに TrueType フォントを全て放り込みましょう. Macintosh の TrueType フォントはそのまま使うことができないことに注意してください. XFree86 で使うには Unix/DOS/Windows 用のフォーマットでなければならないのです. ファイルを置いたら ttmkfdir を使って fonts.dir ファイルを作ってください. このファイルにより, X は新しいファイルがイントールされたことがわかるのです. ttmkfdir は FreeBSD Ports コレクション, x11-fonts/ttmkfdir, からインストールできます. &prompt.root; cd /usr/X11R6/lib/X11/fonts/TrueType &prompt.root; ttmkfdir > fonts.dir 次に TrueType フォントのディレクトリをフォントパスに追加します. 上の Type1 フォントの場合と同じように, &prompt.user; xset fp+ /usr/X11R6/lib/X11/fonts/TrueType &prompt.user; xset fp rehash とするか, もしくは XF86Config ファイルに 行を追加するのです. これで終わりです. NetscapeGimp, StarOffice といった全ての X アプリケーションから TrueType フォントを使うことができます. (高解像度なディスプレイで見る Web ページ上のテキストみたいな) とても小さなフォントや (StarOffice にあるような) 非常に大きなフォントもかなり綺麗に見えるようになることでしょう. フォントのアンチエイリアス XFree86 では 4.0.2 以降でフォントのアンチエイリアスをサポートしています. 今のところ, ほとんど全てのソフトがこの新しい機能を使うメリットを亨受するようにはなっていません. しかし, Qt (KDE デスクトップ用のツールキット) はサポートしていますので, XFree86 4.0.2 以降と Qt 2.3 以降及び KDE を使う場合には全ての KDE/Qt アプリケーションでアンチエイリアスなフォントを使うことができます. アンチエイリアスを使うように設定するには, /usr/X11R6/lib/X11/XftConfig ファイルを作ります (既にある場合には編集してください). このファイルを使えばいくつかの先進的な機能を使うことができるのですが, このセクションでは最も簡単なところだけを解説します. まず, X サーバーに対してアンチエイリアスをかけるべきフォントを指定します. それぞれのフォントディレクトリに対して次のような行を加えます. dir "/usr/X11R6/lib/X11/Type1" アンチエイリアスをかけたい他のフォントディレクトリ (URW や truetype など) についても同じようにします. アンチエイリアスはスケーラブルなフォント (基本的には Type1 と TrueType) にのみ有効ですので, ビットマップフォントのディレクトリは加えないようにしてください. ここに含めたディレクトリは XF86Config ではコメントアウトします. アンチエイリアスをかけることによって境界が少しぼやけ, そのためにとても小さなテキストはさらに読みやすくなり, 大きなフォントではギザギザが消えるのです. しかし, 普通のテキストにかけた場合には目が疲れることになります. 9から13ポイントのサイズのフォントについてはアンチエイリアスをかけないようにするために次の行を加えます. match any size > 8 any size < 14 edit antialias = false; いくつかの等幅フォントにおいては, アンチエイリアスをかけるとスペーシングがうまくいかなくなる場合があります. 特に KED でその傾向があるようです. 解決方法の一つとして, そういったフォントに100のスペースを与えるというのがあります. そうするためには次の行を加えてください. match any family == "fixed" edit family =+ "mono"; match any family == "console" edit family =+ "mono"; (これによりfixedというフォントに他の "mono" という名前のエイリアスを付けます) そして次の行も加えてください. match any family == "mono" edit spacing = 100; 等幅フォントが必要な時にはつねに Lucidux を使うように (このフォントは実際いい感じですしスペーシングの問題もありません) するためには最後の行を次のように変更します (最後の行は異なるものに同じファミリー名を付けています). match any family == "mono" edit family += "LuciduxMono"; match any family == "Lucidux Mono" edit family += "LuciduxMono"; match any family == "LuciduxMono" edit family =+ "Lucidux Mono"; 最後に, このファイルを自分の .xftconfig として保存し, 次のコマンドを追加します. includeif "~/.xftconfig" 最後に一つ. LCD スクリーンではサブピクセルサンプリングが必要かもしれません. これは, 基本的には (水平方向に分かれている) 赤, 緑, 青の各コンポーネントを別々に扱うことによって水平方向の解像度を良くするというもので, そうすることによってドラマティックな結果が得られます. これを有効にするには XftConfig ファイルに次の行を加えます (ディスプレイの種類にもよりますが最後は ``rgb'' ではなく ``bgr''や ``vrgb'', ``vbgr'' かもしれませんので試してみて最も良いものを使ってください). match edit rgba=rgb; アンチエイリアスは, 次に X サーバーを立ち上げた時から有効になります. しかし, 上でも述べたようにその恩恵を受けるにはプログラム側での対処も必要です. 今のところ Qt は対応しているため, KDE 環境全体でアンチエイリアスのかかったフォントを用いることができます (KDE についての詳しいことは をご覧ください). gtk+ を同じようにするパッチもありますので, そのパッチを当てた gtk+ を使ってコンパイルし直せば GNOME 環境や Mozilla もまたアンチエイリアスなフォントを使うことができます. 実際には x11/gdkxft という port があり, リコンパイルしなくてもアンチエイリアスなフォントを使うことができます. 詳しくは をご覧ください. アンチエイリアスは, FreeBSD や XFree86 ではまだ新しい機能ですが, その設定はもっと簡単になるでしょうし, すぐにもっとたくさんのアプリケーションがサポートするようになるでしょう. Seth Kingsley Contributed by X ディスプレイマネージャー 概要 X ディスプレイマネージャー (XDM) は X Window System のオプショナルな一部分であり, ログインセッションの管理に用います. 機能を限定した X 端末やデスクトップ, 大規模なネットワークディレプレイサーバーといった場面ではこれが有用です. X Window System はネットワークとプロトコルから独立しているため, ネットワークで繋がれた X のクライアントとサーバーを動かすための設定はかなり幅が広くなります. XDM はどのディスプレイサーバーを選ぶかというグラフィカルな選択インターフェイスを提供し, ログイン名とパスワードのコンビネーションなどの認証情報を使ってログインすることができます. XDM がユーザーに &man.getty.8; (詳しくはをご覧ください) と同じ機能を提供することを考えてみてください. つまり, ディスプレイ上でシステムへのログインができ, ユーザーの代わりにセッションマネージャー (通常は X のウィンドウマネージャー) を起動することができるのです. XDM は, 次にログインするユーザーのためにログイン画面や chooser 画面を表示することができるのです. XDM の使用 XDM のデーモンプログラムは /usr/X11R6/bin/xdm にあります. このプログラムは root になればいつでも起動することができ, ローカルマシン上のディスプレイの管理を始めます. マシンをブートした時にはいつでも XDM を起動しておきたい場合, /etc/ttys にそのためのエントリを加えておくのが簡単です. このファイルのフォーマットや使用方法についての詳細は を参照してください. デフォルトの /etc/ttys ファイルには仮想端末上で XDM のデーモンプログラムを起動するための行 ttyv8 "/usr/X11R6/bin/xdm -nodaemon" xterm off secure があります. このエントリーはデフォルトでは無効になっており, 有効にするには 5 番目のカラムを off から on にし, の指示に従って &man.init.8; を再起動します. 最初のカラムはこのプログラムが管理する端末の名前で, この場合だと ttyv8 です. つまり, XDM は 9 番目仮想端末で起動されるということです. XDM の設定 XDM の設定用ディレクトリは /usr/X11R6/lib/X11/xdm です. このディレクトリには XDM の振る舞いや見た目を変更するために用いられるいくつかのファイルがあります. だいたいは以下のような感じです. ファイル 説明 Xaccess クライアント認証のルールセット Xresources デフォルトの X リソース Xservers 管理すべきリモートやローカルのディスプレイのリスト Xsession デフォルトのログイン時のセッションスクリプト Xsetup_* ログインインターフェイスの前にアプリケーションを起動するためのスクリプト xdm-config このマシンで動いている全てのディスプレイのグローバルな設定 xdm-errors サーバープログラムによって生成されるエラー xdm-pid 現在動いている XDM のプロセス ID このディレクトリにはまた, XDM の動作中にデスクトップをセットアップするために用いられるスクリプトやプログラムがいくつかあります. それぞれのファイルの目的を簡単に解説しましょう. 正確な文法や使い方は &man.xdm.1; に記述されています. デフォルトの設定では,単純な四角のログインウィンドウがあり, そこにはマシンのホスト名が大きなフォントで表示され, Login:Password: のプロンプトがその下に表示されています. XDM スクリーンのルックアンドフィールを変えるにはここから始めるのがいいでしょう. Xaccess XDM がコントロールするディスプレイに接続するためのプロトコルは X Display Manager Connection Protocol (XDMCP) と呼ばれます. このファイルにはリモートのマシンからの XDMCP 接続をコントロールするためのルールセットが書かれます. デフォルトでは, どんなクライアントからの接続も許可するようになっていますが, xdm-config を変更してリモートからのコネクションを待ち受けるようにしない限り問題ではありません. Xresources これはディスプレイの chooser とログインスクリーン用の application-defaults ファイルです. このファイルでログインプログラムの見た目を変更することができるのです. フォーマットは XFree86 のドキュメントで記述されている app-defaults ファイルのものと同じです. Xservers これは, chooser が選択肢として提供するリモートのディスプレイの一覧です. Xsession XDM でログインした後に実行されるデフォルトのセッションスクリプトです. 通常, 各ユーザーは ~/.xsessionrc というカスタマイズしたセッションスクリプトを持っており, こちらが優先されます. Xsetup_* これらは chooser やログインインターフェイスが表示される前に自動的に実行されます. それぞれのディスプレイには, Xsetup_ に続けてローカルのディスプレイ番号を付けたもの (例えばXsetup_0) を名前とするスクリプトがあります. 典型的な使い方は xconsole のようなバックグラウンドで動かすプログラムを一つか二つ起動することです. xdm-config This contains settings in the form of app-defaults that are applicable to every display that this installation manages. xdm-errors このファイルには XDM が起動しようとしている X サーバーからの出力が書き出されます. XDM が起動しようとしているディスプレイがなんらかの理由でハングした場合, このファイルのエラーメッセージを見てください. そういったメッセージは各ユーザーの ~/.xsession-errors にもセッション毎に書き出されます. ネットワークディスプレイサーバーの起動 あるディスプレイサーバーに他のクライアントが接続することができるようにするために, アクセスコントロールのルールを編集し, コネクションリスナーを有効にします. デフォルトでは保守的な設定になっています. XDM がそういったコネクションを待ち受けるようにするためには xdm-config にある次の行をコメントアウトします. ! SECURITY: do not listen for XDMCP or Chooser requests ! Comment out this line if you want to manage X terminals with xdm DisplayManager.requestPort: 0 そして, XDM を再起動します. app-defaults ファイルにおけるコメントは ! であっていつものような # ではないことに注意してください. アクセス制限はもっと厳しくしたいかもしれません. Xaccess ファイルにある例を参考にしたりオンラインマニュアル &man.xdm.1; を参照したりしてください. XDM の代わりになるもの デフォルトの XDM に代わるものがいくつかあります. 一つは XDM (KDE に付いてます) はその一つであり, この章の後ろで解説します. KDE はログイン時にウィンドウマネージャーを選ぶことができるのに加え, 見た目もかなり綺麗にしてくれます. Valentino Vaschetto Contributed by デスクトップ環境 このセクションでは, FreeBSD 上の X で利用可能ないくつかのデスクトップ環境について解説します. デスクトップ環境とは, 単なるウィンドウマネージャーから KDEGNOME といったような完全なデスクトップアプリケーションスイートまでカバーします. GNOME GNOME について GNOME はユーザーフレンドリーなデスクトップ環境で, ユーザーはコンピューターを簡単に使ったり設定したりできるようになります. GNOME にはパネル (アプリケーションを起動したり状態を表示したりするもの) , デスクトップ (データやアプリケーションが置かれる場所), 標準的なデスクトップツールやアプリケーションのセット, そしてアプリケーションが互いにうまくやり取りできるような仕組みが含まれています. 他の OS や環境に慣れている人でも GNOME の提供するグラフィック環境であれば心地よく感じるでしょう. GNOME のインストール GNOME をインストールする最も簡単な方法は, 第 2 章で解説した FreeBSD のインストールメニューのデスクトップ環境の設定を通して行うことです. また, package や ports を利用しても簡単にインストールできます. GNOME packageをネットワークからインストールするには, 以下のようにするだけです. &prompt.root; pkg_add -r gnome GNOME をソースから構築する場合, 次のように ports ツリーを使いましょう. &prompt.root; cd /usr/ports/x11/gnome &prompt.root; make install clean インストールできたらデフォルトのウィンドウマネージャーの代わりに GNOME を起動するように X サーバーに教えます. 自分の .xinitrc が既にある場合にはウィンドウマネージャーを起動するところの行を /usr/X11R6/bin/gnome-session を起動するように変更するだけです. 特にこのファイルを用意していない場合には次のようにすれば十分でしょう. &prompt.root; echo "/usr/X11R6/bin/gnome-session" > ~/.xinitrc 次に, startx とタイプすれば GNOME デスクトップ環境が起動します. もし XDM のようなディスプレイマネージャーを使っているなら, この方法ではうまくいきません. その代わり, 実行可能な .xsession というファイルを作成し, 同じコマンドを起動するようにします. そのためには, このファイルを編集してウィンドウマネージャーを /usr/X11R6/bin/gnome-session で置き換えます. &prompt.root; echo "#!/bin/sh" > ~/.xsession &prompt.root; echo "/usr/X11R6/bin/gnome-session" >> ~/.xsession &prompt.root; chmod +x ~/.xsession もう一つの方法は, ディスプレイマネージャーにログイン時にウィンドウマネージャーを選ぶようにさせることです. KDE2 の詳細についてのセクションで KDE のディスプレイマネージャーである kdm を使ってどのようにすればいいのかを解説しています. GNOME でアンチエイリアスなフォントの使用 XFree86 デスクトップでは, フォントのアンチエイリアスは KDE 環境ではじめて登場し標準のインストールでサポートされていますが, GNOME 環境のような gtk アプリケーションでも可能です. 最も素直なやり方は恐らく x11/gdkxft port にある libgdkxft を使うことです. この port をインストールしたら /usr/X11R6/share/doc/gdkxft/README を注意深く読んでください. あとは gtk アプリケーションにフォントのレンダリング関数を標準の libgdk.so よりも前に libgdkxft.so から探すようにさせるだけです. これは, 環境変数が正しい位置を指すようにするだけでできます. Bourne シェル (/bin/sh) 系のシェルの場合, (The Gimp を起動するなら) 次のようにタイプします. &prompt.user; LD_PRELOAD=/usr/X11R6/lib/libgdkxft.so gimp - csh 系のシェルであれば次のようにしてください。 + csh 系のシェルであれば次のようにしてください. &prompt.user; setenv LD_PRELOAD /usr/X11R6/lib/libgdkxft.so &prompt.user; gimp もしくは, LD_PRELOAD=/usr/X11R6/lib/libgdkxft.so export LD_PRELOAD というコマンドを, X をどのように立ち上げるかに依って .xinitrc.xsession, もしくは /usr/X11R6/lib/X11/xdm/Xsession に書いておきます. ただし, こうすると GTK の Linux バイナリを起動する時にトラブるかもしれません. KDE2 KDE2 について KDE は最近の簡単に使えるデスクトップ環境です. KDE によりユーザーは以下のようなメリットを亨受します. 美しい現代風のデスクトップ ネットワーク透過なデスクトップ KDE デスクトップやそのアプリケーションを使う際の便利で統一されたヘルプにアクセスできるような統合されたヘルプシステム 全ての KDE アプリケーションで統一されたルックアンドフィール 標準化されたメニュー, ツールバー, キーバインディング, カラースキームなど 国際化: KDE は 40 以上の言語で利用可能 集中したダイアログベースのデスクトップ設定 膨大な数の KDE アプリケーション KDE はその KParts テクノロジーをベースにしたオフィススイートを持っており, それにはスプレッドシート, プレゼンテーションアプリケーション, オーガナイザー, ニュースクライアントなどが含まれています. KDE にはまた Konqueror と呼ばれる Web ブラウザーも付属しており, これは Unix システム上の他の Web ブラウザーの強力な競争相手です. KDE についてのもっと詳しいことは KDE の Webサイトをご覧ください. KDE2 のインストール GNOME や他のデスクトップ環境とと全く同じように, KDE をインストールする最も簡単な方法は第 2 章にある FreeBSD のインストールメニューでのデスクトップ設定を利用することです. またまた同じことですが, package や ports コレクションからインストールするのも簡単です. ネットワーク越しに KDE2 package をインストールするには次ようにします. &prompt.root; pkg_add -r kde2 ソースから KDE を構築するには次のように ports ツリーを使いましょう &prompt.root; cd /usr/ports/x11/kde2 &prompt.root; make install clean KDE2 がインストールできたら - X サーバーに、ウィンドウマネージャーの代わりにこのアプリケーションを立ち上げるように教えます. + X サーバーに, ウィンドウマネージャーの代わりにこのアプリケーションを立ち上げるように教えます. .xinitrc ファイルを次のように編集しましょう. &prompt.root; echo "/usr/X11R6/bin/startkde" > ~/.xinitrc さぁ, これで startx でいつ X Window System を立ち上げても KDE2 がデスクトップになります. xdm のようなディスプレイマネージャーを使っている場合, 設定は少し異なります. 代わりに .xsession ファイルを編集しましょう. kdm 用の説明はこの章の後のほうにあります. KDE2 のもっと詳しいこと さぁ, KDE2 のインストールができました. ほとんどのことはヘルプページを見たりいろんなメニューをつつけばわかるでしょう. Winodows や Mac のユーザーにも簡単なはずです. KDE2 の最も良いリファレンスはオンラインドキュメントです. KDE には独自の Web ブラウザー Konqueror が付属してますし, 膨大な数の便利なアプリケーションや詳しいドキュメントもあります. このセクションの残りではなんとなく使っているだけでは理解し難い技術的なところを解説します. KDE ディスプレイマネージャー マルチユーザーシステムの管理者であれば, グラフィカルなログインスクリーンが欲しいかもしれません. xdm は上で述べたようにその目的で使うことができます. しかし, KDE にはその代わりになる KDM が付いており, 見ためもっと格好よくなりログイン時のオプションもたくさんあります. 特に, (メニューを使って) ログイン後にどのデスクトップ環境か (KDE2GNOME など) を簡単に選ぶこともできます. まず最初に rootKDE2 のコントロールパネル kcontrol を起動しましょう. 一般には X 環境全体を root で動かすのは安全ではありませんので, ウィンドウマネージャーは普通のユーザーで起動しておいて (xtermKDEkconsole のような) 端末ウィンドウを開き, su コマンドで root になり (そのユーザーは wheel グループに入ってなければなりません) kcontrol とタイプします. System とマークされた左にあるアイコンをクリックし, Login manager をクリックします. 右には様々な設定オプションがあり, これらについては KDE のマニュアルに細かく解説されています. 右にある sessions をクリックしてください. New type をクリックして様々なウィンドウマネージャーやデスクトップ環境を加えます. これらはただのラベルですので startkdegnome-session ではなく KDEGNOME とできます. failsage というラベルも入れてください. 他のメニューでも遊んでみてください. それらはだいたい見ために関するものですし, 見ればわかります. 終わったら下のほうにある Apply ボタンをクリックしてコントロールセンターを終了します. (KDEGNOME といった) ラベルが何かを kdm が確実に理解してくれるように, xdm で使われているファイルを編集します. KDE 2.2 では, これは変更され kdm は独自の設定ファイルを持ちます. 詳しくは KDE 2.2 のドキュメントを参照してください. 端末ウィンドウで root/usr/X11R6/lib/X11/xdm/Xsession ファイルを編集します. まん中あたりに次のような行があるはずです. case $# in 1) case $1 in failsafe) exec xterm -geometry 80x24-0-0 ;; esac esac このセクションにもう少し行を追加する必要があります. KDE2GNOME というラベルが付いてると仮定すると, 以下の行を追加してください. case $# in 1) case $1 in kde) exec /usr/local/bin/startkde ;; GNOME) exec /usr/X11R6/bin/gnome-session ;; failsafe) exec xterm -geometry 80x24-0-0 ;; esac esac KDE を尊重してログイン時のバックグラウンドを変える場合には /usr/X11R6/lib/X11/xdm/Xsetup_0 に次の行を加えます. /usr/local/bin/kdmdesktop 最後に, 次のブート時立ち上がるように /etc/ttyskdm を書きます. 上の xdm のセクションの解説で /usr/X11R6/bin/xdm となっている部分を /usr/local/bin/kdm とすればいいだけです. アンチエイリアスフォント 4.0.2 以降, XFree86 ではその "RENDER" 拡張によってアンチエイリアスがサポートされています. (KDE で利用されているツールキットである) Qt では 2.3 以降でこの拡張がサポートされています. その設定は X11 フォントでのアンチエイリアスに関して で解説されています. 従って最新のソフトウェアであれば KDE2 デスクトップ上でアンチエイリアスを利用することが可能なのです. KDE2 のメニューから Preferences -> Look and Feel -> Fonts と辿り, Use Anti-Aliasing for Fonts and Icons をクリックしてください. KDE の一部になっていない Qt アプリケーションの場合, QT_XFT という環境変数をプログラムを起動する前に設定する必要があります. XFCE XFCE について XFCEGNOME で使われている GTK ツールキットをベースにしたデスクトップ環境ですがかなり軽く, 使ったり設定したりが簡単なのにも関わらずシンプルで効率的なデスクトップなのです. 見ためとしては商用 Unix システムが採用している CDE にかなり似ています. XFCE の機能のいくつかを下に挙げておきます. シンプルで使いやすいデスクトップ マウスのドラッグアンドドロップなどで全ての設定が可能 CDE に似たメインパネルとメニューやアプレット, ランチャー 統合されたウィンドウマネージャー, ファイルマネージャー, サウンドマネージャーと GNOME 準拠のモジュールなど (GTK なので) テーマをサポート 速くて軽くて効率的: 古いマシンや遅いマシン, メモリーの限られたマシン向き XFCE に関する詳しい情報は XFCE の Web サイトから得られます. XFCE のインストール (この文章を書いている時点で) xfce のバイナリーパッケージがあります. インストールするにはただ次のようにタイプするだけです &prompt.root; pkg_add -r xfce また, ports コレクションを利用してソースから作ることも可能です &prompt.root; cd /usr/ports/x11-wm/xfce &prompt.root; make install clean 次に X が起動した時に XFCE が起動されるように設定します. 次のようにしてください. &prompt.root; echo "/usr/X11R6/bin/startxfce" > ~/.xinitrc 次に X が起動すると XFCE のデスクトップが立ち上がるでしょう. 上と同様に, xdm のようなディスプレイマネージャーを使っている場合には GNOME のセクションに書いてあるのと同じように .xsession ファイルを作り, /usr/X11R6/bin/startxfce を起動するようにします. もしくは, kdm のセクションにあるようにディスプレイマネージャーから XFCE を選ぶことができるように設定します.