GUI環境を構築する (X.org 7.x/xfce 4.x)

対象プラットフォーム: FreeBSD 7.x / FreeBSD 6.x

この記事はX.org 7.5以降の環境構築方法について説明しています。
X.org 7.4の環境構築方法については「GUI環境を構築する (X.org 7.4/xfce 4.x)」を参照してください。
X.org 7.3以前の環境構築方法については「GUI環境を構築する (X.org 7.3/xfce 4.x)」を参照してください。

はじめに

主にサーバ用途で利用されることの多いFreeBSDですが、Windowsと比較して遜色ないデスクトップ環境を構築することも可能です。

但し、先に言及しておきますが、正直なところFreeBSDはLinuxに比べ、マルチメディア関係のアプリケーションの対応があまりよくありません。
これはひとえに、Flash PlayerやRealPlayer等のマルチメディア系のプレイヤが、Linuxには対応しているがFreeBSDには対応していないことに起因しています。

もちろん、FreeBSDでも、Linuxエミュレータを利用してこれらのソフトウェアを動作させることはできますが、特にOSにこだわりがないのであれば、UbuntuFedoraあたりのLinuxをご利用になることをお勧めします。

それでも、という方のために、このページではX Window Systemである「X.org」と、軽量なデスクトップ環境である「xfce」を利用して、Windowsライクなデスクトップ環境のベースを構築する方法について説明します。

関係ソフトウェアのmakeおよびインストール

まず、デスクトップ環境を構築するために必要なソフトウェアのmakeおよびインストールを行います。

「X.org」本体のインストール

まず、デスクトップ環境の核となる「X.org」をインストールします。
以下の手順でX.orgをportsから導入してください。
portsの取得および展開方法については、「最新のportsを取得して展開する」を参照してください。

x.orgのビルドおよびインストール
$ cd /usr/ports/x11/xorg
$ make config-recursive
$ make install clean

make時にも注意喚起されますが、xorgの構築にはHDDに2GB程度の空き容量が必要になります。
また、構築には膨大な時間が掛かりますので(手元のPentium III 866MHzのマシンで丸二日程度)、ロースペックなマシンでportsからコンパイルする場合には、暫くの間放置する勇気と、それを許す周りの環境が必要です。

ログインマネージャのインストール

次に、ログインマネージャをインストールします。

ログインマネージャとは、ログイン画面を表示し、入力されたユーザIDおよびパスワードに応じて対応するユーザのXのセッションを開始するためのプログラムです。

X.org 7.4からはX.orgの標準ディスプレイマネージャ「XDM」およびセッションマネージャ「XSM」がX.orgのportsに含まれなくなりました。

ログインマネージャには他にもGNOMEに付属する「GDM」や、KDEに付属する「KDM」等かなりの種類がありますし、「XDM」はログインマネージャとしてはUI的にかなり無骨な部類に入りますので、好みに応じて他のログインマネージャを選んでもいいと思います。

いろいろ試した中では、「SLiM」が、UIもそこそこで、且つ他のソフトウェアと依存関係が少なくていい感じでした。
xfce4のページにも、SLiMを薦める記述もありますので、「XDMがイマイチ」と感じる方は、こちらを試してみてください。

「SLiM」をportsから導入するには、以下のようにします。

「SLiM」の導入
$ cd /usr/ports/x11/slim/
$ make config-recursive
$ make install clean

今までどおり、「XDM」をログインマネージャとして利用する場合には、以下のようにしてください。
(ログインマネージャとして「SLiM」を利用する場合には、以下の手順は不要です。)

「XDM」の導入
$ cd /usr/ports/x11/xdm/
$ make config-recursive
$ make install clean

「XSM」の導入
$ cd /usr/ports/x11/xsm/
$ make config-recursive
$ make install clean

日本語フォントのインストール

X.orgのインストールが完了したら、次は日本語のフォントをインストールします。
デフォルトの状態でも日本語フォントはインストールされているのですが、等幅でビットマップなフォントで、お世辞にも綺麗といえない為、別途インストールしたほうがよいです。

以前は、フリーで綺麗なフォントというのはなかなかなかったのですが(「東風フォント」というのがあったのですが、ベースにしたフォントのライセンス問題で2003年10月に制作・配布終了となりました)、2004年 7月に情報処理推進機構(IPA)が「地理情報システム(GRASS)」の一部として、「IPAフォント」と呼ばれるライセンスの緩いフォントを公開したことにより、OSSではこのフォントが広く使われるようになりました。

今回構築する環境でも、このIPAフォントを導入することにします。

IPAフォントもportsからインストールします、以下の手順でインストールしてください。

IPAフォントのビルドおよびインストール
$ cd /usr/ports/japanese/font-std
$ make config-recursive
$ make install clean

