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

↑ トップページへ

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

★

 デスクトップ環境の構築 - 3(b). xorgのインストールとデバイスに関連する設定作業(FreeBSD 11)


ここでは、xorgのインストールとFreeBSDとxorgに関連するデバイス設定作業を取り上げます。この作業の前に

の2つの作業を終えておいてください。
作業は、引き続きrootでログインして行います。

  1. xorgのインストールと設定
    1. xorgのインストール
    2. GUI環境の土台となるxorgをインストールします。
      コマンドプロンプトで以下のコマンドを打ってください。

        # pkg install xorg[ENTER]
    3. xorgの設定ファイルの作成
      1. /usr/local/etc/X11/xorg.conf.dにmodule.confというファイルを作成して、以下の記載をします。
          Section "Module"
            Load  "freetype"
          EndSection
      2. /usr/local/etc/X11/xorg.conf.dにfiles.confというファイルを作成して、以下の記載をします。
          Section "Files"
            FontPath  "/usr/local/share/fonts/dejavu/"
          EndSection
      3. /usr/local/etc/X11/xorg.conf.dにinput.confというファイルを作成して、以下の記載をします。

         Section "InputClass"
           Identifier    "Keyboard Defaults"
           Driver      "keyboard"
           MatchIsKeyboard  "on"
           Option      "XkbRules" "xorg"
           Option      "XkbModel" "jp106"
           Option      "XkbLayout" "jp"
           Option      "XkbOptions" "ctrl:nocaps"
         EndSection

      グラフィックボードがNVIDIA製の場合は、NVIDIAのドライバーをインストールすることを強くおすすめします(でないと、悲しいくらい描画が遅いです)。手順は、「NVIDIAドライバーのインストール」を参照してください。

    4. 日本語フォントのインストール
    5. 以下のフォントをインストールします。
         - japanese/font-std
         - japanese/font-vlgothic
         - japanese/font-takao
      コマンドプロンプトで以下のコマンドを打ってください。

        # pkg install ja-font-std ja-font-vlgothic ja-font-takao[ENTER]

    ここまで、やったところで再起動し、rootでログインした後、コマンドプロンプトで

      # startx[ENTER]

    と打って、Xが立ち上がることを確認します。Windowsっぽい枠が表示されたらOKです。

    Xが立ち上がらない(=Windowsっぽい枠が表示されない場合)
    要はトラブっているということですから、直す方法は一概にはいえません。/var/log/Xorg.0.logファイルを見て、(EE)という箇所のメッセージを読んで、それをネットで検索したりしながら、原因特定と解決法を詰めていくという感じです。正直根気が要ります。
  2. デバイスに関連する設定作業
    1. サウンドデバイスの設定
      1. コマンドプロンプトで、以下のように打って、サウンドハードウェアの状況を調べます。
          # cat /dev/sndstat[ENTER]
        サウンドデバイスがpcm0とかpcm1とかいう番号が振られて表示されますが、自分が使いたいサウンドデバイスが[default]になっていることを確認してください。なっていない場合は、それがpcmの何番になっているか、メモってください。
      2. 自分が使いたいサウンドデバイスが[default]になっている場合は追加の作業はないですが、なっていない場合は、/etc/sysctl.confに以下の記載をします。
          hw.snd.default_unit=1
        使用したいサウンドデバイスが[pcm1]だった場合です。1のところは、デフォルトにしたいサウンドデバイスがpcm2だったときは2にするとか、適宜替えてください。ノートPCでスピーカーがつながっているデバイスがわからない場合は、番号を変えながら試すことになると思います。
    2. CD/DVDドライブの書込設定
    3. CD/DVDドライブが、再生専用の場合はデフォルトのままで良いですが、書込可能な場合は以下の設定をします。

      1. /etc/devfs.confに以下の内容を書き加えます。
          link  cd0  cdrom
          link  cd0  dvd
      2. /etc/devfs.rulesに以下の内容を書き加えます。
          [system=10]
          add  path cd*   mode 0666
          add  path acd*   mode 0666
          add  path xpt*   mode 0666
          add  path pass*  mode 0666
      3. /etc/rc.confに以下の内容を書き加えます。
          devfs_system_ruleset="system"
    4. USB記憶装置用の設定
    5. FreeBSDではmount_ntfsがサポートされていないとか、デスクトップ環境のデバイス認識では日本語のファイル名/ディレクトリ名がうまく扱えないとか、の不都合があるので、その手当てをします。

      1. dsmbとfusefsをインストールします。コマンドプロンプトで以下のコマンドを入力してください。
          # pkg install dsbmc-cli dsbmc dsbmd fusefs-ntfs fusefs-exfat fusefs-simple-mtpfs fusefs-ext2 fusefs-gphotofs fusefs-hfsfuse fusefs-lkl[ENTER]
        なお、fusefs-lklは、i386版がありません。
      2. /boot/loader.confに以下の内容を書き加えます。
          fuse_load="YES"
        9.xまでは、fusefsをインストールして、rc.confにfusefs_enable="YES"と書いていましたが、10.xからfuseがベースシステムに取り込まれたので、こうなりました。
      3. /etc/sysctl.confに以下の内容を書き加えます。
          vfs.usermount=1
      4. /etc/rc.confに以下の内容を書き加えます。
          dsbmd_enable="YES"

      FreeBSDそのものにあるautofsとか、sysutilsにあるautomountも同じ機能を持っているようですが、autofsは一般ユーザーでのログインでうまく機能しない、automountはfatの日本語ファイル名をうまく読み込めなかったので、dsbmを採用しました。USB-HDDをアンマウントするときに、デスクトップ環境の機能とバッティングして美しくないのですが、これが一番確実に機能します。

    6. プリンターの設定
      1. cupsとgutenprintをインストールします。
          # pkg install cups gutenprint[ENTER]
        cupsは、ここまでの作業ですでにインストールされているとは思いますが。
      2. /etc/rc.confに以下の内容を書き加えます。
          cupsd_enable="YES"
      3. /etc/devfs.rulesに以下の内容を書き加えます。「CD/DVDドライブの書込設定」で書いた内容の後に加えます。
          add  path 'unlpt*'    mode 0660  group cups
          add  path 'ulpt*'    mode 0660  group cups
          add  path 'lpt*'     mode 0660  group cups
          add  path 'usb/1.5.0'  mode 0660  group cups
        'usb/1.5.0'の「1.5.0」の部分には、コマンドプロンプトで「ls -l /dev/usb」とやって出てきたリストでプリンターに関係のあるもの(cupsとか)の数字を入れてください。
      4. ユーザーをcupsグループに追加します。コマンドプロンプトで以下のコマンドを打ってください。
          # pw groupmod cups -m (追加するユーザー名)[ENTER]

      ウェブブラウザーを立ち上げて、アドレス欄に「localhost:631」と打てば、それでプリンターの管理ができます。各デスクトップ環境にプリンター管理機能があれば、それを使うのがスマートでしょう。

    7. 無線LANの設定
    8. 無線LANの機能がある場合は以下の設定をします。

      1. 以下のコマンドを打って、無線LANデバイスのデバイス名を調べます。
          # ifconfig[ENTER]
        ath0とかipw0とかいうのが、それになります。以下の説明ではデバイス名がath0として説明します。別のデバイスの場合は、ath0をそれぞれ自分のデバイス名に置き換えて作業してください。FreeBSD9.x以降では、主要な無線LANデバイス用のドライバは読み込まれているようで、ドライバを設定する作業は不要なはずですが、見あたらない場合は、/boot/loader.confに
          if_ath_load="YES"
        といったような行を追加してください。
      2. /etc/rc.confに以下の内容を書き加えます。
          wlans_ath0="wlan0"
          ifconfig_wlan0="WPA DHCP"
      3. /boot/loader.confに以下の内容を書き加えます。
          wlan_scan_ap_load="YES"
          wlan_scan_sta_load="YES"
        ハードウェア依存の情報
        (Dell X300(古い!)にインストールする場合)
        同じく、/boot/loader.confに
          legal.intel_ipw.license_ack=1
        の設定が必要です。
      4. /etc/wpa_supplicant.confというファイルを作成して、以下の内容を書き込みます。ssidは、無線ホスト名、pskは、暗号化キーです。
         network={
           ssid="xxxxxxxxxx"
           psk="ooooooooooo"
         }

      ここまで設定すると、wpa_supplicant.confに書いた無線ホストがあれば、起動時にそこに自動的に接続するようになります。
      ただ、FreeBSDにドライバーが用意されている無線LANチップはかなり少ない様に思います。最近は、実機で試せていません。

補足情報

[その他の情報]

なお、このページを書くに当たって、以下の記事を参考にしました。

今回のセットアップでのバージョン情報
xorg 7.7_3
xorg-server 1.20.9_1,1
dsbmc 1.0
dsbmc-cli 0.4
dsbmd 1.11.1
fusefs-ntfs 2017.3.23
cups 2.3.3_1
gutenprint 5.3.3

(2018年 3月24日 記
2021年 2月13日 更新)