FreeBSD-CURRENTを導入してみた (6) xorgを導入してみた
sshを使用した環境は軽量で便利なのですが、やはりFreeBSD環境上でも ブラウザとかX Windowクライアントを使いたくなる時もあります。 そこでxorgを導入します。 次項で紹介するVirtualBoxのGuest Additionを導入すれば マウス統合やウィンドウリサイズといった機能も使用できます。
- (1) 配布物入手して仮想マシン作成してみた
- (2) インストーラを実行してみた
- (3) 最新状態に更新してみた
- (4) portsを使う環境整備したった
- (5) sshログイン環境を整備してみた
- (6) xorgを導入してみた
- (7) Guest Additionを導入してみた
- (1) 必要な資材を集めてみた
- ...
- xorgを導入する
- 設定を行う
- x11/xorg-apps
- x11-drivers/xorg-driver
- x11-servers/xorg-server
- lang/python27
- x11/xterm
- x11/pixman
- x11-drivers/xf86-video-radeonhd
- lang/perl
- sysutils/hal
- converters/libiconv
- devel/m4
- graphics/png
- textproc/libxslt
- devel/libcheck
- misc/help2man
- textproc/docbook-xsl
- devel/glib20
- textproc/docbook
- devel/gamin
- textproc/docbook-500
- devel/icu
- コンパイル/導入する
- ここまでのまとめ
xorgを導入する
今から20年くらい前、X WindowがまだX11R3などとバージョン番号付きで呼ばれていた頃、 そのプログラムは1つの巨大なファイルにまとめられ配布されていました。 当然、導入も解凍、設定、コンパイル、インストールという 一連の流れで行えていました *1。
現在のxorgと呼ばれるようになったX Windowは200以上の小さなプログラムとして 配布されています。 それぞれのプログラムごとにportsは作られています。 ですので、それらportsを必要なだけ導入すればX Windowを導入できます。
とは言え、そもそもportsは全部で2万数千あります。 その中でxorgを構成する必要なportsを全部探しだすのは現実的ではありません。
そこで使うのが200幾つかのportsを一括して導入してくれるxorgの メタportsであるx11/xorgです*2。 まずそのパスに移動しましょう。
# cd /usr/ports/x11/xorg
設定を行う
x11/xorgを構成する200以上のportsの幾つかは、設定を行うことができます。 そのうちのかなりの部分は通常は無視できるものです。 残る幾つかは指定すると多少嬉しいものです。 そして最後の数個は、特に我々日本人にとっては是非指定したいものです。 config-recursiveの呪文を詠唱して、めげずに設定を行なってゆきましょう。
# make config-recursive
これを実行することで、 x11/xorgとそれを構成するportsすべての設定を行うことができます。
以下、xorg導入のために筆者が行った設定を紹介します。 なお設定項目はportsのバージョンによって変化します。 また設定値はたぶんに筆者の好みを反映しています。 かならずこの通りに設定しなければならない、というものではありません。
x11/xorg-apps
xorgの標準アプリケーションを一括インストールするmeta portsです。
インストールするportsは設定で選択でき、
不要のものはインストールしないことを選べます。
特に事情がない場合は、そのまま「OK」します。
このportsの完全な設定項目一覧はこちらです→
x11-drivers/xorg-driver
様々なXの入出力装置のドライバソフトウェアを導入するmeta portsです。
VirtualBoxで利用できるデバイスは限られるため、マウス MOUSE,キーボード KEYBOARD,ビデオ VESAの3つのドライバを選択すれば十分です。
VirtualBox環境ではビデオドライバとしてGuestAdditionのそれを使用します。
が、これが動作しなくなった場合の用心としてVESAドライバを導入しておくと安心です。
このportsの完全な設定メニューの一覧はこちらです→
x11-servers/xorg-server
xorgのX serverソフトウェアです。
以下の機能のサポートの有効、無効を指定することができます。
ここではデフォルトのまますべてを選択して「OK」します。
lang/python27
スクリプト言語pythonのインタプリタ、2.7版です。
ここではデフォルトの設定のまま「OK」を選択します。
オプションで悩むのはFPECTL Floating point exception handling ですが、
Pythonのドキュメントによれば:
fpectl モジュールはデフォルトではビルドされません。このモジュールの利用は推奨さ
れておらず、熟練者以外がこのモジュールを使うのは危険です。このモジュールの制限
についての詳細は、 制限と他に考慮すべきこと 節を参照してください。
とあります。Python熟練者でない私は無効にしています。
x11/xterm
xtermは X Windows上でコンソール入出力を実現する端末エミュレータソフトウェアです。
通常はデフォルトの設定のまま「OK」を選択します。
ただし、GNOME,KDE,Xfce4を使用する予定がある場合には
「GNOME GNOME desktop environment」
を選択しておいてもよいでしょう。
これを選択するとそれぞれの環境に対してメニュー登録が行われて、
メニューからのxtermの起動が可能になります。
このportsの完全な設定メニューの一覧はこちらです
→
x11/pixman
pixmanはイメージ合成やラスター処理のような
低レベルのピクセル操作を提供するライブラリです。
このソフトウェアでは以下の設定を行えます。
SIMDオプションを指定すると、 使用しているCPUがMMXやSSE2のようなSIMD拡張命令セットをサポートしているかを 自動検出し、サポートしているならばその命令セットを使用するようになります。 MMXやSSE2が利用できるならば、浮動小数点演算が高速化されることが期待できます。 通常は有効にします。
x11-drivers/xf86-video-radeonhd
ATI Radeon HD用のグラフィックドライバです。
これは本来設定する必要はありません。
なぜならばx11-drivers/xorg-driver
で無効化されているからです。
しかしながらmake config-recursive
ではコマンドを投入した瞬間に
有効になっていたportsがconfigされます。xf86-video-radeonhdは初期状態で有効化
されていたためconfigが実行されるのです。
実際のところconfigを行ってもコンパイル/インストールは行われません。
ですのでここでは中身は確認せず、そのまま「OK」を選択します。
なお、これとは逆で、デフォルトで無効になっていたportsを有効化した場合、
そのportsやそれが依存するportsのconfigが走らないことは注意すべきです。
こうしたportsのconfigは、再度make config-recursive
を
実行すれば走ります。
ただし、そこで別のportsを有効にした場合、同じ現象が発生します。
従い、make config-recursive
はconfigメニューが表示されなくなるまで
繰り返して実行する必要があるのです。
lang/perl
perl言語のportsです。FreeBSDでの現時点のデフォルトのバージョンは5.14版です。
設定はデフォルトのままで大丈夫でしょう。
このportsの完全な設定メニューの一覧はこちらです→
オプションの解説を少々。 DEBUGGINGは文字通りの意味です。
Gnuのキー-バリュー型組み込みデータベースの実装がGDBMであり、 それをperlからアクセスできるようにする拡張がGDBM_File拡張です。
malloc(3)ルーチンをFreeBSD純正のものではなくPerl付属のルーチンを使用するようにするのが PERL_MALLOCです。このオプションを適用したPerlで、 PERL_DEBUG_MSTATS環境変数を定義してスクリプトを実行することで、メモリ使用状況を 分析することができます。
PERL_64BITINTオプションは、32bit環境であるi386アーキテクチャでも整数型として 64bit整数を使用する指定です。これがデフォルトです。なお、32bit整数版Perlと 64bit整数版Perlとでは色々な箇所で非互換性があります。 例えば先のGDBM_Fileで32bit整数版Perlが作成したgdbmデータベースを 64bit整数版Perlで開くことはできません。
THREADSはスレッド機能対応版のPerlを作成するオプションです。 このオプションを指定しない限り"use threads;"を使用できません。 このオプションを指定すると自動的にPTHREADオプションも有効になります。 が、Perl Mallocの不具合のため、PERL_MALLOCオプションは取り消されます。
PTHREADオプションはPOSIX互換スレッド機能を使用して構築するオプションです。
MULTIPLICITYオプションは、スレッド対応機能以前から存在していた、同時に複数の インタプリタを実行して並列処理する仕組みを有効にします。
SITECUSTOMIZEオプションは実行時に@INCをカスタマイズ可能にします。 共通的なライブラリを置いたりするに便利でしょう。
USE_PERLオプションはインストールしたPerlに/usr/bin/perlと/usr/bin/perl5から シンボリックリンクを張ります。 一般的なパスでperlを扱えるようになります。
sysutils/hal
xorgではデフォルトでキーボードやマウスの設定をhalで行います。
このportsでは以下の設定が行えます。
halはリムーバブルメディアの挿入を検出した際に、これをメディアにつけられたボリューム名
と同名のパスに自動マウントします。
FIXED_MOUNTPOINTSオプションが指定されると、
このデフォルトの振舞を変更して、固定されたマウントポイントにmountするようになります。
有効/無効は好みの問題でしょう。私はデフォルトのまま無効で設定しています。
converters/libiconv
libiconvはUnicodeベースの文字コード変換機能のライブラリです。
文字コードAとBがあったとします。
その変換をA→Unicode、Unicode→Bという経路で行います。
これがUnicodeベースの文字コード変換です。
このportsでは以下の設定が行えます。
ENCODINGSオプションを指定することでJISX0213に対応します。 PATCHESオプションで、日本語に関する様々な問題が修正されます。 例えば、CP932の変換がWindowsでの変換と異なる、といった問題が修正されます。 2つのオプションを両方共有効に設定します。
devel/m4
m4は、マクロプロセッサです。
テキストの置換処理に特化したプログラムです。
RatforというFortranをC言語風に拡張した言語の開発のために作られました。
が、現在では自動設定スクリプトを生成するautoconfの処理や、
メールサーバプログラムsendmailの設定用途などで使われています。
FreeBSDのOS自体にもデフォルトでm4が存在しています。 portsではそれに加えてGNUバージョンのm4が導入されます。
このportsでは以下の設定が行えます。