$ cd /usr/ports/japanese/font-mplus-ipa
$ make config-recursive
$ make install clean

尚、日本語フォント関連のportsは、2009/06初旬に大規模な整理が行われ、portsの名称が大幅に整理されています。
詳しくは後藤大地さんのFreeBSD Daily Topicsの「FreeBSD Daily Topics:2009年6月1日 ≪注目≫日本語フォント関連一斉変更 - ipa-ttfontsからfont-stdへ (内容比較表あり)|gihyo.jp … 技術評論社」をご参照ください。

デスクトップ環境「xfce 4.x」のインストール

続いて、軽量なデスクトップ環境である「xfce」をインストールします。
やはりxfceもportsとして提供されていますので、以下の手順でportsからインストールしてください。

xfceのビルドおよびインストール
$ cd /usr/ports/x11-wm/xfce4
$ make config-recursive
$ make install clean

「make config-recursive」を行うと、メニュー形式でいくつかの設定項目が表示されますが、「DBUS」および「FAM」(File Alternation Monitor)関連の項目については、必ず有効にするようにしてください。(ほとんどの場合、デフォルトでチェックが入っています)
前者はX.orgがデバイスを制御するのに必要な機能で、これを有効にしないと、xfce4自体が起動しません。
また、後者はファイルに対する変更(新規作成や削除を含む)をモニタする機能で、これを有効にしないと、ディスクトップに新規作成したファイルのアイコンが表示されなかったり、削除されたファイルのアイコンが表示されたままになったります。

尚、xfce4の構築もxorgの構築と同じぐらい時間が掛かりますので、ご注意ください。

インストール後の設定

必要なportsのインストールが完了したら、次にそれぞれのソフトウェアの設定を行います。

デバイスの自動検出

まずはじめに、X WINDOW SYSTEMが利用するデバイスの設定を行います。
下記のように入力して、X.orgの設定ファイルである「xorg.conf」を自動生成します。

「xorg.conf.new」の自動生成
$ Xorg -configure

上記のようにするとデバイスが自動検出され、その内容が「xorg.conf.new」として書き出されます。
生成された「xorg.conf.new」はユーザのホームディレクトリに保存されますので、これを「/etc/X11/xorg.conf」として保存してください。

HAL等の必須daemonの起動

X.org 7.4から、キーボードおよびマウスを含む殆どのデバイスがHAL経由で制御されるようになりました。
また、X.orgを正常に動作させるためには、dbusやPolicyKit等のdaemonも必要なので、システム起動時にこれらのdaemonが動作するよう、「/etc/rc.conf」に以下の記述を追加します。

「/etc/rc.conf」への追記
dbus_enable="YES"
hald_enable="YES"

設定完了後、システムを再起動することにより、これらのdaemonが動作するようになります。

システム再起動後、kernelを独自に構築している場合等に以下のメッセージが表示されることがあります。

passデバイスに関する警告
xptioctl: pass driver is not in the kernel
xptioctl: put "device pass" in your kernel config file

このままの状態ですと、HALが正常に動作しないため、メッセージの通りkernelコンフィグファイルに「device pass」の記述を追加し、kernelを再構築してください。

キーボード配列の設定

X WINDOW SYSTEMでのデフォルトのキーボード配列は英語になっているので、これをあらかじめ日本語に変更しておきます。

具体的には「/usr/local/etc/hal/fdi/policy/10-x11-kbd.fdi」というファイルを作成し、以下の内容を記述します。

「/usr/local/etc/hal/fdi/policy/10-x11-kbd.fdi」の作成
<?xml version="1.0" encoding="ISO-8859-1"?>
<deviceinfo version="0.2">
  <device>
    <match key="info.capabilities" contains="input.keyboard">
      <match key="info.udi" string="/org/freedesktop/Hal/devices/atkbd_0">
	<merge key="input.x11_options.XkbRules" type="string">xorg</merge>
        <merge key="input.x11_options.XkbModel" type="string">jp106</merge>
        <merge key="input.x11_options.XkbLayout" type="string">jp</merge>
        <merge key="input.x11_options.XkbOptions" type="string">ctrl:nocaps</merge>
      </match>
    </match>
  </device>
</deviceinfo>

上記の通り、X.org 7.4からはキーボードの制御もHAL経由となっているため、「/etc/X11/xorg.conf」を編集する従来の設定方法とは違う点に注意してください。

設定後、下記の通り入力することにより、xfce4を起動することが出来ます。

xfce4の起動
$ startxfce4

システム起動時にGUIのログイン画面を表示するようにする

xfce4を起動させるのに、ログイン後「startxfce4」と入力するのは、あまりスマートではないため、FreeBSDの起動完了後に、GUIのログイン画面を出すように設定変更します。

