Index: head/ja_JP.eucJP/books/handbook/boot/chapter.xml =================================================================== --- head/ja_JP.eucJP/books/handbook/boot/chapter.xml (revision 48513) +++ head/ja_JP.eucJP/books/handbook/boot/chapter.xml (revision 48514) @@ -1,953 +1,956 @@ &os; の起動のプロセス この章では 起動 ブートストラップ (bootstrap) 計算機を起動しオペレーティングシステムをロードするプロセスは、 ブートストラッププロセス もしくは ブート と呼ばれます。 &os; の起動プロセスを使えば、 システムをスタートするときに起きることをかなり柔軟にカスタマイズできます。 同じ計算機にインストールされた別のオペレーティングシステムを選択することもできますし、 同じオペレーティングシステムの異なるバージョンを選択することも、 インストールされた別のカーネルを選択することさえできます。 この章では、指定できる設定オプションついて詳しく説明します。 &os; カーネルがスタートし、デバイスを検出し、 &man.init.8; を起動するまでに起きることすべてを含む &os; の起動プロセスのカスタマイズ方法について説明します。 これは、起動メッセージのテキストの色が、 明るい白から灰色に変わるまでに起きています。 この章を読むと、以下のことが分かります。 &os; のブートストラップシステムの構成およびそれらが互いにどう関係しているのか 起動プロセスを制御するために &os; のブートストラップの各要素に付加できるオプション ブートスプラッシュスクリーンの設定方法 device hints の基本的な記述方法 シングルユーザもしくはマルチユーザモードでの起動方法、 および &os; システムのシャットダウンの方法 この章では Intel x86 および amd64 システム上で動作する &os; の起動プロセスだけを扱います。 &os; の起動プロセス 計算機の電源を入れ、オペレーティングシステムをスタートさせるのには、 おもしろいジレンマがあります。定義により、 計算機は、オペレーティングシステムが起動するまでは、 ディスクからプログラムを動かすことも含めて、 何をどうすればよいかまったく知りません。 計算機はオペレーティングシステムなしにディスクからプログラムを実行することができず、 オペレーティングシステムのプログラムがディスク上にあるのなら、 どうやってオペレーティングシステムを起動するのでしょうか? この問題はほらふき男爵の冒険 という本の中に書かれている問題ととてもよく似ています。 登場人物がマンホールの下に半分落っこちて、 靴紐 (ブートストラップ) をつかんで自分を引っぱり、持ち上げるのです。 計算機の黎明期には、ブートストラップ という用語でオペレーティングシステムをロードする機構のことを指していました。 いまはこれを縮めて ブート (起動) と言います。 BIOS 基本入出力システム (Basic Input/Output System)BIOS x86 ハードウェアでは、基本入出力システム (Basic Input/Output System: BIOS) にオペレーティングシステムをロードする責任があります。 BIOS はハードディスク上のマスターブートレコード (Master Boot Record: MBR) を探します。 MBR はハードディスク上の特定の場所になければなりません。 BIOS には MBR をロードし起動するのに十分な知識があり、 オペレーティングシステムをロードするために必要な作業の残りは、 場合によっては BIOS の助けを得た上で MBR が実行できることを仮定しています。 &os; は古い標準の MBR、 または新しい GUID Partition Table (GPT) から起動できます。 GPT パーティションは、Unified Extensible Firmware Interface (UEFI) に対応したコンピュータで良く用いられます。 しかしながら、&os; はレガシーな BIOS にのみに対応したコンピュータからも、&man.gptboot.8; により、 GPT パーティションから起動できます。 UEFI からの直接の起動への対応は進行中です。 マスターブートレコード (Master Boot Record: MBR) ブートマネージャ (Boot Manager) ブートローダ (Boot Loader) MBR 内部のコードは、 一般的にブートマネージャと呼ばれます。 とりわけユーザとの対話がある場合にそう呼ばれます。 通常ブートマネージャのもっと多くのコードが、 ディスクの最初のトラック、またはファイルシステム上におかれます。 ブートマネージャの例としては、Boot Easy とも呼ばれる &os; 標準のブートマネージャの boot0、 多くの &linux; ディストリビューションが採用している Grub 等があります。 ディスク上にインストールされているオペレーティングシステムが 1 つの時は、MBR はディスク上の最初の起動可能な (アクティブな) スライスを探し、 そのスライスにあるコードを起動してオペレーティングシステムの残りをロードします。 ディスク上に複数のオペレーティングシステムが存在しているのなら、 複数のオペレーティングシステムの一覧を表示できて、 起動するオペレーティングシステムを選択できるような、 別のブートマネージャをインストールすることもできます。 &os; のブートストラップシステムの残りは 3 段階に分かれます。 第 1 ステージは、 計算機を特定の状態にするために必要なことだけを知っていて、 第 2 ステージを起動します。 第 2 ステージでは、第 3 ステージを起動する前に、 もう少しできることがあります。 第 3 ステージでオペレーティングシステムのロード作業を完了します。 起動作業が 3 段階に分かれているのは、 MBR がステージ 1 とステージ 2 で実行できるプログラムのサイズに制限を課しているからです。 これらの作業をつなぎ合わせることによって、 &os; はより柔軟なローダ (loader) を提供しているのです。 カーネル (kernel) &man.init.8; その後カーネルが起動し、デバイスの検出と初期化を開始します。 そしてカーネルの起動が終わると、制御はユーザープロセスの &man.init.8; へ移されます。&man.init.8; はディスクが利用可能であることを確認し、 ファイルシステムのマウント、 ネットワークで利用するネットワークカードのセットアップ、 そしてブート時に起動されるように設定されたプロセスの起動、 といったユーザーレベルでのリソース (資源) 設定を行ないます。 この章では、これらのステージについてより詳細に、また、&os; ブートプロセスにおける対話的な設定方法について説明します。 ブートマネージャ ブートマネージャ マスターブートレコード (MBR) MBR のブートマネージャのコードは起動プロセスの第 0 ステージと呼ばれることがあります。 デフォルトでは、&os; は boot0 を使います。 &os; のインストーラがインストールする MBR は、 /boot/boot0 を基にしています。 boot0 のサイズと機能は、 スライステーブルおよび MBR 末尾の識別子 0x55AA のため、 446 バイトの大きさに制限されます。 もし、boot0 と複数のオペレーティングシステムをインストールした場合、 起動時に以下のようなメッセージが表示されます。 <filename>boot0</filename> のスクリーンショット F1 Win F2 FreeBSD Default: F2 他のオペレーティングシステムは、 &os; の後にインストールを行うと、既存の MBR を上書きしてしまいます。 もしそうなってしまったら、 もしくは既存の MBR を &os; の MBR で置き換えるには、 次のコマンドを使ってください。 &prompt.root; fdisk -B -b /boot/boot0 device device は起動するデバイス名で、 たとえば 1 番目の IDE ディスクは ad0、2 番目の IDE コントローラに接続されている 1 番目の IDE ディスクは ad2、 1 番目の SCSI ディスクは da0 などとなります。 MBR の設定をカスタマイズしたい場合は、 &man.boot0cfg.8; を参照してください。 起動ステージ 1 と起動ステージ 2 概念上、第 1 ステージと第 2 ステージはハードディスクの同じ領域上の同一のプログラムの部分部分です。 スペースの制約のため 2 つに分割されていますが、 いつも一緒にインストールされます。 &os; のインストーラまたは bsdlabel は、 両者を 1 つにまとめた /boot/boot をコピーします。 これらの 2 つのステージは、ファイルシステムの外部、 起動スライスの最初のトラックに置かれ、 先頭が最初のセクタにきます。 boot0 またはその他のブートマネージャは、 起動プロセスを続けるために必要なプログラムがそこにあると想定しています。 最初のステージの boot1 は、 512 バイトの大きさでなければならないという制限があるので、 非常に単純なプログラムです。 このプログラムは boot2 を検索して実行するため、そのスライスの情報を保持する &os; の BSD ラベル に関する最低限の情報だけを持っています。 次のステージの boot2 はもう少し高機能です。 これは &os; のファイルシステム上でファイルを見つける機能を持ちます。 実行するカーネルやローダを指定するための簡単なインタフェースを提供します。 boot2 により起動される loader はさらに高機能で、 起動設定が行なえる手段を提供します。 ステージ 2 で起動プロセス中断した時には、 次のようながインタラクティブなが画面が表示されます。 <filename>boot2</filename> のスクリーンショット >> FreeBSD/i386 BOOT Default: 0:ad(0,a)/boot/loader boot: インストールされた boot1boot2 を変更するには、 bsdlabel を使ってください。 以下の例では、diskslice は起動するディスクとスライスで、たとえば最初の IDE ディスクの 1 番目のスライスは ad0s1 となります。 &prompt.root; bsdlabel -B diskslice ad0 のようにディスク名だけを指定すると、 bsdlabel は、スライスを持たない 危険な専用モードを作成してしまいます。 これはおそらく、あなたが望んでいることではないでしょうから、 Return キーを押す前に、 diskslice の部分を二重にチェックしてください。 起動ステージ 3 ブートローダ (boot-loader) loader は三段階の起動プロセスの最終段階です。 これは通常、ファイルシステム上の /boot/loader として存在しています。 loader は、 よりさまざまなコマンド群をサポートした強力なインタプリタによって提供される組み込みコマンド群を利用することで、 インタラクティブな設定手段となるように設計されています。 loader は初期化の際にコンソールとディスクの検出を行ない、 どのディスクから起動しているかを調べます。 そして必要な変数を設定してからインタプリタを起動し、 スクリプトからコマンドを送ったり手でコマンドを入力したりできます。 ローダ ローダの設定 loader は次に /boot/loader.rc を読み込み、通常、変数の標準値を定義した /boot/defaults/loader.conf と、そのコンピュータにローカルに変数を定義した /boot/loader.conf を読み込みます。 loader.rc はそれらの変数にもとづき、 選択されたモジュールとカーネルをロードします。 loader は最後に、 標準設定で 10 秒のキー入力待ち時間を用意し、 入力がなければカーネルを起動します。 入力があった場合、コマンド群が使えるプロンプトが表示され、 ユーザは変数を調整したり、すべてのモジュールをアンロードしたり、 モジュールをロードしたりすることができます。 その後、最終的な起動や再起動へ移行します。 では、 もっともよく使われる loader のコマンドをまとめています。 利用可能なコマンドをすべて知りたい場合には、 &man.loader.8; を参照してください。 ローダの組み込みコマンド 変数 説明 autoboot seconds seconds で与えられた時間内に入力がなければ、 カーネルの起動へと進みます。 カウントダウンを表示します。標準設定では 10 秒間です。 boot -options kernelname すぐにカーネルの起動へ進みます。 オプション、カーネル名が指定されている場合は、 それらが使われます。 unload を実行後、 カーネル名をコマンドラインから指定することができます。 unload を実行しないと、 一度読み込まれたカーネルが使われます。 kernelname でパスが指定されていない時には、 /boot/kernel および /boot/modules から調べられます。 boot-conf すべてのモジュールの設定を、 起動時と同じように指定された変数 (最も多いのは kernel) にもとづいて自動的に行ないます。 このコマンドは、変数を変更する前に、 最初に unload を行なった場合にのみ有効に働きます。 help topic /boot/loader.help を読み込み、ヘルプメッセージを表示します。 topic に index が指定された場合、 利用可能な topic の一覧を表示します。 include filename 指定されたファイルを読み込み、行単位で解釈します。 エラーが発生した場合、 include の実行は直ちに停止します。 load -t type filename 指定されたファイル名のカーネル、 カーネルモジュール、あるいは type に指定された種類のファイルをロードします。 filename 以降に指定された引数はファイルへと渡されます。 filename でパスが指定されていない時には、 /boot/kernel および /boot/modules から調べられます。 ls -l path 指定された path にあるファイルを表示します。 path が指定されていなければ、ルートディレクトリを表示します。 が指定されていればファイルサイズも表示されます。 lsdev -v モジュールがロード可能なすべてのデバイスを表示します。 もし が指定されていれば、 より詳細な出力がされます。 lsmod -v ロード済みのモジュールを表示します。 が指定されていれば、 より詳細な内容が出力されます。 more filename LINES 行を表示するごとに停止しながら指定されたファイルを表示します。 reboot すぐにシステムを再起動します。 set variable, set variable=value ローダの環境変数を設定します。 unload すべてのロード済みモジュールを削除します。
次にあげるのは、ローダの実践的な使用例です。 普段使っているカーネルをシングルユーザモードシングルユーザモードで起動します。 boot -s 普段使っているカーネルとモジュールをアンロードし、 古いもしくは別のカーネルをロードするには、 以下のように実行してください。 unload load kernel.old kernel.GENERIC とすると、 インストール時のデフォルトカーネルを指定できます。 また、システムをアップグレードしたり、 もしくはカスタムカーネルを設定した場合に、 直前にインストールされていたカーネルは、 kernel.old で指定できます。 普段のカーネルで使っているモジュールを指定したカーネルでロードする場合は、 次のようにします。 unload set kernel="kernel.old" boot-conf カーネルの自動設定スクリプトをロードします。 load -t userconfig_script /boot/kernel.conf カーネル (kernel) 起動時の応答
最終ステージ &man.init.8; カーネルがデフォルトの loader もしくは loader を迂回して boot2 によって読み込まれると、 起動フラグが調べられ、それに応じて動作が調整されます。 には、 良く使われる起動フラグがまとめられています。 他の起動フラグの詳細については、 &man.boot.8; を参照してください。 カーネル (kernel) 起動フラグ 起動時のカーネルオプション オプション 説明 カーネル初期化中に、 ルートファイルシステムとしてマウントするデバイスを尋ねます。 CDROM からルートファイルシステムを起動します。 シングルユーザモードで起動します。 カーネル起動時に、より詳細な情報を表示します。
カーネルの起動が完了すると、&man.init.8; というユーザプロセスに制御が移されます。 これは /sbin/init、 もしくは loaderinit_path 変数で指定される場所にあります。 これは起動プロセスの最終ステージです。 起動シーケンスでは、 システム上で利用できるファイルシステムの一慣性を確認します。 もし UFS ファイルシステムにに問題があって fsck が不一致を修復できなければ、 管理者が問題を直接解決できるように、init はシステムをシングルユーザモードへと移行させます。 問題がなければ、システムはマルチユーザモードに移行します。 シングルユーザモード シングルユーザモード コンソール (console) このモードには、ユーザが起動時に を指定した場合、あるいは loaderboot_single 変数を設定することによって移行します。 マルチユーザモードから shutdown now を呼び出すことでもこのモードに移行できます。 シングルユーザモードは、以下のメッセージで開始します。 Enter full pathname of shell or RETURN for /bin/sh: ユーザが Enter を入力すると、 システムは Bourne シェルを起動します。 別のシェルを使うには、シェルのフルパスを入力してください。 シングルユーザモードは、 通常ファイルシステムの一貫性に問題があって起動できないシステムを修復したり、 起動設定ファイルの間違いを修正するために使われます。 また、root パスワードがわからなくなった場合に、 リセットするために使うことも出来ます。 シングルユーザモードのプロンプトは、 ローカルファイルシステムおよび設定ファイルへのアクセスを与えてくれますが、 ネットワーク接続は出来ません。 シングルユーザモードは、システムの修復には有用ですが、 システムが物理的に安全な場所になければ、 セキュリティのリスクがもたらされます。 デフォルトでは、システムに物理的にアクセス可能なユーザは、 シングルユーザモードで起動後はシステムをすべてコントロールできます。 /etc/ttys でシステムの consoleinsecure に設定されている場合、 システムはシングルユーザモードに移行する前に root のパスワードを入力するように求めます。 root パスワードがわからなくなった場合のリセット機能が無効になっている間は、 セキュリティ対策が必要となります。 <filename>/etc/ttys</filename> の insecure コンソール # name getty type status comments # # If console is marked "insecure", then init will ask for the root password # when going to single-user mode. console none unknown off insecure insecure コンソールとは、 コンソールが物理的に安全でない (insecure) と考えられるため、 root のパスワードを知る人だけがシングルユーザモードを使えるという意味です。 マルチユーザモード マルチユーザモード init がファイルシステムが正常であると判断するか、 ユーザがシングルユーザモードでのコマンドを終了し、 exit を入力してシングルユーザモードを終了すると、 システムはマルチユーザモードへ移行し、 システムのリソースの設定を開始します。 rc ファイル群 リソース設定システムはデフォルト設定を /etc/defaults/rc.conf から、 また、システム独自の細かな設定を /etc/rc.conf から読み込みます。 そして /etc/fstab に記述されるシステムファイルシステムをマウントします。 その後、ネットワークサービス、さまざまなシステムデーモン、 そして最後に、ローカルにインストールされた package の起動スクリプトを実行します。 リソース設定システムについてもっと知りたい場合には、 &man.rc.8; を参照してください。また、/etc/rc.d にあるスクリプトを実行してみてください。
起動時のスプラッシュスクリーンの設定 Joseph J. Barbish 寄稿: 通常、&os; システムが起動すると、 コンソールにはシステムの起動の進捗状況を示すメッセージ群が表示されます。 スプラッシュスクリーンは、 起動時の検出メッセージやサービスのスタートアップメッセージを隠すような、 これまでとは異なる起動画面を表示します。 スプラッシュスクリーンが有効な場合でも、起動時には、 起動オプションメニュー、タイムウェイトカウントダウンプロンプトなど、 いくつかの起動ローダメッセージは表示されます。 スプラッシュスクリーンは、起動プロセスの間、 キーボードから何かのキーを押すことで、 いつでもやめることができます。 &os; には、2 つの基本環境があります。 ひとつは、レガシーな仮想コンソールのコマンドライン環境です。 システムの起動が終わったら、 コンソールにログインプロンプトが表示されます。 2 つ目の環境は、設定可能なグラフィカル環境です。 では、 グラフィカルディスプレイマネージャやグラフィカルログインマネージャのインストールおよび設定方法について説明しています。 システムの起動後は、スプラッシュスクリーンは、 スクリーンセーバのデフォルトとなります。 一定期間使われないと、スプラッシュスクリーンが表示され、 イメージの輝度が、明るくから暗くなるように変化し、 そのサイクルが繰り返されます。 スプラッシュスクリーンセーバの設定は、 /etc/rc.confsaver= 行を追加することで変更できます。 いくつかのビルトインのスクリーンセーバが用意されており、 &man.splash.4; で説明されています。 saver= オプションは、 仮想コンソールにのみ適用され、 グラフィカルディスプレイマネージャには影響しません。 https://en.wikipedia.org/wiki/TheDraw のギャラリから、 サンプルのスプラッシュスクリーンファイルをダウンロードできます。 sysutils/bsd-splash-changer package または port をインストールすると、 起動時にスプラッシュイメージのコレクションからランダムに一枚が表示されます。 スプラッシュスクリーン機能は、 256 色のビットマップ (.bmp), ZSoft PCX (.pcx) または TheDraw (.bin) 形式に対応しています。 .bmp, .pcx または .bin イメージは、ルートパーティション、たとえば /boot に置く必要があります。 標準の VGA アダプタで動かすには、 スプラッシュイメージファイルは 320x200 ピクセル以下の解像度である必要があります。 デフォルトのブートディスプレイの解像度 256 色、320x200 ピクセル以下の場合には、以下を含むように /boot/loader.conf を編集してください。 splash.bmp の部分は、 用いるビットマップフィアルの名前に置き換えてください。 splash_bmp_load="YES" bitmap_load="YES" bitmap_name="/boot/splash.bmp" ビットマップフィアルの代わりに、PCX ファイルを使う場合は、以下のようにしてください。 splash_pcx_load="YES" bitmap_load="YES" bitmap_name="/boot/splash.pcx" TheDraw 形式のアスキーアートを使うには、以下を追加してください。 splash_txt="YES" bitmap_load="YES" bitmap_name="/boot/splash.bin" (最大解像度 1024x768 ピクセルまでの) もう少し大きなイメージを使いたい場合には、システムの起動時に VESA モジュールをロードしてください。 カスタムカーネルを使っている場合には、VESA カーネルコンフィグレーションオプションを追加してください。 スプラッシュスクリーンのために VESA モジュールを読み込むには、/boot/loader.conf のこれまでに説明した 3 行の前に以下の行を追加してください。 vesa_load="YES" 他に興味を持ちそうな loader.conf のオプションを以下で紹介します。 beastie_disable="YES" カウントダウンのプロンプトを除き、 ブートオプションメニューを表示しません。 ブートオプションメニューの画面は利用できませんが、 タイムウェイトカウントダウンプロンプトが表示されている時に、 オプションを選択することで対応するブートオプションを設定できます。 loader_logo="beastie" このオプションは、カラーの beastie ロゴと共にブートオプションメニューの右側に表示されている単語 (デフォルトでは &os;) を置き換えます。 より詳細な情報については、&man.splash.4;, &man.loader.conf.5; および &man.vga.4; をご覧ください。 Device Hints Tom Rhodes 寄稿: device.hints システムの最初のスタートアップ時に、&man.loader.8; は &man.device.hints.5; を読み込みます。 このファイルにはカーネル起動の環境変数が格納されており、 これらの環境変数は device hints と呼ばれることがあります。デバイスドライバは、 デバイスを設定するために device hints を使用します。 で説明されているように device hints はステージ 3 ブートローダプロンプトでも設定できます。 変数は set を用いて追加したり、 unset を用いて削除できます。 show を用いて一覧を見ることもできます。 /boot/device.hints に設定されている変数は、 上書きすることもできます。 ブートローダで設定した device hints の効果は一時的なものなので、 次回起動するときには無効になります。 システムが起動すると、&man.kenv.1; コマンドですべてのカーネル環境変数をダンプすることができます。 /boot/device.hints は 1 行につき一つの変数を設定でき、行頭の # はその行がコメントであることを示しています。 書式は次の通りです。 hint.driver.unit.keyword="value" ステージ 3 ブートローダ で設定するときの書式は次の通りです。 set hint.driver.unit.keyword=value ここで、driver はデバイスドライバの名前、 unit はデバイスドライバのユニット番号、 keyword はヒントキーワードです。 キーワードは以下のようなオプションです。 at: デバイスがどのバスに接続されているか指定します。 port: 使用する I/O ポートの開始アドレスを指定します。 irq: 使用する IRQ を指定します。 drq: 使用する DMA チャネルを指定します。 maddr: 使用する物理メモリアドレスを指定します。 flags: デバイスに対してさまざまなフラグを設定します。 disabled: 1 が設定されていると、そのデバイスは無効になります。 デバイスドライバはこのリスト以外の変数を設定できるかもしれませんし、 このリスト以外の変数を必要とするかもしれないので、 ドライバのマニュアルを読むことをおすすめします。 より多くの情報を知りたければ、&man.device.hints.5;, &man.kenv.1;, &man.loader.conf.5; および &man.loader.8; を参照してください。 シャットダウン動作 &man.shutdown.8; &man.shutdown.8; を用いてシステムを意図的にシャットダウンした場合、 &man.init.8; は /etc/rc.shutdown というスクリプトの実行を試みます。 そして、すべてのプロセスへ TERM シグナルを送り、続いてうまく終了できなかったプロセスへ KILL シグナルを送ります。 電源管理機能を持ったシステムで稼働している &os; では shutdown -p now によって、 直ちに電源を落とすことができます。&os; システムを再起動するには、 shutdown -r now を実行してください。 &man.shutdown.8; を実行するには、 root か、operator のメンバでなければなりません。&man.halt.8; や &man.reboot.8; を利用することもできます。 より多くの情報を得るために、それらのマニュアルページや &man.shutdown.8; を参照してください。 + + グループのメンバを変更するには、 + を参照してください。 電源管理機能には &man.acpi.4; がモジュールとして読み込まれるか、 カスタムカーネルにコンパイルされて静的に組み込まれている必要があります。
Index: head/ja_JP.eucJP/books/handbook/x11/chapter.xml =================================================================== --- head/ja_JP.eucJP/books/handbook/x11/chapter.xml (revision 48513) +++ head/ja_JP.eucJP/books/handbook/x11/chapter.xml (revision 48514) @@ -1,2196 +1,2208 @@ 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 クライアント XTermFirefox などの各 X アプリケーションは、 クライアント になります。 クライアントは この座標にウィンドウを描いてください といったメッセージをサーバへ送り、サーバは ユーザが OK ボタンを押しました といったメッセージを送り返します。 家庭や小さなオフィスのような環境では、X サーバと X クライアントは通常同じコンピュータ上で動いています。 X サーバを非力なコンピュータで動かし、 X アプリケーションをより高性能なマシンで動かすことも可能です。 この場合、 X のクライアントとサーバの通信はネットワーク越しに行なわれます。 ウィンドウマネージャ X はスクリーン上でウィンドウがどのように見えるべきか、 マウスでそれらをどうやって動かすか、 ウィンドウ間を移動するのにどういうキーストロークを使うべきか、 各ウィンドウのタイトルバーはどのように見えるべきか、 クローズボタンを持つべきかどうか、 といったことは規定しません。そのかわりに、X ではそういったことを ウィンドウマネージャ と呼ばれるアプリケーションに任せます。ウィンドウマネージャはたくさん あります。 これらのウィンドウマネージャの見た目や使い勝手はそれぞれ異なっています。 バーチャルデスクトップをサポートしているものもありますし、 デスクトップを操作するキーストロークをカスタマイズできたり、 スタート ボタンやそれに類するものを持っているものもあります。 テーマに対応しており、 デスクトップの見た目や使い勝手を完全に変えられるものもあります。 ウィンドウマネージャは Ports Collection の x11-wm カテゴリに用意されています。 それぞれのウィンドウマネージャは異なる設定機構を備えています。 手で設定ファイルを編集しなければならないものや、 設定作業のほとんどを GUI ツールで行うことができるものもあります。 デスクトップ環境 KDEGNOME は、デスクトップ環境です。 これらは、共通のデスクトップのタスクを実行するための完全なアプリケーションスイートを含んでいます。 オフィススイート、ウェブブラウザやゲームを含んでいるものもあります。 フォーカスポリシ ウィンドウマネージャは、 マウスのフォーカスポリシに責任を持ちます。 このポリシは、どのウィンドウがアクティブにキーストロークを 受け付けるようにするための方法を提供し、 そして、どのウィンドウがアクティブなのかを示します。 よく知られているフォーカスポリシは click-to-focus と呼ばれるものです。 このポリシは、 あるウィンドウ内でマウスをクリックすればそのウィンドウがアクティブになる、 というものです。 focus-follows-mouse ポリシでは、 マウスポインタの下にいるウィンドウがフォーカスされるというものです。 フォーカスを変えるには他のウィンドウにマウスポインタを動かすだけです。 マウスがルートウィンドウに移動した時には、 このウィンドウがフォーカスされます。 sloppy-focus モデルでは、 マウスがルートウィンドウに移動した時には、 直前に使われていたウィンドウがフォーカスされています。 sloppy-focus では、 ポインタが別のウィンドウに移った時のみフォーカスが変わり、 現在のウィンドウから出ただけでは変わりません。 click-to-focus ポリシでは、 マウスクリックによりアクティブなウィンドウが選択されます。 ウィンドウは前面に表示され、他のすべてのウィンドウの前にきます。 ポインタが別のウィンドウ上に移動した時でも、 すべてのキーストロークがこのウィンドウに届きます。 それぞれのウィンドウマネージャは、 それぞれのフォーカスポリシに対応しています。 すべてのものは click-to-focus をサポートしていますし、 多くのものは他の方法もサポートしています。 どのフォーカスモデルを利用可能かどうかについては、 ウィンドウマネージャのドキュメントをご覧ください。 ウィジェット ウィジェットはクリック可能であったり、 他の方法で操作可能なすべてのユーザインタフェース用アイテムを指す用語です。 ボタンやチェックボックス、ラジオボタン、アイコン、リスト、などがそうです。 ウィジェットツールキットはグラフィカルアプリケーションを作成するために使われます。 KDE で使われている Qt や GNOME プロジェクトで使われている GTK+ といった有名なウィジェットセットがあります。 そのため、アプリケーションのルックアンドフィールは、 アプリケーションを作成するのに使われたウィジェットツールキットに依存し、 異なります。 <application>&xorg;</application> のインストール &os; では、&xorg; を package または port からインストールできます。 Ports Collection からビルドしてインストールするには、 以下のように実行してください。 &prompt.root; cd /usr/ports/x11/xorg &prompt.root; make install clean バイナリ package を使うとより早くインストールできますが、 カスタマイズのためのオプションは少なくなります。 &prompt.root; pkg install xorg どちらの方法でも、完全な &xorg; システムがインストールされます。 ほとんどのユーザにとってはベストな選択となります。 経験のあるユーザ向けの最小の X システムは、x11/xorg-minimal です。 ほとんどのドキュメント、 ライブラリおよびアプリケーションはインストールされません。 アプリケーションによってはこれらの追加の要素が機能する上で必要となります。 <application>&xorg;</application> の設定 Warren Block 寄稿: &xorg; &xorg; クィックスタート &xorg; は、 標準的なほとんどのビデオカード、 キーボード、ポインティングデバイスに対応しています。 これらのデバイスは、自動的に検出されるため、 手動の設定は必要ありません。 もし、使用しているコンピュータですでに &xorg; が使われているのであれば、 コンフィグレーションファイルを移動するか、削除してください。 &prompt.root; mv /etc/X11/xorg.conf ~/xorg.conf.etc &prompt.root; mv /usr/local/etc/X11/xorg.conf ~/xorg.conf.localetc 3D アクセラレータを利用できるシステムでは、 &xorg; を実行するユーザを video または wheel グループに追加して、 使用できるようにしてください。 ユーザ jru をどちらのグループでも利用できるようにするには以下のように実行してください。 &prompt.root; pw groupmod video -m jru || pw groupmod wheel -m jru デフォルトでは TWM ウィンドウマネージャがインストールされています。 &xorg; が起動すると、 このウィンドウマネージャが立ち上がります。 &prompt.user; startx 古いバージョンの &os; では、 テキストコンソールに戻れるようにするために、 システムコンソールは &man.vt.4; に設定する必要があります。 を参照してください。 Accelerated Video のためのユーザグループ ビデオカードの 3D アクセラレータを有効にするには、 /dev/dri へのアクセスが必要となります。 通常は、X を実行するユーザを video または wheel グループに追加するするだけです。 ここでは、&man.pw.8; を使ってユーザ slurmsvideo グループ、または video グループが存在しない時に、 wheel グループに追加しています。 &prompt.root; pw groupmod video -m slurms || pw groupmod wheel -m slurms Kernel Mode Setting (<acronym>KMS</acronym>) コンピュータが、コンソールの表示から、 X 用の高解像度の表示へと切り替える時には、 ビデオの出力 mode が設定されている必要があります。 最近の &xorg; では、 カーネル内部のシステムを使って効率的にこれらのモードの変換をしています。 古いバージョンの &os; では、 KMS システムを用いない &man.sc.4; が使用されています。 X を閉じた後、システムコンソールは動作をしていても、 表示に黒になります。 新しい &man.vt.4; コンソールではこの問題は起こりません。 以下の行を /boot/loader.conf に追加して &man.vt.4; を有効にしてください。 kern.vty=vt コンフィグレーションファイル ディレクトリ &xorg; は、 複数のディレクトリから設定ファイルを探します。 &os; において、設定ファイルのディレクトリは、 /usr/local/etc/X11/ が推奨されます。 このディレクトリを使うことで、 アプリケーションのファイルをオペレーティングシステムとは区別する事になります。 昔のコンフィグレーションファイルの置き場である /etc/X11/ も機能します。 しかしながら、この場所に置くと、アプリケーションファイルと &os; システムのファイルが混ざってしまうため、推奨されません。 単一または複数ファイル 複数のファイルを用いて、 各ファイルが特定の部分を設定するようにすると、 古い単一の xorg.conf を用いるよりも設定が簡単になります。 これらのファイルは、 メインのコンフィグレーションファイルのディレクトリの xorg.conf.d/ サブディレクトリに置かれます。 フルパスは、一般的に /usr/local/etc/X11/xorg.conf.d/ となります。 これらのファイルの例は、この節の後半で説明します。 古い単一の xorg.conf も機能しますが、 xorg.conf.d/ サブディレクトリに複数のファイルで設定する形式に比べると、 柔軟ではなく、わかりにくいものとなります。 ビデオカード &intel; Iron Lake (HD Graphics) および Sandy Bridge (HD Graphics 2000) を含む Ivy Bridge (HD Graphics 2500, 4000, および P4000) までのほとんどの &intel; グラフィックスは、3D acceleration に対応しています。 ドライバ名: intel 参考情報については をご覧ください。 &amd; Radeon ATI/Radeon: 2D および 3D acceleration は、 HD6000 シリーズまでのほとんどの Radeon カードで対応しています。 ドライバ名: radeon 参考情報については をご覧ください。 NVIDIA NVIDIA: いくつかの NVIDIA ドライバが Ports Collection の x11 カテゴリから利用できます。 ビデオカードのモデルに対応するドライバをインストールしてください。 参考情報については をご覧ください。 ハイブリッドグラフィックス ノートブックコンピュータによっては、 チップセットまたはプロセッサに組み込まれているグラフィックプロセッサユニットの他に、 追加でそれらを持つものがあります。 Optimus は、 &intel; と NVIDIA ハードウェアを組み合わせています。 Switchable Graphics または、 Hybrid Graphics は、 &intel; または &amd; プロセッサと &amd; Radeon GPU を組み合わせています。 これらのハイブリッドなグラフィックシステムの実装は、 システムごとに異なるので、 &os; の &xorg; は、 これらのすべてのバージョンについて対応しているわけではありません。 コンピュータによっては、 片方のグラフィックアダプタを無効にしたり、 標準のビデオカードドライバの一つとともに使われる discrete モードを選択できるような BIOS オプションを提供しています。 たとえば、Optimus システムでは、NVIDIA GPU を無効にできるものがあります。 その後、&intel; ビデオカードは、 &intel; ドライバで利用できます。 BIOS の設定は、 コンピュータのモデルに依存します。 システムによっては、両方の GPU を有効にできますが、 そのようなシステムの機能を利用するには、 Device セッションにおいて、 メインの GPU のみを使用するようなコンフィグレーションファイルを作成ことで十分です。 他のビデオカード Ports Collection の x11-drivers ディレクトリには、 あまり使用されないようなドライバも用意されています。 特定のドライバによりサポートされていないようなカードでも、 x11-drivers/xf86-video-vesa で使用できるかもしれません。 このドライバは、x11/xorg によりインストールされます。 手動でインストールするには、 x11-drivers/xf86-video-vesa としてインストールしてください。 ビデオカードに対して、特定のドライバが見つからない場合には、 &xorg; はこのドライバを使うことを試みます。 x11-drivers/xf86-video-scfb も同様に、多くの UEFI および &arm; コンピュータで動くような、 使用するカードを特定していないビデオドライバです。 ファイルでビデオドライバを設定する。 コンフィグレーションファイルにおいて &intel; ドライバを設定するには、以下のようにしてください。 ファイルにおいて &intel; ビデオドライバを選択する。 /usr/local/etc/X11/xorg.conf.d/driver-intel.conf Section "Device" Identifier "Card0" Driver "intel" # BusID "PCI:1:0:0" EndSection 1つ以上のビデオカードが存在する場合には、 BusID 行のコメントを外し、 希望するカードを選択するように設定できます。 ビデオカードバス ID は、 pciconf -lv | grep -B3 display で表示できます。 コンフィグレーションファイルで、Radeon ドライバを設定するには以下のようにしてください。 ファイルにおいて Radeon ビデオドライバを設定する。 /usr/local/etc/X11/xorg.conf.d/driver-radeon.conf Section "Device" Identifier "Card0" Driver "radeon" EndSection コンフィグレーションファイルで VESA ドライバを設定するには、以下の用にしてください。 ファイルで <acronym>VESA</acronym> ビデオドライバを設定する。 /usr/local/etc/X11/xorg.conf.d/driver-vesa.conf Section "Device" Identifier "Card0" Driver "vesa" EndSection モニタ ほとんどすべてのモニタは、Extended Display Identification Data standard (EDID) に対応しています。 &xorg;EDID を使ってモニタと通信し、 対応している解像度とリフレッシュレートを検出します。 そのため、モニタを使用するのに最も適切な設定が選択されます。 モニタにより対応している他の解像度は、 コンフィグレーションファイルに希望する解像度を設定する、 または X サーバを起動後、&man.xrandr.1; により選択が可能となります。 &man.xrandr.1; の使用 パラメータを与えずに &man.xrandr.1; を実行すると、 ビデオ出力と検出されているモニタのモードを確認できます。 &prompt.user; xrandr Screen 0: minimum 320 x 200, current 3000 x 1920, maximum 8192 x 8192 DVI-0 connected primary 1920x1200+1080+0 (normal left inverted right x axis y axis) 495mm x 310mm 1920x1200 59.95*+ 1600x1200 60.00 1280x1024 85.02 75.02 60.02 1280x960 60.00 1152x864 75.00 1024x768 85.00 75.08 70.07 60.00 832x624 74.55 800x600 75.00 60.32 640x480 75.00 60.00 720x400 70.08 DisplayPort-0 disconnected (normal left inverted right x axis y axis) HDMI-0 disconnected (normal left inverted right x axis y axis) この出力からは、リフレッシュレート約 60 Hz で、 スクリーン解像度 1920x1200 ピクセルの表示に DVI-0 出力が使用されていることが分かります。 また、DisplayPort-0 および HDMI-0 インタフェースには、 モニタは接続されていません。 &man.xrandr.1; を使用して、 他のディスプレイモードを選択できます。 たとえば、60 Hz で、1280x1024 の表示に変更するには、 以下のように実行してください。 &prompt.user; xrandr --mode 1280x1024 --rate 60 ノートブックコンピュータの外部出力を使用して、 ビデオプロジェクタに接続することがよく行われます。 出力端子のタイプおよび番号は、デバイスごとに異なります。 また、各端子の名前もドライバごとに異なります。 あるドライバが HDMI-1 と呼ぶ出力が、 別のドライバでは HDMI1 と呼ばれることもあります。 そのため、最初に &man.xrandr.1; を実行して、 利用可能な出力のすべての一覧を表示してください。 &prompt.user; xrandr Screen 0: minimum 320 x 200, current 1366 x 768, maximum 8192 x 8192 LVDS1 connected 1366x768+0+0 (normal left inverted right x axis y axis) 344mm x 193mm 1366x768 60.04*+ 1024x768 60.00 800x600 60.32 56.25 640x480 59.94 VGA1 connected (normal left inverted right x axis y axis) 1280x1024 60.02 + 75.02 1280x960 60.00 1152x864 75.00 1024x768 75.08 70.07 60.00 832x624 74.55 800x600 72.19 75.00 60.32 56.25 640x480 75.00 72.81 66.67 60.00 720x400 70.08 HDMI1 disconnected (normal left inverted right x axis y axis) DP1 disconnected (normal left inverted right x axis y axis) この出力からは、組み込みパネルの LVDS1, 外部出力の VGA1, HDMI1, そして DP1 端子の 4 つの出力を確認できます。 プロジェクタは VGA1 出力に接続されています。 情報を得られたので、&man.xrandr.1; を使ってプロジェクタの標準の解像度に設定し、 デスクトップの右側にスペースを追加できます。 &prompt.user; xrandr --output VGA1 --auto --right-of LVDS1 この設定において、--auto は、 EDID により検出された解像度とリフレッシュレートを選択します。 解像度を正しく検出できていない場合には、 --auto のかわりに、 --mode を使うことで、 解像度を固定値を与えることにより設定できます。 たとえば、ほとんどのプロジェクタでは 1024x768 の解像度で使用できるので、 この場合には、--mode 1024x768 のように設定できます。 &man.xrandr.1; は、X を起動する際に、 適切なモードを設定するように、しばしば .xinitrc から実行されます。 モニタ解像度をファイルで設定する。 コンフィグレーションファイルでスクリーンの解像度を 1024x768 と設定するには以下のようにしてください。 スクリーンの解像度をファイルで設定する。 /usr/local/etc/X11/xorg.conf.d/screen-resolution.conf Section "Screen" Identifier "Screen0" Device "Card0" SubSection "Display" Modes "1024x768" EndSubSection EndSection EDID を持っていないモニタもあります。その場合には、 モニタが対応している周波数の範囲を、 HorizSync および VertRefresh で、指定することで設定できます。 手動でモニタの周波数を設定する。 /usr/local/etc/X11/xorg.conf.d/monitor0-freq.conf Section "Monitor" Identifier "Monitor0" HorizSync 30-83 # kHz VertRefresh 50-76 # Hz EndSection 入力デバイス キーボード キーボードレイアウト キーボード上の標準化されたキーの位置を レイアウト と呼びます。 レイアウトと他の調整可能なパラメータについては、 &man.xkeyboard-config.7; にまとめられています。 アメリカ合衆国のレイアウトがデフォルトです。 他のレイアウトを選択するには、 InputClass で、 XkbLayout および XkbVariant オプションを設定してください。 クラスに対応するすべての入力デバイスに適用できます。 以下の例では、 oss キー配置のフランス語のキーボードレイアウトを選択します。 キーボードレイアウトを選択する。 /usr/local/etc/X11/xorg.conf.d/keyboard-fr-oss.conf Section "InputClass" Identifier "KeyboardDefaults" Driver "keyboard" MatchIsKeyboard "on" Option "XkbLayout" "fr" Option "XkbVariant" "oss" EndSection 複数のキーボードレイアウトを選択する。 アメリカ合衆国、スペイン、 ウクライナのキーボードレイアウトを、 Alt Shift によって切り替えるようにするには以下のように設定します。 レイアウトスイッチングコントロールや現在のレイアウトインディケータを改良するには、 x11/xxkb または、 x11/sbxkb を使ってください。 /usr/local/etc/X11/xorg.conf.d/kbd-layout-multi.conf Section "InputClass" Identifier "All Keyboards" MatchIsKeyboard "yes" Option "XkbLayout" "us, es, ua" EndSection キーボードから &xorg; を終了する。 X をキーの組み合わせで終了できるように設定できます。 デフォルトでは、幾つかのアプリケーションで、 キーボードコマンドと衝突してしまう可能性があるため、 このキーの組み合わせは設定されていません。 このオプションを有効にするには、 キーボードの InputDevice セクションを変更してください。 キーボードからの X の終了を有効にする。 /usr/local/etc/X11/xorg.conf.d/keyboard-zap.conf Section "InputClass" Identifier "KeyboardDefaults" Driver "keyboard" MatchIsKeyboard "on" Option "XkbOptions" "terminate:ctrl_alt_bksp" EndSection マウスおよびポインティングデバイス コンフィグレーションオプションにより、 多くのマウスパラメータを調整できます。 すべての一覧については、&man.mousedrv.4x; をご覧ください。 マウスボタン xorg.conf のマウス InputDevice セクションで、 マウスのボタンの数を設定できます。 ボタンの数を 7 に設定するには、 以下のように設定してください。 マウスボタンの数を設定する。 /usr/local/etc/X11/xorg.conf.d/mouse0-buttons.conf Section "InputDevice" Identifier "Mouse0" Option "Buttons" "7" EndSection 手動による設定 ハードウェアによっては、&xorg; の自動設定で適切な設定が行われなかったり、 自動設定とは別の設定にしたいときがあります。 そのような場合のため、 カスタムコンフィグレーションファイルを作成できます。 検出されたハードウェアをベースとした、 &xorg; のコンフィグレーションファイルを作成できます。 このファイルは、 カスタムコンフィグレーションファイルの最初の出発点として有用です。 以下のようにすると xorg.conf が生成されます。 &prompt.root; Xorg -configure このコンフィグレーションファイルは、 /root/xorg.conf.new として保存されます。 必要となる変更を行った後、このファイルをテストしてください。 &prompt.root; Xorg -config /root/xorg.conf.new 新しい設定を調整してテストしたら、 ファイルに分割して、標準の場所である、 /usr/local/etc/X11/xorg.conf.d/ に置いてください。 <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/share/fonts/urwfonts/" 別の方法としては、 X のセッション中に次のようなコマンドラインを実行します。 &prompt.user; xset fp+ /usr/local/share/fonts/urwfonts &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/share/fonts/TrueType) を作り、そこに &truetype; フォントをすべて放り込みましょう。 &apple; &mac; の &truetype; フォントは、そのままでは使うことができませんので注意してください。 &xorg; で使うには &unix;/&ms-dos;/&windows; 用のフォーマットでなければなりません。 ファイルを置いたら mkfontdir を使って fonts.dir ファイルを作り、 X のフォントレンダラが新しいファイルがイントールされたことを分かるようにしてください。 mkfontdir は package からインストールできます。 &prompt.root; pkg install mkfontdir その後、ディレクトリに X フォントファイルのインデックスを作成してください。 &prompt.root; cd /usr/local/share/fonts/TrueType &prompt.root; mkfontdir 次に &truetype; フォントのディレクトリをフォントパスに追加します。 の場合と同じように、 &prompt.user; xset fp+ /usr/local/share/fonts/TrueType &prompt.user; xset fp rehash とするか、もしくは xorg.conf ファイルに FontPath 行を追加します。 これで GimpApache OpenOffice といったすべての X アプリケーションから &truetype; フォントを使うことができます。 (高解像度なディスプレイで見るウェブページ上のテキストみたいな) とても小さなフォントや (&staroffice; にあるような) 非常に大きなフォントもかなり綺麗に見えるようになることでしょう。 フォントのアンチエイリアス フォントのアンチエイリアス フォント アンチエイリアス /usr/local/share/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/share/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 ではなく bgrvrgb、もしくは vbgr の場合もあるので、 試してみて最も良いものを使ってください。 X ディスプレイマネージャ Seth Kingsley 寄稿: X ディスプレイマネージャ &xorg; は、 ログインセッションの管理に用いることのできる X ディスプレイマネージャ XDM を提供しています。XDM はどのディスプレイサーバに接続するかを選択でき、 ログイン名とパスワードの組み合わせなど認証情報を入力できるグラフィカルなインタフェースを提供しています。 この章では、&os; 上での X ディスプレイマネージャの設定方法について説明します。 デスクトップ環境によっては、 各環境独自のグラフィカルログインマネージャを提供しています。 GNOME ディスプレイマネージャの設定方法については、 を参照してください。 また、KDE ディスプレイマネージャの設定方法については、 を参照してください。 <application>XDM</application> の設定 XDM をインストールするには、 x11/xdm package または port を使ってください。 インストール後、コンピュータの起動時に、 XDM を起動するように設定するには、 /etc/ttys の以下のエントリを変更してください。 ttyv8 "/usr/local/bin/xdm -nodaemon" xterm off secure off の部分を on に変更して、保存してください。 このエントリの ttyv8 は、 XDM が 9 番目の仮想端末で起動することを示しています。 XDM の設定用ディレクトリは /usr/local/lib/X11/xdm です。 このディレクトリには XDM の振る舞いや見た目を変更するために用いられるファイルや、 XDM の動作中にデスクトップを設定するためのスクリプトやプログラムがあります。 には、 これらのフィアルの機能についてまとめられています。 これらのファイルの正確な文法や使用方法については、&man.xdm.1; に記述されています。 XDM 設定ファイル ファイル 説明 Xaccess XDM に接続するためのプロトコルは X Display Manager Connection Protocol (XDMCP) と呼ばれます。 このファイルにはリモートのマシンからの XDMCP 接続をコントロールするためのルールセットが書かれます。 デフォルトでは、どのクライアントからの接続も拒否します。 Xresources このファイルは、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 を使ってログインできるのは、同じシステムのユーザのみです。 あるディスプレイサーバに他のシステムのユーザが接続できるようにするためには、 アクセスコントロールのルールを編集し、 コネクションリスナを有効にする必要があります。 XDM が他のリモートコネクションを待ち受けるようにするためには、 xdm-configDisplayManager.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 を再起動してください。リモートアクセスを制限するには、 /usr/local/lib/X11/xdm/Xaccess にある例を参考にしたり、詳細について &man.xdm.1; を参照してください。
デスクトップ環境 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 は、 メッセージバスおよびハードウェアアブストラクションに D-Bus および HAL を使います。 これらのアプリケーションは、GNOME の依存として自動的にインストールされます。 /etc/rc.conf の中で、 システムの起動時にスタートするように有効にしてください。 dbus_enable="YES" hald_enable="YES" インストール後、 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 "exec /usr/local/bin/gnome-session" > ~/.xinitrc 3 つめの方法は、XDM をディスプレイマネージャとして使う方法です。 この場合は、実行可能な .xsession というファイルを作成してください。 &prompt.user; echo "#!/bin/sh" > ~/.xsession &prompt.user; echo "exec /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 は、 + メッセージバスおよびハードウェアアブストラクションに + D-Bus および + HAL を使います。 + これらのアプリケーションは、KDE + の依存として自動的にインストールされます。 + /etc/rc.conf の中で、 + システムの起動時にスタートするように有効にしてください。 + + dbus_enable="YES" +hald_enable="YES" KDE をインストールすると、 KDE のディスプレイマネージャ KDM もインストールされます。 このディスプレイマネージャを有効にするには、以下の行を /etc/rc.conf に追加してください。 kdm4_enable="YES" KDE を起動するもう一つの方法は、 コマンドラインから startx を実行する方法です。 このコマンドを実行するには、~/.xinitrc に以下の行を追加してください。 exec /usr/local/bin/startkde KDE を起動する 3 つめの方法は、 XDM を利用する方法です。 この方法を使うには、以下のようにして実行可能な ~/.xsession を作成してください。 &prompt.user; echo "#!/bin/sh" > ~/.xsession &prompt.user; echo "exec /usr/local/bin/startkde" >> ~/.xsession &prompt.user; chmod +x ~/.xsession KDE を起動した後は、 ビルトインヘルプシステムから、 さまざまなメニューおよびアプリケーションの使用方法などのより詳しい情報を参照できます。 Xfce XfceGNOME で使われている GTK+ ツールキットをベースにしたデスクトップ環境ですが、より軽量、 シンプルでかつ効率的でありながら使いやすいデスクトップ環境です。 すべての設定が可能で、メニュー、 アプレットおよびアプリケーションランチャを含むメインパネル、 ファイルマネージャ、サウンドマネージャを提供し、 テーマに対応しています。 速くて軽く、効率的なため、古いマシンや遅いマシン、 メモリの限られたマシンに向いています。 Xfce に関する詳しい情報は http://www.xfce.org で得られます。 Xfce package をインストールするには、次のように実行してください。 &prompt.root; pkg install xfce また、port を構築するには以下のようにしてください。 &prompt.root; cd /usr/ports/x11-wm/xfce4 &prompt.root; make install clean GNOMEKDE とは異なり、 Xfce は、 ログインマネージャを提供していません。 コマンドラインから startx を実行して Xfce を起動するには、 以下のように Xfce のエントリを ~/.xinitrc に追加してください。 &prompt.user; echo "exec /usr/local/bin/startxfce4 --with-ck-launch" > ~/.xinitrc もう一つの方法は XDM を用いる方法です。この方法を使うには、 実行可能な .xsession を作成してください。 &prompt.user; echo "#!/bin/sh" > ~/.xsession &prompt.user; echo "exec /usr/local/bin/startxfce4 --with-ck-launch" >> ~/.xsession &prompt.user; chmod +x ~/.xsession Compiz Fusion のインストール 魅力的な 3D 効果を使うと、 デスクトップコンピュータを使う楽しさがさらに増えることでしょう。 Compiz Fusion のインストールは簡単ですが、設定の際には、port の文書には記載されていないような作業が必要となることがあります。 &os; nVidia ドライバの設定 デスクトップ効果は、 グラフィックカードに極めて高い負荷をかけることがあります。 nVidia ベースのグラフィックカードにおいて、 良いパフォーマンスを出すには、 プロプリエタリなドライバが必要となります。 他のグラフィックカードを使っているユーザは、この節を飛ばし、 xorg.conf の設定に進んでください。 必要となる nVidia ドライバについては、 この問題に関する FAQ を参照して決めてください。 使用しているカードに対する適切なドライバが決まれば、 インストール作業は他の package をインストールするのと同じように簡単です。 たとえば、 最新のドライバをインストールするには以下のように実行してください。 &prompt.root; pkg install x11/nvidia-driver このドライバはカーネルモジュールを作成するので、 このモジュールをシステムの起動時に読み込むように設定してください。 以下の行を /boot/loader.conf に追加してください。 nvidia_load="YES" 動作しているカーネルに、 カーネルモジュールを今すぐ読み込ませるには、 kldload nvidia のようなコマンドを実行してください。 しかしながら、&xorg; のバージョンによっては、 起動時にドライバが読み込まれていないと正しく動かないもありますので、 注意してください。/boot/loader.conf を編集後は、再起動してください。 読み込まれたカーネルモジュールを使うには、 通常は、xorg.conf ファイルの一つの行をプロプリエタリなドライバを使うように変更するだけです。 /etc/X11/xorg.conf において、 以下の行を探し出してください。 Driver "nv" この行を以下のように変更してください。 Driver "nvidia" いつものように GUI を起動すると、nVidia のスプラッシュが表示されます。 すべてはこれまで通りに動作するはずです。 デスクトップ効果のための xorg.conf の設定 Compiz Fusion を有効にするには /etc/X11/xorg.conf を変更する必要があります。 コンポジット効果を有効にするには、 以下のセクションを追加してください。 Section "Extensions" Option "Composite" "Enable" EndSection 以下のような Screen セクションの場所を見つけてください。 Section "Screen" Identifier "Screen0" Device "Card0" Monitor "Monitor0" ... (Monitor の後に) 次の二つの行を追加してください。 DefaultDepth 24 Option "AddARGBGLXVisuals" "True" あなたが使用したいと考えているスクリーン解像度に対応する Subsection を探してください。 たとえば、1280x1024 を使用する予定であれば、 次のようなセクションを探してください。 もし希望の解像度の subsection がなければ、 手動でそのエントリを追加してください。 SubSection "Display" Viewport 0 0 Modes "1280x1024" EndSubSection デスクトップコンポジットで 24 ビットのカラーが必要であれば、上述の subsection を以下のように変更してください。 SubSection "Display" Viewport 0 0 Depth 24 Modes "1280x1024" EndSubSection 最後に、Module セクションに glx および extmod モジュールが読み込まれるように設定されていることを確認してください。 Section "Module" Load "extmod" Load "glx" ... 前述の設定は、 x11/nvidia-xconfig を (root 権限で) 実行することで自動的に設定できます。 &prompt.root; nvidia-xconfig --add-argb-glx-visuals &prompt.root; nvidia-xconfig --composite &prompt.root; nvidia-xconfig --depth=24 Compiz Fusion のインストールおよび設定 Compiz Fusion のインストールは、 他の package と同様に簡単です。 &prompt.root; pkg install x11-wm/compiz-fusion インストールが終了したら、グラフィックデスクトップを起動して、 端末から以下のコマンドを通常のユーザで実行してください。 &prompt.user; compiz --replace --sm-disable --ignore-desktop-hints ccp & &prompt.user; emerald --replace & 使っているウィンドウマネージャ (GNOME では、Metacity) が、 Compiz Fusion に置き換えられるため、 画面は数秒間ちらつきます。 Emerald がウィンドウデコレーション (たとえば、閉じる、最小化、最大化ボタンタイトルバーなど) を取り扱います。 このコマンドをスクリプトに変換して、 (たとえば GNOME デスクトップの Sessions に追加して) 起動時に自動的に実行されるようにすることもできます。 #! /bin/sh compiz --replace --sm-disable --ignore-desktop-hints ccp & emerald --replace & これを、たとえば start-compiz という名前でホームディレクトリに保存して、 以下のように実行可能にしてください。 &prompt.user; chmod +x ~/start-compiz GUI を使って、このスクリプトを (GNOME デスクトップの System, Preferences, Sessions にある) Startup Programs に追加してください。 すべての希望する効果と設定を選択するには、 (もう一度通常のユーザで) Compiz Config Settings Manager を実行してください。 &prompt.user; ccsm GNOME では、 System, Preferences メニューから選択することも出来ます。 ビルドの際に gconf support を選択していたのであれば、 gconf-editor を使って apps/compiz 以下を見ることで、 これらの設定を確認することも出来ます。 トラブルシューティング もしマウスが動作しなければ、 先へ進む前にマウスの設定を行う必要があります。 最近の Xorg では、デバイスの自動認識のため、 xorg.confInputDevice セクションは無視されます。 古い設定の記述を利用するには、 このファイルの 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 が動作するでしょう。 Compiz Fusion 使用時のトラブルシューティング Compiz Fusion をインストールし、説明されたようにコマンドを実行すると、 ウィンドウのタイトルバーやボタンが表示されません。 何が問題でしょうか? おそらく /etc/X11/xorg.conf の設定が行われていていないのでしょう。 このファイルを詳細に確認してください。特に DefaultDepth および AddARGBGLXVisuals ディレクティブを確認してください。 Compiz Fusion を起動するコマンドを実行すると、X サーバがクラッシュし、 コンソールに戻ります。何が問題でしょうか? /var/log/Xorg.0.log ファイルを確認すると、 X の起動時のエラーメッセージを探し出すことができます。 多くの場合は、以下のようなものです。 (EE) NVIDIA(0): Failed to initialize the GLX module; please check in your X (EE) NVIDIA(0): log file that the GLX module has been loaded in your X (EE) NVIDIA(0): server, and that the module is the NVIDIA GLX module. If (EE) NVIDIA(0): you continue to encounter problems, Please try (EE) NVIDIA(0): reinstalling the NVIDIA driver. これは通常 &xorg; をアップグレードした時に起きる現象です。 x11/nvidia-driver package をインストールして glx を再構築してください。