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

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

↑ トップページへ

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

★

 デスクトップ環境の構築(Mate 1.6.0 on FreeBSD 8.x) - 2. デスクトップ環境のインストールと構築


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

  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. Mateのインストール

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

      軽いということで、グラフィカルログインマネージャーはslimをインストールします。
      コマンドラインで以下のコマンドを打ってください。
         # pkg install x11/slim[ENTER]
    6. fusefs-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. ユーザー権限の設定

      PolicyKit関連でユーザー権限を何も設定しないと、一般ユーザーでログインした際、電源を切ることもできません。というわけで、ユーザー権限を設定します。
      具体的には、「/usr/local/etc/PolicyKit/PolicyKit.conf」をエディタで開いて、
        <match user="root">
         <return result="yes"/>
        </match>
      と書いてある部分を
        <match user="root|(追加するユーザー名)">
         <return result="yes"/>
        </match>
      というように変更します。これは実は全部許可しますよということなのですが、こうしたところで、アプリケーションのインストールはrootでないとできないようだし、使う作業は全部できるが、設定とかの作業はできません、といった感じになるようです。
      でうまくいくはずんですが、今回作業したところではメニューにシャットダウンしか出てこず、サインアウトしかできません。FreeBSD9.xだと、これでいけるので、何か作業をミスっているわけではないと思います。謎です。
      ここまで、やったところで再起動し、rootでログインした後、コマンドプロンプトで
         # startx[ENTER]
      と打って、Xが立ち上がることを確認します。Windowsっぽい枠が表示されたらOKです。 (されなければ、Xが立ち上がってないってことになります。要はトラブっているということですから、直す方法は一概にはいえません。/ver/log/Xorg.0.logファイルを見て、(EE)という箇所のメッセージを読んで、それをネットで検索したりしながら、原因特定と解決法を詰めていくという感じですが、正直根気が要ります。)
    5. Mate関連モジュールの起動設定

      Mateが起動時に立ち上がるようにします。
      1. /etc/rc.confに以下の記載を追加します。
         avahi_daemon_enable="YES"
         avahi_dnsconfd_enable="YES"
         slim_enable="YES"
      2. 各ユーザーのホームディレクトリに.xinitrcというファイルを作成して、以下の内容を記載してください。
         #!/bin/sh
         # set locale
         export LC_ALL=ja_JP.UTF-8
         export LANGUAGE=ja_JP.UTF-8
         export LANG=ja_JP.UTF-8
         # set input method
         export XMODIFIERS='@im=SCIM'
         # execute scim as daemon
         scim -d
         # execute mate
         exec mate-session
        内容は、言語の設定と日本語入力ツールの設定とmateの起動コマンドです。この作業はユーザー毎に行ってください。
    6. kern.maxfiles設定の変更

      Mateを使うと一人でログインしただけで3000以上のファイルが開かれて、maxfilesのデフォルト設定の4000弱は、簡単に突破してしまうので、これを最大値の65536に変更しておきます。/etc/sysctl.confファイルに以下の記載を追記してください。
       kern.maxfiles=65536
    7. 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]
      とすると日本語のディレクトリ名、ファイル名もきちんと見えます。但し、端末上の作業で、しかも読み込み専用となりますが。

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

今回のセットアップでの主なモジュールのバージョン
xorg 7.7
mate 1.6.0
dbus 1.6.18_1
hal 0.5.14_25
policykit 0.9_7
scim-anthy 1.2.7_1

(2014年 5月 3日 記)