ログインマネージャとして「SLiM」を導入した場合には、「SLiM」がシステム起動時に自動的に呼びされるよう、「/etc/rc.conf」に以下の記述を追記してください。
さい。

「/etc/rc.conf」への追記
slim_enable="YES"

尚、SLiMを起動させる方法は、上記の「/etc/rc.conf」に追記を行う方法の他に、「/etc/ttys」の「ttyv8」を編集する方法があります。
詳しくは「SLiM - Simple Login Manager」のページを参照してください。

ログインマネージャとして「XDM」を導入した場合には、「XDM」がシステム起動時に自動的に呼び出されるよう、コンソール関係の設定ファイル「/etc/ttys」を下記の通り編集してください。
(ログインマネージャとして「SLiM」を利用する場合には、以下の手順は不要です。)

「ttys」の設定(編集前)
ttyv8   "/usr/X11R6/bin/xdm -nodaemon"  xterm   off secure

「ttys」の設定(編集後)
ttyv8   "/usr/local/bin/xdm -nodaemon"  xterm   on  secure

編集後、システムを再起動させると、導入したほうののログイン画面が表示されるようになります。
ログインスクリプトの不備等で、コンソール画面での作業が必要な場合には、[Ctrl]+[Alt]+[F1]を同時に押してコンソール画面に切り替えてください。

ユーザごとのX起動用スクリプトの作成

次に、各ユーザがログインマネージャ経由でログインした際に、xfce4のウインドウマネージャが起動するように、各ユーザごとに「.xsession」または「.xinitrc」を以下のように作成します。

Xセッション用スクリプトの作成
#!/bin/sh

export LANG=ja_JP.eucJP

sleep 3

exec startxfce4

「SLiM」は、デフォルトの設定ではXセッションの起動用に「.xinitrc」を、「XDM」は「.xsession」を利用するため、使うログインマネージャに応じて、作成したファイルに「.xinitrc」または「.xsession」の名前を付け、各ユーザのルートフォルダにおいてください。

一般ユーザがマシンをreboot/shutdown出来るように設定

続いて、各ユーザがxfce4の画面上からマシンをrebootまたはshutdownできるように、PolicyKitの設定を行います。

デフォルトの状態では、rootのみに全アクションが許可されていますので、特定のユーザに対して再起動/シャットダウンを許可する場合には、「/usr/local/etc/PolicyKit/PolicyKit.conf」の「<match user="root"></match>」の後に、下記の記述を追記してください。

「/usr/local/etc/PolicyKit/PolicyKit.conf」への追記
<match user="アクションを許可するユーザ名">
<return result="yes"/>
</match>

分かり辛いかもしれませんが、「/usr/local/etc/PolicyKit/PolicyKit.conf」はXMLで記述されています。
上記記述は、必ず「<match user="root"></match>」と同じ階層に記述するようにしてください。

パフォーマンス向上の為の設定

X.orgについては、以下の設定を行うことにより、パフォーマンスを向上させることが出来ます。
「/etc/sysctl.conf」に以下の記述を追記してください。

「/etc/sysctl.conf」への追記
kern.ipc.shmmax=67108864
kern.ipc.shmall=32768

より良いデスクトップ環境を構築するために

X.orgおよびxfce4本体に関する設定は以上ですが、より良いデスクトップ環境を構築するには、日本語入力環境やブラウザ、メーラ、メディアプレイヤー等の整備が必要になります。

これらの設定方法についても説明していますので、以下の各ページをご参照ください。

・ 日本語入力環境を構築する(scim/anthy)
・ ウェブブラウザ「Firefox」を導入する
・ ウェブブラウザ「Firefox」でFlashが再生できるようにする
・ インターネットメーラー「Thunderbird」を導入する
・ メディアプレイヤー「VLC」を導入する
・ メディアプレイヤー「RealPlayer」を導入する
・ PDFリーダー「Acrobat Reader」を導入する

変更履歴

2010/07/05

・メディアプレイヤー「VLC」の利用方法の説明ページへのリンクを追加。

2010/07/04

・X.org 7.5にあわせて記述内容を調整。
・ログインマネージャとして「SLiM」を利用するための手順について追記。

2010/05/14

・フォント全般のportsが変更されたため、それにあわせて構築するports名を修正。

2009/10/02

・キーボードの設定で、編集対象をファイルが「/usr/local/etc/hal/fdi/policy/10-x11-kbd.fdi」なのに誤って「/etc/rc.conf」と記述していた誤記を修正。(ご指摘頂いた方、ありがとうございます!)


あなたの探し物は見つかりましたか?
まさにこれだ 参考になった ちょっと違う これじゃない
何かメッセージがあればお願いします

このメッセージを非公開にする

ご注意

