↑ 「FreeBSDで遊ぼう」のページへ

↑ 「デスクトップ環境の構築(XFCE4 on FreeBSD 8.x)」のページへ

↑ トップページへ

★ [SilverSackの自画自賛] FreeBSDで遊ぼう

★

 デスクトップ環境の構築(XFCE4.10_5 on FreeBSD 8.x) - 2. Xfceの構築とウェブブラウザのインストール


ここでは、GUI環境のXfceが使えるようになるまでについて、書きます。

  1. デスクトップ環境XFCE4の構築

    1. 必要なアプリのインストール

      まずは、必要なアプリケーションをインストールします。rootでログインして作業します。

      1. xorgのインストール

        GUI環境の土台となるxorg(これは何と形容したら良いんでしょう。デスクトップ環境でもないし、ウィンドウマネージャーでもないし。Wikipediaでは表示プロトコルを提供するアプリなんて説明されてましたが、そう呼ばれていることも殆どないですしねぇ。)をインストールします。
        コマンドプロンプトで以下のコマンドを打ってください。
           # pkg install x11/xorg[ENTER]
      2. 日本語フォントのインストール

        以下のフォントをインストールします。
           - japanese/font-std
           - japanese/font-vlgothic
           - japanese/font-takao
        コマンドラインで以下のコマンドを打ってください。
        (font-stdのインストール)
           # pkg install japanese/font-std[ENTER]
        (font-vlgothicのインストール)
           # pkg install japanese/font-vlgothic[ENTER]
        (font-takaoのインストール)
           # pkg install japanese/font-takao[ENTER]
      3. 日本語入力環境のインストール

        日本語入力環境は、SCIMとAnthyの組み合わせを使用します。これからはXIMだよ、なんていう声も聞こえますが、私が勉強するにはネット上に参考情報の多かったこちらが楽でした。変換効率も不足ないし。
        コマンドプロンプトで以下のコマンドを打ってください。
           # pkg install japanese/scim-anthy[ENTER]
      4. XFCEのインストール

        XFCEをインストールします。コマンドプロンプトで以下のコマンドを打ってください。
           # pkg install x11-wm/xfce4[ENTER]
      5. slimのインストール

        軽いということで、グラフィカルログインマネージャーはslimをインストールします。
        コマンドラインで以下のコマンドを打ってください。
           # pkg install x11/slim[ENTER]
      6. fusefs-ntfsのインストール

        WindowsのNTFSのパーティションを読める様にするためにfuse-ntfsをインストールします。
        コマンドラインで以下のコマンドを打ってください。
           # pkg install sysutils/fusefs-ntfs[ENTER]
      ここまで終わったら、再起動します。
    2. デスクトップ環境の設定作業

      1. xorgのデバイス設定ファイルの作成

        1. 以下のコマンドを流して、デバイスの設定ファイルを作成します。
             # Xorg -configure[ENTER]
        2. xorg.conf.newファイルがログインしているユーザーのホームディレクトリ(rootなら/root/、そうでないなら/home/(ユーザー名)がデフォルト)に作成されているので、これを/etc/X11ディレクトリにxorg.confという名前でコピーします。コマンドは以下のようになります。
             # cp ~/xorg.conf.new /etc/X11/xorg.conf[ENTER]
          /etc/X11/xorg.confに以下の記載を追加します。
          1. 「Section "Module"」に
               Load  "freetype"
            を追記。
          2. 「Section "Files"」に
               FontPath  "/usr/local/lib/X11/fonts/bitstream-vera/"
            を追記。
      2. 必須DAEMONの起動設定

        X.orgの起動に必要なDAEMONがシステム起動時に起動するようにします。
        具体的には、/etc/rc.confファイルに以下の記載を追記します。
         dbus_enable="YES"
         hald_enable="YES"
         polkitd_enable="YES"
      3. 日本語キーボード配列の設定

        「/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>
        xorgのVer.7.4からハードウェアの制御をHAL経由でやるようになったということで、こういうファイルを用意するようです。こうすることによって活線挿抜のようなことが可能になっているようです。
      4. シャットダウン/再起動の設定

        何も設定しないと、一般ユーザーでログインした際、電源を切ることもできません。というわけで、その為の設定をします。
        具体的には、 「/usr/local/etc/polkit-1/localauthority/50-local.d/org.freedesktop.consolekit.pkla」をエディタで開いて、以下の内容を打ち込みます。
          [Local restart]
          Idendity=unix-group:power
          Action=org.freedesktop.consolekit.system.restart
          ResultAny=yes
          ResultInactive=yes
          ResultActive=yes

          [Local shutdown]
          Idendity=unix-group:power
          Action=org.freedesktop.consolekit.system.stop
          ResultAny=yes
          ResultInactive=yes
          ResultActive=yes

          [Local restart - multiple]
          Idendity=unix-group:power
          Action=org.freedesktop.consolekit.system.restart-multiple-users
          ResultAny=yes
          ResultInactive=yes
          ResultActive=yes

          [Local shutdown - multiple]
          Idendity=unix-group:power
          Action=org.freedesktop.consolekit.system.stop-multiple-users
          ResultAny=yes
          ResultInactive=yes
          ResultActive=yes

          [Suspend Hibernate]
          Idendity=unix-group:power
          Action=org.freedesktop.upower.*
          ResultAny=yes
          ResultInactive=yes
          ResultActive=yes
        次にpowerグループを追加します。コマンドプロンプトで以下のコマンドを打ってください。
          # pw groupadd power
        次にユーザーをpowerグループに追加します。コマンドプロンプトで以下のコマンドを打ってください。
          # pw usermod [ユーザー名] -G wheel,operator,power
        とします。ただ、このやり方は、一時的な方法らしく、時期が来たら変更されるようです。
        ここまで、やったところで再起動し、rootでログインした後、コマンドプロンプトで
           # startx[ENTER]
        と打って、Xが立ち上がることを確認します。Windowsっぽい枠が表示されたらOKです。(されなければ、Xが立ち上がってないってことになります。要はトラブっているということですから、直す方法は一概にはいえません。/etc/X11/xorg.confの内容を修正するという作業になるのが通常ですが、そこに至るには、/ver/log/Xorg.0.logファイルを見て、(EE)という箇所のメッセージを読んで、それをネットで検索したりしながら、原因特定と解決法を詰めていくという感じです。正直根気が要ります。)
      5. GUIログイン画面表示の設定

        GUIのログイン画面が立ち上がるようにします。/etc/rc.confに以下の記載を追加します。
         slim_enable="YES"
      6. X起動設定ファイルの作成

        各ユーザーのホームディレクトリに.xinitrcというファイルを作成して、以下の内容を記載してください。
         #!/bin/sh
         # set locale
         export LANG=ja_JP.UTF-8
         # set input method
         export XMODIFIERS='@im=SCIM'
         # execute scim as daemon
         scim -d
         # execute xfce4
         exec startxfce4
        内容は、言語の設定と日本語入力ツールの設定とxfce4の起動コマンドです。この作業はユーザー毎に行ってください。
      7. kern.maxfiles設定の変更

        XFCEで、一人で使う分にはまず問題にはならないんですが、念のため、maxfilesの設定をデフォルトの4000弱の値から最大値の65536に変更しておきます。/etc/sysctl.confファイルに以下の記載を追記してください。
         kern.maxfiles=65536
      8. fusefsの設定

        fusefs-ntfsを使用するための設定を行います。
        1. /etc/rc.confに以下の記載を追加します。
           fusefs_enable="YES"
        2. /etc/sysctl.confに以下の記載を追加します。
           vfs.usermount=1
        3. OSのmount_ntfsをfuseのものと入れ替えます。halにスクリプトが用意されているので、それを使用します。
          コマンドラインで以下のコマンドを打ってください。
             # mv /sbin/mount_ntfs /sbin/mount_ntfs-kern[ENTER]
             # cp /usr/local/share/hal/mount-fuse /usr/sbin[ENTER]
             # mv /usr/sbin/mount-fuse /usr/sbin/mount_ntfs[ENTER]
             # chmod 755 /usr/sbin/mount_ntfs[ENTER]
          a) halが用意したスクリプトを/usr/sbinにコピーして、b) スクリプト名をmount_ntfsに変えて、c) それを実行可能にする、という処理です。
        これで、mount_ntfsでNTFSのボリュームをマウントすると、日本語のフォルダ名、ファイル名も正しく表示されます。
        ちなみに、WindowsのFATのボリュームを見たい時は、
           # mount_msdosfs -D CP932 -L ja_JP.eucJP /dev/(デバイス名-例えばda0s1)
             /(マウント位置-例えば/media)[ENTER]
           # ls (見たいディレクトリ-例えば/media) | iconv -f EUC-JP -t UTF-8[ENTER]
        とすると日本語のディレクトリ名、ファイル名もきちんと見えます。但し、端末上の作業で、しかも読み込み専用となりますが。
    PCを再起動します。

トラブルシューティング等

今回のセットアップでの主なモジュールのバージョン
xorg 7.7
xfce 4.10_6
slim 1.3.5_3
dbus 1.6.18
hal 0.5.14_22
policykit 0.9_6
scim-anthy 1.2.7_1
fusefs-ntfs 2012.1.15

(2012年 2月11日 記
2012年 6月 2日 更新
2012年 9月 1日 更新
2013年 6月30日 更新
2014年 3月22日 更新)