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

↑ トップページへ

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

★

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


ここでは、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    "libinput keyboard catchall"
           MatchIsKeyboard  "on"
           MatchDevicePath  "/dev/input/event*"
           Driver      "libinput"
           Option      "XkbRules" "evdev"
           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 0660  group operator
          add  path 'acd*'   mode 0660  group operator
          add  path 'xpt*'   mode 0660  group operator
          add  path 'pass*'  mode 0660  group operator
      3. /etc/rc.confに以下の内容を書き加えます。
          devfs_system_ruleset="system"
    4. USB記憶装置用の設定
    5. FreeBSDではmount_ntfsがサポートされていないとか、デスクトップ環境のデバイス認識では日本語のファイル名/ディレクトリ名がうまく扱えないとか、の不都合があるので、その手当てをします。

      1. dsmbdとfusefsをインストールします。コマンドプロンプトで以下のコマンドを入力してください。
          # pkg install dsbmd dsbmc dsbmc-cli fusefs-libs fusefs-ntfs fusefs-exfat fusefs-ext2[ENTER]
      2. /boot/loader.confに以下の内容を書き加えます。
          fusefs_load="YES"
        12.xまであったfuse.koがなくなって、fusefs.koを読み込むようになりました。
      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/*'    mode 0660  group operator
      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 21.1.11_1,1
dsbmd 1.11.4
dsbmc 1.2_1
dsbmc-cli 0.4
fusefs-libs 2.9.9_2
fusefs-ntfs 2022.10.3
fusefs-exfat 1.4.0
cups 2.4.7_1
gutenprint 5.3.4

(2023年12月 9日 記
2024年 4月 6日)