・頂いたメッセージは管理者のチェックの後、公開されます。
・メッセージの公開を希望されない場合には、「このメッセージを非公開にする」にチェックを入れてください。
・管理者が不適切と判断したメッセージは公開しませんので、予めご了承ください。


まさにこれだ
30 (70%)
参考になった
9 (21%)
ちょっと違う
2 (5%)
これじゃない
2 (5%)

【まさにこれだ】 良い情報ありがとうございました。たいへんわかり易く書かれていると思います。これからもお願いいたします。 (2012/04/26 Thu 09:33:25)

【参考になった】 具体的内容の記述と、解説も踏み込んだものもあり勉強になった。要領よくまとまっていてわかりやすい。こういうものを提供してもらうのはとてもありがたい。 (2011/12/26 Mon 16:16:17)

【まさにこれだ】 非常によくまとまって分かりやすかったです。 halの設定はまとまった設定がまだ他になく頼りになりました。 (2011/05/04 Wed 20:24:06)

【まさにこれだ】 もう本当に助かりました。ありがとうございます! freebsd5のときと違いすぎて悩んでいるところでした。 (2011/02/27 Sun 12:13:35)

【ちょっと違う】 はじめまして、WinXPS3(celeron560 2.3GHz RAM2.0GB:PC-Note) でSunVirtualBox3.1.2仮想環境でFreeBSD5.4RをゲストOSとして動かしています。X WindowSystemをインストールしたいのですが、Portから持ってくるのかsysinstallでPackagesから持ってくるのかがわからりません。どうすればいいのかご教授ください。twmが動けばそれで満足です。お願いします。 (2011/01/16 Sun 18:54:46)
→ FreeBSD5.X系は既にサポートが終了しているので、portsからは構築できないと思います。 package経由が宜しいかと。

【まさにこれだ】 あれ?でもなんか完全にインストールできない。 (2010/10/13 Wed 05:43:50)

【まさにこれだ】 今、UNIX系のOSに興味がありいろいろ情報をあさっています。大変参考になりました。説明が丁寧で好感がもてました。期待してます。 (2009/11/03 Tue 12:22:58)

【まさにこれだ】 FreeBSDでXWindowが設定できず困っていました。 完璧に動かすことができました。ありがとうございます。 (2009/10/12 Mon 03:24:13)

【まさにこれだ】 詳しい解説ありがとうございました。参考になりました。一箇所誤植を見つけましたのでお知らせします。 「キーボード配列の設定」の「/etc/rc.conf」への追記 は、間違いのようです。よろしくお願いします。 (2009/09/23 Wed 10:29:48)
→ ご指摘ありがとうございます、本文を訂正いたしました。

【まさにこれだ】 "キーボード配列の設定" がとても参考になりました。 (2009/07/15 Wed 15:53:20)

【まさにこれだ】 久方ぶりにFreeBSDいじりを再開しようとしています。 以前はFreeBSD4.xあたりで遊んでいましたが、浦島太郎状態(大げさ!) 頼りにしてます。 (2009/06/28 Sun 11:44:50)

【これじゃない】 1.新規にeucで環境構築を推奨するのはどうかと思います。ja_JP.UTF-8にしましょう 2.polkitd_enableはいりません。 3. X -configureの内容はけっして正しくありません。現状フォントパスとドライバブロックだけあればあとはいりません。 4.なぜportsからのビルドのみで書くのですか? 初心者向けのドキュメントということであれば FreeBSD-7.2のパッケージを取り敢えず入れて 必要ならちょっとずつ再ビルドして入れ替えていく形でいいんじゃないでしょうかpkg_add -rで充分 ビルドする場合でもfetch先行で無駄なものを入れない場合Pentium3 600でも8h程度、順番に入れておけば 作業エリアは200Mbyte(xorg-serverとglくらい)もくわないと思います。 5.日本語フォントはportsから入れる必要はなくTTFやOTFに入れればそれだけで使えるようになります。 必要ならmkfontscaleとmkfontdirをフォントディレクトリーで実行すればいいです。 6.kern.ipc.shmall * 4096がkern.ipc.shmmaxでとpostgreSQLの解説ページで書いているのでは? 7 ctrl:nocapsは個人的趣味の問題では? 8 xfceの前にgtk関連ビルドした方が気が楽なんじゃ?あとこの辺もpackage推奨 9.LINUX互換薦めるならばLINUX薦めた方が良いです。 realplayerじゃなくてffmpegとかmplayerにしませんか? Acrobat Readerじゃなくてepdfviewじゃだめですか? xtermでのIME表示って最近の版で確認してます? Flashならばwineのがいいんじゃないですか? 10.みためがちゃんとしているのに内容がぐだぐたで 誰をターゲットにしているのか分かりません。 (2009/06/12 Fri 13:11:38)


目次に戻る

image