Index: head/ja_JP.eucJP/books/handbook/x11/chapter.xml =================================================================== --- head/ja_JP.eucJP/books/handbook/x11/chapter.xml (revision 47991) +++ head/ja_JP.eucJP/books/handbook/x11/chapter.xml (revision 47992) @@ -1,1536 +1,1463 @@ X Window System この章では bsdinstall を用いた &os; のインストールでは、 グラフィカルユーザインタフェースは自動的にはインストールされません。 この章では、グラフィカル環境で使われるオープンソースの X Window System を提供する &xorg; のインストールおよび設定方法について説明します。 その後、 デスクトップ環境およびウィンドウマネージャの探し方およびインストール方法について説明します。 自動的に &xorg; を設定し、 インストール時にウィンドウマネージャを選択できるようなインストール方法を希望するユーザは、 pcbsd.org ウェブサイトを参照してください。 &xorg; が対応するビデオハードウェアについてのより多くの情報は、 x.org のウェブサイトをご覧ください。 この章を読めば以下のことがわかります。 X Window System のさまざまなコンポーネントと、 それらが互いにどのように連携しているか。 &xorg; のインストールおよび設定方法 さまざまなウィンドウマネージャおよびデスクトップ環境のインストールおよび設定方法 &xorg; での &truetype; フォントの使い方 GUI ログイン (XDM) の設定方法 この章を読み始める前に以下のことを理解しておく必要があります。 で説明されているサードパーティ製ソフトウェアのインストール方法 用語の説明 X Window System のさまざまなコンポーネントについての詳細や、 それらがどのようにやり取りするかについてすべて理解する必要はありませんが、 これらのコンポーネントについて基本的なことを知っていると、 強力な武器になるでしょう。 X サーバ X は最初からネットワークを意識してデザインされており、 クライアント - サーバ モデルを採用しています。 このモデルでは、X サーバ はキーボードやモニタ、 マウスが接続されたコンピュータ上で動きます。 このサーバはディスプレイの表示を管理したり、キーボード、 マウスからの入力を処理したり、 タブレットやビデオプロジェクタ等の他の装置からの入出力を処理します。 これは、ある人々を混乱させることがあります。 X での用語は彼らが想定するものとは正反対だからです。 彼らは X サーバ は地下にある大きなパワフルなマシンであり、 X クライアント が自分たちのデスク上にあると想像するのです。 X クライアント XTerm や Firefox などの各 X アプリケーションは、 クライアント になります。 クライアントは この座標にウィンドウを描いてください といったメッセージをサーバへ送り、サーバは ユーザが OK ボタンを押しました といったメッセージを送り返します。 家庭や小さなオフィスのような環境では、X サーバと X クライアントは通常同じコンピュータ上で動いています。 X サーバを非力なコンピュータで動かし、 X アプリケーションをより高性能なマシンで動かすことも可能です。 この場合、 X のクライアントとサーバの通信はネットワーク越しに行なわれます。 ウィンドウマネージャ X はスクリーン上でウィンドウがどのように見えるべきか、 マウスでそれらをどうやって動かすか、 ウィンドウ間を移動するのにどういうキーストロークを使うべきか、 各ウィンドウのタイトルバーはどのように見えるべきか、 クローズボタンを持つべきかどうか、 といったことは規定しません。そのかわりに、X ではそういったことを ウィンドウマネージャ と呼ばれるアプリケーションに任せます。ウィンドウマネージャはたくさん あります。 これらのウィンドウマネージャの見た目や使い勝手はそれぞれ異なっています。 バーチャルデスクトップをサポートしているものもありますし、 デスクトップを操作するキーストロークをカスタマイズできたり、 スタート ボタンやそれに類するものを持っているものもあります。 テーマに対応しており、 デスクトップの見た目や使い勝手を完全に変えられるものもあります。 ウィンドウマネージャは Ports Collection の x11-wm カテゴリに用意されています。 それぞれのウィンドウマネージャは異なる設定機構を備えています。 手で設定ファイルを編集しなければならないものや、 設定作業のほとんどを GUI ツールで行うことができるものもあります。 デスクトップ環境 KDE や GNOME は、デスクトップ環境です。 これらは、共通のデスクトップのタスクを実行するための完全なアプリケーションスイートを含んでいます。 オフィススイート、ウェブブラウザやゲームを含んでいるものもあります。 フォーカスポリシ ウィンドウマネージャは、 マウスのフォーカスポリシに責任を持ちます。 このポリシは、どのウィンドウがアクティブにキーストロークを 受け付けるようにするための方法を提供し、 そして、どのウィンドウがアクティブなのかを示します。 よく知られているフォーカスポリシは click-to-focus と呼ばれるものです。 このポリシは、 あるウィンドウ内でマウスをクリックすればそのウィンドウがアクティブになる、 というものです。 focus-follows-mouse ポリシでは、 マウスポインタの下にいるウィンドウがフォーカスされるというものです。 フォーカスを変えるには他のウィンドウにマウスポインタを動かすだけです。 マウスがルートウィンドウに移動した時には、 このウィンドウがフォーカスされます。 sloppy-focus モデルでは、 マウスがルートウィンドウに移動した時には、 直前に使われていたウィンドウがフォーカスされています。 sloppy-focus では、 ポインタが別のウィンドウに移った時のみフォーカスが変わり、 現在のウィンドウから出ただけでは変わりません。 click-to-focus ポリシでは、 マウスクリックによりアクティブなウィンドウが選択されます。 ウィンドウは前面に表示され、他のすべてのウィンドウの前にきます。 ポインタが別のウィンドウ上に移動した時でも、 すべてのキーストロークがこのウィンドウに届きます。 それぞれのウィンドウマネージャは、 それぞれのフォーカスポリシに対応しています。 すべてのものは click-to-focus をサポートしていますし、 多くのものは他の方法もサポートしています。 どのフォーカスモデルを利用可能かどうかについては、 ウィンドウマネージャのドキュメントをご覧ください。 ウィジェット ウィジェットはクリック可能であったり、 他の方法で操作可能なすべてのユーザインタフェース用アイテムを指す用語です。 ボタンやチェックボックス、ラジオボタン、アイコン、リスト、などがそうです。 ウィジェットツールキットはグラフィカルアプリケーションを作成するために使われます。 KDE で使われている Qt や GNOME プロジェクトで使われている GTK+ といった有名なウィジェットセットがあります。 そのため、アプリケーションのルックアンドフィールは、 アプリケーションを作成するのに使われたウィジェットツールキットに依存し、 異なります。 <application>&xorg;</application> のインストール &xorg; は、X.Org Foundation がリリースしているオープンソースの X Window System の実装です。 &os; では、package または port からインストールできます。 X サーバ、クライアント、ライブラリおよびフォントを含む、 完全なディストリビューションのメタ port は、x11/xorg にあります。 個別にインストール可能なドキュメント、 ライブラリおよびアプリケーションを除く、 最小のディストリビューションは、x11/xorg-minimal です。 この節では、完全な &xorg; ディストリビューションを例として用います。 Ports Collection から &xorg; をビルドしインストールするには、以下のように入力します。 &prompt.root; cd /usr/ports/x11/xorg &prompt.root; make install clean &xorg; をすべてビルドするには、 少なくとも 4 GB の空きディスク容量が必要です。 package から直接 &xorg; を以下のようにしてインストールすることもできます。 &prompt.root; pkg install xorg <application>&xorg;</application> の設定 &xorg; &xorg; &xorg; は、 ほとんどの機器を自動で設定します。 古かったり、一般的ではないような機器を使う場合には、設定を始める前に、 以下のハードウェア情報を集めておくと助けになるでしょう。 モニタ同期周波数 ビデオカードのチップセット ビデオカードのメモリ 水平同期周波数 水平走査レート 水平同期周波数 リフレッシュレート 垂直同期周波数 リフレッシュレート 垂直走査レート リフレッシュレート 画面の解像度とリフレッシュレートは、 モニタの水平および垂直同期周波数により決定されます。 ほとんどすべてのモニタは、これらの値を自動検出します。 これらの値を自動検出しないモニタもありますが、 こういった仕様は、付属のマニュアルや、 製造元のウェブサイトから取得できます。 ビデオカードのチップセットも自動検出され、 ビデオドライバの選択に使われます。 正常に認識されない時のために、 どのチップセットが使われているかを知っておくとよいでしょう。 ビデオカードのメモリは、 グラフィックアダプタがどの解像度とどの色数で動くことができるかを決めます。 注意 最適な解像度に設定できるかどうかは、 ビデオハードウェアおよびそのドライバの対応に依存します。 現時点における、ドライバの対応は以下の通りです。 NVIDIA: いくつかの NVIDIA ドライバが FreeBSD Ports Collection の x11 カテゴリから利用できます。NVIDIA ハードウェアのモデルに対応するドライバをインストールしてください。 Intel: FreeBSD 9.1 では、IronLake, SandyBridge, および IvyBridge といったほとんどの Intel グラフィックスの 3D acceleration に対応しています。 現在の KMS の実装により、 グラフィカルコンソールと仮想コントロールの間を Crtl+Alt+F# で切り替えることはできません。 ATI/Radeon: 3D acceleration は ATI または Radeon カードでは、FreeBSD が TTM への作業が完了するまでは、 動作しないでしょう。 これらのカードは、2D ドライバを設定する必要があります。 もし、動かないのであれば、Vesa ドライバを使ってください。 Optimus: 現在では、Optimus により提供されている二つのグラフィックスアダプタ間の切り替えには対応していません。 Optimus の実装は変わるので、FreeBSD は、 すべてのハードウェアにおいてグラフィックスドライバの読み込みに成功するかもしれないし、 しないかもしれません。 もし、真黒な画面が表示されるのであれば、BIOS がグラフィックスアダプタの一つを無効にするオプションを持っていないか、 または discrete モードの設定方法について調べてください。 <application>&xorg;</application> の設定 &xorg; は、 HAL を用いてキーボードやマウスを自動認識します。 x11/xorg の依存として、 sysutils/hal および devel/dbus port が自動的にインストールされますが、以下のようなエントリを /etc/rc.conf に追加し、 有効にする必要があります。 hald_enable="YES" dbus_enable="YES" &xorg; の設定が行われる前に、 これらのサービスを起動してください。 &prompt.root; service hald start &prompt.root; service dbus start 一度これらのサービスを起動したら、 以下のように入力して &xorg; の自動設定を確認してください。 &prompt.root; Xorg -configure これにより、/root/xorg.conf.new という、検出されたハードウェアに対し、 適切なドライバを読み込むような設定ファイルの雛形が生成されます。 次に、以下を実行して、 自動的に作成された設定ファイルがそのグラフィックハードウェアで動くことを確認してください。 &prompt.root; Xorg -config xorg.conf.new -retro もし、うまく動かないような場合には、 へと進んでください。 うまく動いた場合には、設定ファイルを /etc/X11/xorg.conf へとコピーしてください。 &prompt.root; cp xorg.conf.new /etc/X11/xorg.conf GNOME, KDE もしくは Xfce のようなデスクトップ環境は、 ビデオ解像度のようなパラメータを設定するグラフィカルなツールを提供しています。 もし、デフォルトのコンフィグレーションがうまく動く場合には、 で説明されているデスクトップ環境のインストール例へと進んでください。 <application>&xorg;</application> でのフォントの使用 Type1 フォント &xorg; に付いてくるデフォルトのフォントは、 通常のデスクトップパブリッシングアプリケーションにとっては理想的とは言えない程度のものです。 文字を大きくするとジャギーになりプロフェッショナルとは言えないようなものになりますし、 小さなフォントは頭が悪そうに見えます。 しかし、世の中には質の高い Type1 (&postscript;) フォントがいくつかあり、 &xorg; ではそれらを簡単に利用することができます。 例えば、URW フォントコレクション (x11-fonts/urwfonts) には高品質の Type1 フォント (Times Roman, Helvetica, Palatino など) が含まれています。freefont コレクション (x11-fonts/freefonts) にはもっとたくさんのフォントが含まれていますが、 それらは Gimp のようなグラフィックソフトウェアで使用するためのものであり、 スクリーンフォントとしては十分ではありません。 さらに、&xorg; は簡単に &truetype; フォントを使うように設定することも可能です。 詳しくは、&man.X.7; のマニュアルページか を参照してください。 上記の Type1 フォントコレクションを Ports Collection から入れる場合には次のコマンドを実行してください。 &prompt.root; cd /usr/ports/x11-fonts/urwfonts &prompt.root; make install clean freefont や他のコレクションでも同じようにします。 X サーバがこれらのフォントを検出できるようにするには X サーバ設定ファイル (/etc/X11/xorg.conf) の適切な場所に次のような行を加えます。 FontPath "/usr/local/lib/X11/fonts/URW/" 別の方法としては、 X のセッション中に次のようなコマンドラインを実行します。 &prompt.user; xset fp+ /usr/local/lib/X11/fonts/URW &prompt.user; xset fp rehash これは動くのですが、X のセッションが終了すると消えてしまいます。 消えないようにするには X の起動時に読み込まれるファイル (通常の startx セッションの場合は ~/.xinitrc, XDM のようなグラフィカルなログインマネージャを通してログインする時は ~/.xsession) に加えておきます。 三番目の方法は新しい /usr/local/etc/fonts/local.conf ファイルを使うことです。 これに関しては をご覧ください。 &truetype; フォント TrueType フォント フォント TrueType &xorg; には、 &truetype; フォントのレンダリング機能が組み込まれています。 この機能を実現するために 2 つの異なるモジュールがあります。 ここでは、freetype の方が他のフォントレンダリングバックエンドと整合性が高いので、 このモジュールを使うことにします。 freetype モジュールを使うためには /etc/X11/xorg.conf ファイルの "Module" セクションに以下の行を追加するだけです。 Load "freetype" さて、まずは &truetype; フォント用のディレクトリ (例えば /usr/local/lib/X11/fonts/TrueType) を作り、そこに &truetype; フォントをすべて放り込みましょう。 &macintosh; の &truetype; フォントは、そのままでは使うことができませんので注意してください。 &xorg; で使うには &unix;/&ms-dos;/&windows; 用のフォーマットでなければなりません。 ファイルを置いたら ttmkfdir を使って fonts.dir ファイルを作り、 X のフォントレンダラが新しいファイルがイントールされたことを分かるようにしてください。 ttmkfdir は FreeBSD Ports Collection の x11-fonts/ttmkfdir からインストールできます。 &prompt.root; cd /usr/local/lib/X11/fonts/TrueType &prompt.root; ttmkfdir -o fonts.dir 次に &truetype; フォントのディレクトリをフォントパスに追加します。 の場合と同じように、 &prompt.user; xset fp+ /usr/local/lib/X11/fonts/TrueType &prompt.user; xset fp rehash とするか、もしくは xorg.conf ファイルに FontPath 行を追加します。 これで終わりです。 Gimp や Apache OpenOffice といったすべての X アプリケーションから &truetype; フォントを使うことができます。 (高解像度なディスプレイで見るウェブページ上のテキストみたいな) とても小さなフォントや (&staroffice; にあるような) 非常に大きなフォントもかなり綺麗に見えるようになることでしょう。 フォントのアンチエイリアス フォントのアンチエイリアス フォント アンチエイリアス /usr/local/lib/X11/fonts/ と ~/.fonts/ にあるすべての &xorg; のフォントが、Xft に対応しているアプリケーションで自動的にアンチエイリアス表示できるようになりました。 KDE, GNOME および Firefox のような最新のアプリケーションは、Xft に対応しています。 どのフォントがアンチエイリアスされるかを制御するため、 もしくはアンチエイリアスの特性を設定するために、 /usr/local/etc/fonts/local.conf ファイルを作成 (すでに存在しているのなら編集) します。 多くの Xft フォントシステムの高度な機能をこのファイルを使って調整できます。 この節ではいくつか簡単なところだけを紹介します。 詳しくは、&man.fonts-conf.5; をご覧ください。 XML このファイルは XML 形式でなければなりません。 大文字小文字の区別に注意を払い、 すべてのタグが正しく閉じられているか確認してください。 ファイルは一般的な XML ヘッダで始まり、DOCTYPE 定義と <fontconfig> タグがその後にきます。 <?xml version="1.0"?> <!DOCTYPE fontconfig SYSTEM "fonts.dtd"> <fontconfig> すでに説明したように、 /usr/local/lib/X11/fonts/ と ~/.fonts/ にあるすべてのフォントは Xft 対応のアプリケーションで利用できます。 これら 2 つ以外に別のディレクトリを追加したいのなら、 /usr/local/etc/fonts/local.conf に以下のような行を追加します。 <dir>/path/to/my/fonts</dir> 新しいフォント、 そして特に新しいフォントディレクトリを追加したら、 以下のコマンドを実行してフォントキャッシュを再構築してください。 &prompt.root; fc-cache -f アンチエイリアスをかけることによって境界が少しぼやけ、 そのためにとても小さなテキストはさらに読みやすくなり、 大きなフォントでは ギザギザ が消えるのです。 しかし、普通のテキストにかけた場合には目が疲れてしまうこともあります。 14 ポイント以下のサイズのフォントについて、 アンチエイリアスをかけないようにするには次の行を加えます。 <match target="font"> <test name="size" compare="less"> <double>14</double> </test> <edit name="antialias" mode="assign"> <bool>false</bool> </edit> </match> <match target="font"> <test name="pixelsize" compare="less" qual="any"> <double>14</double> </test> <edit mode="assign" name="antialias"> <bool>false</bool> </edit> </match> フォント スペーシング いくつかの等幅フォントは、 アンチエイリアスをかけるとスペーシングがうまくいかなくなる場合があります。 特に KDE でその傾向があるようです。 解決策の一つとして、そういったフォントのスペーシングを 100 に設定する方法があります。 そうするためには次の行を加えてください。 <match target="pattern" name="family"> <test qual="any" name="family"> <string>fixed</string> </test> <edit name="family" mode="assign"> <string>mono</string> </edit> </match> <match target="pattern" name="family"> <test qual="any" name="family"> <string>console</string> </test> <edit name="family" mode="assign"> <string>mono</string> </edit> </match> (これは固定サイズのフォントに "mono" という一般的な別名をつけます) そして以下を追加します。 <match target="pattern" name="family"> <test qual="any" name="family"> <string>mono</string> </test> <edit name="spacing" mode="assign"> <int>100</int> </edit> </match> Helvetica の様なある種のフォントは、 アンチエイリアスすると問題が起こるでしょう。 たいてい、フォントが縦に半分に切られて表示されます。 最悪の場合、アプリケーションがクラッシュします。 これを回避するには、以下を local.conf に追加します。 <match target="pattern" name="family"> <test qual="any" name="family"> <string>Helvetica</string> </test> <edit name="family" mode="assign"> <string>sans-serif</string> </edit> </match> local.conf の編集を終えたら、 ファイルの末尾が </fontconfig> タグで終わるようにしてください。 これを行わなければ、変更は無視されるでしょう。 最後に、ユーザは自分だけの設定を各自の .fonts.conf ファイルに追加できます。 これを行うためには、それぞれのユーザが単に ~/.fonts.conf を作成するだけです。 このファイルも XML 形式でなければなりません。 LCD スクリーン フォント LCD スクリーン 最後に一つ。LCD スクリーンではサブピクセルサンプリングが必要な場合があります。 これは、基本的には (水平方向に分かれている) 赤、緑、 青の各コンポーネントを別々に扱うことによって水平方向の解像度を良くするというもので、 劇的な結果が得られます。 これを有効にするには local.conf ファイルに次の行を加えます。 <match target="font"> <test qual="all" name="rgba"> <const>unknown</const> </test> <edit name="rgba" mode="assign"> <const>rgb</const> </edit> </match> ディスプレイの種類にもよりますが、 rgb ではなく bgr や vrgb、もしくは vbgr の場合もあるので、 試してみて最も良いものを使ってください。 - X ディスプレイマネージャ - + + X ディスプレイマネージャ + + + + + Seth + Kingsley + + 寄稿: + + - - - 概要 - X ディスプレイマネージャ - X ディスプレイマネージャ (XDM) - は X Window System のオプショナルな一部分であり、 - ログインセッションの管理に用います。 - 最低限の機能を実装した X 端末 やデスクトップ、 - 大規模なネットワークディスプレイサーバといった場面ではこれが有用です。 - X Window System はネットワークとプロトコルから独立しているため、 - ネットワークで繋がれた - X のクライアントとサーバを動かすための設定はかなり幅が広くなります。 + &xorg; は、 + ログインセッションの管理に用いることのできる + X ディスプレイマネージャ XDM + を提供しています。 XDM はどのディスプレイサーバに接続するかを選択でき、 ログイン名とパスワードの組み合わせなど認証情報を入力できるグラフィカルなインタフェースを提供しています。 - XDM がユーザに &man.getty.8; - (詳しくは をご覧ください) - と同じ機能を提供することを考えてみてください。 - つまり、ディスプレイ上でシステムへのログインができ、 - ユーザの代わりにセッションマネージャ - (通常は X のウィンドウマネージャ) を起動することができるのです。 - それから XDM は、 - ユーザが作業を終えてディスプレイからログアウトする合図を送ってきてプログラムが終了するのを待ちます。 - この時点で、XDM - は次にログインするユーザのためにログイン画面や - chooser 画面を表示できます。 - + この章では、&os; 上での X + ディスプレイマネージャの設定方法について説明します。 + デスクトップ環境によっては、 + 各環境独自のグラフィカルログインマネージャを提供しています。 + GNOME ディスプレイマネージャの設定方法については、 を参照してください。 + また、KDE ディスプレイマネージャの設定方法については、 を参照してください。 - XDM の使用 + <application>XDM</application> の設定 - XDM を使用するには、 - x11/xdm - port をインストールしてください - (最近の &xorg; のバージョンでは、 - デフォルトでインストールされません)。 - XDM のデーモンプログラムは - /usr/local/bin/xdm にあります。 - このプログラムは root - になればいつでも起動することができ、 - ローカルマシン上のディスプレイの管理を始めます。 - マシンをブートする際、いつも XDM - を起動したい場合には、/etc/ttys - にそのためのエントリを加えておくのが簡単です。 - このファイルのフォーマットや使用方法についての詳細は - を参照してください。 - デフォルトの /etc/ttys - ファイルには仮想端末上で XDM - デーモンを起動するための行: + XDM をインストールするには、 + x11/xdm package または port + を使ってください。 + インストール後、コンピュータの起動時に、 + XDM を起動するように設定するには、 + /etc/ttys + の以下のエントリを変更してください。 ttyv8 "/usr/local/bin/xdm -nodaemon" xterm off secure - があります。 - このエントリはデフォルトでは無効になっており、有効にするには - 5 番目のカラムを off から - on にし、 - の指示に従って &man.init.8; を再起動します。 - 最初のカラムはこのプログラムが管理する端末の名前で、この場合 - ttyv8 になります。 - つまり、XDM は - 9 番目の仮想端末で起動されるということです。 - + off の部分を + on に変更して、保存してください。 + このエントリの ttyv8 は、 + XDM が + 9 番目の仮想端末で起動することを示しています。 - - XDM の設定 - XDM の設定用ディレクトリは /usr/local/lib/X11/xdm です。 このディレクトリには XDM - の振る舞いや見た目を変更するために用いられるいくつかのファイルがあります。 - だいたいは以下のような感じです。 + の振る舞いや見た目を変更するために用いられるファイルや、 + XDM + の動作中にデスクトップを設定するためのスクリプトやプログラムがあります。 + には、 + これらのフィアルの機能についてまとめられています。 + これらのファイルの正確な文法や使用方法については、&man.xdm.1; + に記述されています。 - + + XDM 設定ファイル + ファイル 説明 Xaccess - クライアント認証のルールセット + XDM + に接続するためのプロトコルは X Display + Manager Connection Protocol (XDMCP) + と呼ばれます。 + このファイルにはリモートのマシンからの + XDMCP + 接続をコントロールするためのルールセットが書かれます。 + デフォルトでは、どのクライアントからの接続も拒否します。 Xresources - デフォルトの X リソース + このファイルは、XDM + ディスプレイの chooser およびログインスクリーンを設定します。 + デフォルトの設定は、シンプルな長方形のログインウィンドウで、 + コンピュータのホスト名がログインウィンドウの上部に大きなフォントで表示され、 + その下に Login: および Password: + のプロンプトが表示されます。 + このファイルのフォーマットは &xorg; + のドキュメントで記述されている + app-defaults ファイルのものと同じです。 Xservers - 管理すべきリモートやローカルのディスプレイのリスト + これは、chooser + がログインの選択肢として提供するローカルおよびリモートのディスプレイの一覧です。 Xsession - デフォルトのログイン時のセッションスクリプト + XDM + でユーザのログイン時に実行されるデフォルトのセッションスクリプトです。 + 通常、各ユーザは ~/.xsession + というカスタマイズしたセッションスクリプトを持っており、 + こちらが優先されます。 Xsetup_* - ログインインタフェースの前にアプリケーションを起動するためのスクリプト + これらは chooser + やログインインタフェースが表示される前に自動的に実行されるアプリケーションです。 + それぞれのディスプレイに対して、Xsetup_* + (* はローカルのディスプレイ番号) + という名前のついたスクリプトがあります。 + 典型的な使い方は xconsole + のようなバックグラウンドで動かすプログラムを一つか二つ起動することです。 xdm-config このマシンで動いているすべてのディスプレイのグローバルな設定 xdm-errors - サーバプログラムによって生成されるエラー + このファイルにはサーバプログラムからのエラーが書き出されます。 + XDM + が起動しようとしているディスプレイがなんらかの理由でハングした場合、 + このファイルのエラーメッセージを見てください。 + これらのメッセージは各ユーザの + ~/.xsession-errors + ファイルにもセッション毎に書き出されます。 xdm-pid - 現在動いている XDM のプロセス ID + 現在動いている XDM + のプロセス ID。 - - - このディレクトリにはまた、XDM - の動作中にデスクトップをセットアップするために用いられるスクリプトやプログラムがいくつかあります。 - それぞれのファイルの目的を簡単に解説しましょう。 - 正確な文法や使い方は &man.xdm.1; に記述されています。 - - デフォルトの設定では、単純な四角のログインウィンドウがあり、 - そこにはマシンのホスト名が大きなフォントで表示され、 - Login: と Password: - のプロンプトがその下に表示されています。 - XDM - スクリーンの見ためや使い勝手を変えるにはここから始めるのがいいでしょう。 - - - Xaccess - - XDM - がコントロールするディスプレイに接続するためのプロトコルは - X Display Manager Connection Protocol (XDMCP) と呼ばれます。 - このファイルにはリモートのマシンからの - XDMCP 接続をコントロールするためのルールセットが書かれます。 - これは、xdm-config - を変更してリモートからのコネクションを待ち受けるようにしない限り無視されます。 - デフォルトでは、どのクライアントからの接続も拒否します。 - - - - Xresources - これはディスプレイの chooser とログインスクリーン用の - application-defaults ファイルです。 - このファイルでログインプログラムの見た目を変更することができます。 - フォーマットは &xorg; - のドキュメントで記述されている - app-defaults ファイルのものと同じです。 - - - - Xservers - これは、chooser - が選択肢として提供するリモートのディスプレイの一覧です。 - - - - Xsession - XDM - でログインした後に実行されるデフォルトのセッションスクリプトです。 - 通常、各ユーザは ~/.xsession - というカスタマイズしたセッションスクリプトを持っており、 - こちらが優先されます。 - - - - Xsetup_* - これらは chooser - やログインインタフェースが表示される前に自動的に実行されます。 - それぞれのディスプレイに対して、Xsetup_ - に続けてローカルのディスプレイ番号を付けた - (たとえば Xsetup_0) - 名前のついたスクリプトがあります。 - 典型的な使い方は xconsole - のようなバックグラウンドで動かすプログラムを一つか二つ起動することです。 - - - - xdm-config - app-defaults の書式で書かれた、 - このインストレーションで管理されるすべてのディスプレイに適用される設定を保持しています。 - - - - xdm-errors - このファイルには XDM - が起動しようとしている X サーバからの出力が書き出されます。 - XDM - が起動しようとしているディスプレイがなんらかの理由でハングした場合、 - このファイルのエラーメッセージを見てください。 - そういったメッセージは各ユーザの - ~/.xsession-errors - にもセッション毎に書き出されます。 - +
- ネットワークディスプレイサーバの起動 + リモートアクセスの設定 - あるディスプレイサーバに他のクライアントが接続することができるようにするために、 + デフォルトでは、XDM + を使ってログインできるのは、同じシステムのユーザのみです。 + あるディスプレイサーバに他のシステムのユーザが接続できるようにするためには、 アクセスコントロールのルールを編集し、 - コネクションリスナを有効にする必要があります。 - デフォルトでは保守的な設定になっています。 - XDM - がそういったコネクションを待ち受けるようにするためには - xdm-config - にある次の行をコメントアウトします。 + コネクションリスナを有効にする必要があります。 + XDM + が他のリモートコネクションを待ち受けるようにするためには、 + xdm-config の + DisplayManager.requestPort + 行を、行頭に ! + を置くことでコメントアウトしてください。 + ! 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 - にある例を参考にしたり、詳細についてオンラインマニュアル + 変更点を保存して、XDM + を再起動してください。 + リモートアクセスを制限するには、 + /usr/local/lib/X11/xdm/Xaccess + にある例を参考にしたり、詳細について &man.xdm.1; を参照してください。 - - - - XDM の代わりになるもの - - デフォルトの XDM - に代わるものがいくつかあります。 - 一つは KDM - (KDE に付属しています) - はその一つであり、この章の後ろで解説します。 - KDM ディスプレイマネージャは、 - ログイン時にウィンドウマネージャを選ぶことができるのに加え、 - 見た目もかなり綺麗にしてくれます。
デスクトップ環境 Valentino Vaschetto 寄稿: この節では、良く使われている 3 つのデスクトップ環境を &os; 上でにインストールする方法について解説します。 デスクトップ環境とは、 単なるウィンドウマネージャから完全なデスクトップアプリケーションスイートまでカバーします。 Ports Collection の x11-wm カテゴリには、 100 を超えるデスクトップ環境が用意されています。 GNOME GNOME GNOME はユーザフレンドリなデスクトップ環境です。 アプリケーションを起動したりステータスを表示するパネル、 デスクトップ、ツールおよびアプリケーション群、 そしてアプリケーションが互いにうまくやり取りできるような仕組みが含まれています。 &os; 上の GNOME に関するもっと詳しい情報は、http://www.FreeBSD.org/gnome で見ることができます。 このウェブサイトには、&os; での GNOME のインストール、設定、 管理に関する多くの情報があります。 このデスクトップ環境は、package からインストールできます。 &prompt.root; pkg install gnome2 ports から GNOME を構築するには、以下のコマンドを実行してください。 GNOME は大きなアプリケーションなので、 コンパイルには高速のコンピュータでも時間がかかります。 &prompt.root; cd /usr/ports/x11/gnome2 &prompt.root; make install clean GNOME を適切に動作させるには、 /proc ファイルシステムをマウントする必要があります。 以下を /etc/fstab に追加して、 システムの起動中にこのファイルシステムをマウントするように設定してください。 proc /proc procfs rw 0 0 GNOME をインストールできたら、 GNOME を起動するように &xorg; を設定してください。 最も簡単な方法は、GNOME ディスプレイマネージャ GDM を使うことです。 GDM は、 GNOME package または port の一部としてインストールされます。 有効にするには、以下の行を /etc/rc.conf に追加してください。 gdm_enable="YES" GNOME のすべてのサービスを、 起動するようにしておくと良いでしょう。 このように設定するには、以下の行を /etc/rc.conf に追加してください。 gnome_enable="YES" システムを再起動すると、GDM が自動的に起動します。 GNOME を起動するもう一つの方法は、 .xinitrc を適切に設定した後で、コマンドラインから startx と入力する方法です。 .xinitrc が既にある場合には、ウィンドウマネージャを起動する行を /usr/local/bin/gnome-session を起動するように変更してください。 このファイルが存在しなければ、 次のコマンドで作成してください。 &prompt.user; echo "/usr/local/bin/gnome-session" > ~/.xinitrc 3 つめの方法は、XDM をディスプレイマネージャとして使う方法です。 この場合は、実行可能な .xsession というファイルを作成してください。 &prompt.user; echo "#!/bin/sh" > ~/.xsession &prompt.user; echo "/usr/local/bin/gnome-session" >> ~/.xsession &prompt.user; chmod +x ~/.xsession KDE KDE KDE はもう一つの使いやすいデスクトップ環境です。 このデスクトップは、統一されたルックアンドフィール、 標準化されたメニューおよびツールバー、 キーバインディング、カラースキーム、国際化、 一元化されたダイアログベースのデスクトップ設定とともに、 アプリケーションのスイートを提供します。 KDE の詳細については http://www.kde.org/ をご覧ください。 KDE に関する &os; 特有の情報については、http://freebsd.kde.org をご覧ください。 KDE package をインストールするには以下のように実行してください。 &prompt.root; pkg install x11/kde4 KDE port を構築するには、以下のコマンドを使ってください。 port のインストールでは、 インストールするアプリケーションを選択するためのメニューが表示されます。 KDE は大きなアプリケーションなので、 高速のコンピュータでもコンパイルには時間がかかります。 &prompt.root; cd /usr/ports/x11/kde4 &prompt.root; make install clean KDE ディスプレイマネージャ KDE では、 /proc ファイルシステムをマウントする必要があります。 以下の行を /etc/fstab に追加して、 システム起動時にこのファイルシステムが自動的にマウントされるように設定してください。 proc /proc procfs rw 0 0 KDE をインストールすると、 KDE のディスプレイマネージャ KDM もインストールされます。 このディスプレイマネージャを有効にするには、 以下の行を /etc/rc.conf に追加してください。 kdm4_enable="YES" KDE を起動するもう一つの方法は、 コマンドラインから startx を実行する方法です。 このコマンドを実行するには、~/.xinitrc に以下の行を追加してください。 exec /usr/local/kde4/bin/startkde KDE を起動する 3 つめの方法は、 XDM を利用する方法です。 この方法を使うには、以下のようにして実行可能な ~/.xsession を作成してください。 &prompt.user; echo "#!/bin/sh" > ~/.xsession &prompt.user; echo "/usr/local/kde4/bin/startkde" >> ~/.xsession &prompt.user; chmod +x ~/.xsession KDE を起動した後は、 ビルトインヘルプシステムから、 さまざまなメニューおよびアプリケーションの使用方法などのより詳しい情報を参照できます。 Xfce Xfce は GNOME で使われている GTK+ ツールキットをベースにしたデスクトップ環境ですが、 より軽量、 シンプルでかつ効率的でありながら使いやすいデスクトップ環境です。 すべての設定が可能で、 メニュー、アプレットおよびアプリケーションランチャを含むメインパネル、 ファイルマネージャ、サウンドマネージャを提供し、 テーマに対応しています。 速くて軽く、効率的なため、古いマシンや遅いマシン、 メモリの限られたマシンに向いています。 Xfce に関する詳しい情報は http://www.xfce.org で得られます。 Xfce package をインストールするには、次のように実行してください。 &prompt.root; pkg install xfce4 また、port を構築するには以下のようにしてください。 &prompt.root; cd /usr/ports/x11-wm/xfce4 &prompt.root; make install clean GNOME や KDE とは異なり、 Xfce は、 ログインマネージャを提供していません。 コマンドラインから startx を実行して Xfce を起動するには、 以下のように Xfce のエントリを ~/.xinitrc に追加してください。 &prompt.user; echo "/usr/local/bin/startxfce4" > ~/.xinitrc もう一つの方法は XDM を用いる方法です。この方法を使うには、 実行可能な .xsession を作成してください。 &prompt.user; echo "#!/bin/sh" > ~/.xsession &prompt.user; echo "/usr/local/bin/startxfce4" >> ~/.xsession &prompt.user; chmod +x ~/.xsession トラブルシューティング もしマウスが動作しなければ、 先へ進む前にマウスの設定を行う必要があります。 最近の Xorg では、デバイスの自動認識のため、 xorg.conf の InputDevice セクションは無視されます。 古い設定の記述を利用するには、 このファイルの ServerLayout もしくは、 ServerFlags セクションに以下の行を追加してください。 Option "AutoAddDevices" "false" これで、以前のバージョンのように、入力デバイスを (キーボードレイアウトの変更のように) 必要なオプションを用いて設定できるようになります。 すでに説明したように、デフォルトで hald デーモンがキーボードを自動的に認識します。 キーボードレイアウトやモデルを正しく認識しない場合でも、 GNOME, KDE もしくは Xfce のようなデスクトップ環境が、 キーボードの設定ツールを提供しています。 しかしながら、 &man.setxkbmap.1; ユーティリティや hald の設定ルールを利用することで、 キーボードのプロパティを直接設定できます。 たとえば、フランス語のレイアウトの PC 102 キーボードを使いたい場合には、 hald のキーボード設定ファイル x11-input.fdi を作成し、 /usr/local/etc/hal/fdi/policy ディレクトリに保存してください。 このファイルは以下を含んでいる必要があります。 <?xml version="1.0" encoding="iso-8859-1"?> <deviceinfo version="0.2"> <device> <match key="info.capabilities" contains="input.keyboard"> <merge key="input.x11_options.XkbModel" type="string">pc102</merge> <merge key="input.x11_options.XkbLayout" type="string">fr</merge> </match> </device> </deviceinfo> このファイルがすでに存在する場合には、 キーボードの設定に関する部分をただ単にコピーし、 ファイルに追加してください。 hald がこのファイルを読み込むように、 コンピュータを再起動してください。 X 端末やスクリプトから以下のコマンドラインを実行することでも、 同様に設定できます。 &prompt.user; setxkbmap -model pc102 -layout fr /usr/local/share/X11/xkb/rules/base.lst ファイルには、利用可能なキーボード、 レイアウトおよびオプションの一覧があります。 &xorg; のチューニング xorg.conf.new 設定ファイルを好みに合うように調整できます。 &man.emacs.1; や &man.ee.1; のようなテキストエディタでファイルを開いてください。 古いモニタや、通常とは異なるモデルで、 同期周波数の自動認識に対応していない場合には、 以下のような設定を xorg.conf.new の "Monitor" セクションの下に加えてください。 Section "Monitor" Identifier "Monitor0" VendorName "Monitor Vendor" ModelName "Monitor Model" HorizSync 30-107 VertRefresh 48-120 EndSection ほとんどのモニタは同期周波数の自動認識に対応しているので、 これらの値を手動で入力する必要はありません。 自動認識に対応していないモニタでは、 ダメージの可能性を避けるため、 メーカーが提供している値のみを入力してください。 X はモニタが対応していれば DPMS (Energy Star) 機能を使うことができます。 &man.xset.1; プログラムでタイムアウトをコントロールしたり、 強制的にスタンバイ、サスペンドや電源オフにすることができます。 モニタの DPMS 機能を有効にしたい場合は、 "Monitor" セクションに次の行を加えてください。 Option "DPMS" xorg.conf xorg.conf.new 設定ファイルはエディタで開いたままにしておき、 デフォルトの解像度と色数を好みで選んでください。 "Screen" セクションで定義されます。 Section "Screen" Identifier "Screen0" Device "Card0" Monitor "Monitor0" DefaultDepth 24 SubSection "Display" Viewport 0 0 Depth 24 Modes "1024x768" EndSubSection EndSection DefaultDepth というキーワードは 実行時のデフォルトの色数について記述するためのものです。 &man.Xorg.1; のコマンドラインスイッチ が使用された場合はそちらが優先されます。 Modes というキーワードは、 与えられた色数におけるデフォルトの解像度を記述しておくためのものです。 ターゲットのシステムのグラフィックハードウェアによって定義されている、 VESA スタンダードモードのみがサポートされていることに注意してください。 上の例ではデフォルトの色数はピクセルあたり 24 ビットであり、 この色数での解像度は 1024 ピクセル× 768 ピクセルです。 最後に、設定ファイルを保存し、 上の例にあるようにテストしてみてください。 トラブルシューティングの過程で助けとなるツールのひとつに &xorg; のログファイルがあります。 これには、&xorg; サーバが検知したデバイスそれぞれについての情報があります。 &xorg; のログファイル名は /var/log/Xorg.0.log という形式です。実際のログファイル名は Xorg.0.log から Xorg.8.log のように変わります。 すべてうまくいったなら、設定ファイルを &man.Xorg.1; が見つけることができる共通の場所に置きます。 これは、通常は /etc/X11/xorg.conf や /usr/local/etc/X11/xorg.conf です。 &prompt.root; cp xorg.conf.new /etc/X11/xorg.conf これで &xorg; の設定は完了です。 &man.startx.1; ユーティリティで &xorg; を起動できます。 &man.xdm.1; を使って &xorg; サーバを起動することもできます。 &intel; <literal>i810</literal> グラフィックチップセットの設定 Intel i810 graphic chipset &intel; i810 統合チップセットを設定するには、 &xorg; にカードを制御させるために AGP プログラミングインタフェースである agpgart が必要になります。 詳しくは、&man.agp.4; ドライバのマニュアルページをご覧ください。 このドライバを用いることで、 他のグラフィックボードと同様に設定を行うことができるようになります。 カーネルに &man.agp.4; ドライバが組み込まれていないシステムでは、 このモジュールを &man.kldload.8; を使って読み込もうとしても動作しないことに注意してください。 このドライバは、 起動時にカーネル内に存在するようにカーネル内部に組み込むか、 /boot/loader.conf を使わなければなりません。 ワイドスクリーンフラットパネルの追加 ワイドスクリーンフラットパネルコンフィグレーション この節では、設定に関する幾分高度な知識を必要とします。 これまでに述べた標準ツールを使って設定に失敗する場合は、 ログファイルを参照してください。 ログファイルには、 設定のために有用な情報が十分含まれています。 テキストエディタを使用する必要があるでしょう。 現在のワイドスクリーン (WSXGA, WSXGA+, WUXGA, WXGA, WXGA+ など) は、 16:10 や 10:9 形式、または (問題を含む可能性のある) 他のアスペクト比に対応しています。 以下は、16:10 アスペクト比のスクリーン解像度の例です。 2560x1600 1920x1200 1680x1050 1440x900 1280x800 これらの解像度のひとつを以下のように "Screen" セクション の 可能な Mode に追加してください。 Section "Screen" Identifier "Screen0" Device "Card0" Monitor "Monitor0" DefaultDepth 24 SubSection "Display" Viewport 0 0 Depth 24 Modes "1680x1050" EndSubSection EndSection &xorg; は、I2C/DDC 情報を通してワイドスクリーンの解像度に関する情報を取得できるので、 モニタの周波数や解像度の範囲を把握しています。 もし、これらの ModeLines がドライバに存在しないのであれば、 &xorg; にヒントを与えなけれならないでしょう。 ModeLine を手動で設定するのに十分な情報を /var/log/Xorg.0.log から得ることができます。 以下のような情報を探してください。 (II) MGA(0): Supported additional Video Mode: (II) MGA(0): clock: 146.2 MHz Image Size: 433 x 271 mm (II) MGA(0): h_active: 1680 h_sync: 1784 h_sync_end 1960 h_blank_end 2240 h_border: 0 (II) MGA(0): v_active: 1050 v_sync: 1053 v_sync_end 1059 v_blanking: 1089 v_border: 0 (II) MGA(0): Ranges: V min: 48 V max: 85 Hz, H min: 30 H max: 94 kHz, PixClock max 170 MHz これは EDID と呼ばれる情報です。 この情報を用いて ModeLine を作成するには、 正しい順番に数字を入力するだけです。 ModeLine <name> <clock> <4 horiz. timings> <4 vert. timings> この例では Monitor セクション の ModeLine は以下のようになります。 Section "Monitor" Identifier "Monitor1" VendorName "Bigname" ModelName "BestModel" ModeLine "1680x1050" 146.2 1680 1784 1960 2240 1050 1053 1059 1089 Option "DPMS" EndSection 以上の簡単な編集作業が終わったら、 新しいワイドスクリーンモニタ上で X が動作するでしょう。