公開日: 2021年7月4日 / 最終更新日: 2023年4月27日
X Window System
FreeBSD で GUI アプリケーションを利用するために X Window System (以下 X) を導入します。この記事では、NVIDIA GeForce と Intel UHD Graphics それぞれの GPU を搭載したディスプレイアダプタの設定方法を取り上げます。また、ついでにディスプレイマネージャを導入してグラフィカルなログイン画面にしようと思います。
NVIDIA GeForce の場合
供試機器
- ディスプレイアダプタ: Palit NE6208S019P2-180F (GeForce RTX 2080 SUPER)
- ディスプレイ: EIZO FlexScan EV2416W
ソフトウェアのインストールと設定
- linux カーネルモジュールをロードする。
# kldload linux64 % kldstat | grep linux 14 1 0xffffffff831d0000 35cb0 linux64.ko 15 1 0xffffffff83206000 4b80 linux_common.ko
- 必要なソフトウェアをインストールする。
# pkg install -y linux_base-c7 xorg nvidia-driver nvidia-settings nvidia-xconfig
- Linux バイナリ互換機能を有効にする。また、nvidia ドライバはカーネルモジュールとして提供されるので、起動時にロードされるようにしておく。後のステップで X を起動してみますが、もしブラックアウトして無応答になる場合は kld_list の値を次のように書き換えてみてください。/etc/rc.conf
linux_enable="YES" kld_list="nvidia"
kld_list="nvidia-modeset"
- OS を再起動し、X をテストする。
Intel UHD Graphics の場合
供試機器
- ディスプレイアダプタ: Intel UHD Graphics 620
ソフトウェアのインストールと設定
下記のサイトを参考にしました。英語ですがページの最後に必要最低限の手順がわかりやすくまとめられています。- Getting Started With drm-kmodhttps://freebsddesktop.github.io/2018/12/08/drm-kmod-primer.html
手順は次のとおり。
- Xorg と drm-kmod をインストールする。
# pkg install xorg drm-kmod
- 起動時にドライバがロードされるようにしておく。
# sysrc kld_list+="/boot/modules/i915kms.ko" kld_list: -> if_iwm /boot/modules/i915kms.ko
- X を利用するユーザーを video グループに追加する。
# pw groupmod video -M mijinco
- OS を再起動し、X をテストする。
X をテスト起動する
フォントをインストールする
ここからはディスプレイアダプタに依存しない共通の話題です。まず X で使用することになりそうなフォントをまとめてインストールします。 アプリケーションでフォントを利用する方法については下記を参照してください。rxvt-unicode と Emacs で Ricty を使用する例があります。
# pkg install -y gnu-unifont inconsolata-ttf ja-font-ipa ja-font-migu ja-font-mona-ipa ja-font-mplus-ipa ja-font-std
# cd /usr/ports/japanese/font-ricty/
# make install
※ なお、Ricty をmake install
する際にBATCH=yes
を付けるとインストールに失敗する (というかフォントキャッシュを更新しても反映されない?) ようです (FreeBSD 13.2-RELEASE にて確認)。いろいろ試した結果、次のようにするのが良さそうです。途中で表示される「Install Ricty-Discord」の確認画面には手動でチェックを入れてください。
# make BATCH=yes; make install
そうしたらフォントキャッシュを更新し、インストールしたフォントが使用可能になっているか確認します。
% fc-cache -v
% fc-list : family | grep Ricty
Ricty
ディスプレイマネージャ SLiM
DOS のような真っ黒な画面からログインして毎回 startx と打つのもなんですから、ディスプレイマネージャを導入してグラフィカルなログイン画面にします。代表的なディスプレイマネージャには XDM、GDM、SDDM などがありますが、私としては SLiM を使ってゆきたいと思います。ちなみに、この記事を書くにあたり、改めてネットで SLiM について調べところ、まさかのプロジェクト停止状態になっていました (ArchWiki より)。まあ packages/ports に収録されているうちは使い続けようと思います(涙)。
- SLiM をインストールする。
# pkg install slim
- (もしなければ) ホームディレクトリに .xinitrc を用意する。
% cp /usr/local/etc/X11/xinit/xinitrc ~/.xinitrc % chmod 755 .xinitrc
- OS 起動時に SLiM が起動するようにする。「dbus_enable="YES"」の意味は正直なところよくわからないのですが、これがないとログインしたときに画面がブラックアウトしてしまいます (もしそうなってしまったら Ctrl + Alt + F1 で抜ける)。とにかくこれで OS を再起動すると図 3 のようなログイン画面が表示されます。これで最低限の設定は完了ですが、ついでに壁紙を変えたいという方は手順 4. へどうぞ。/etc/rc.conf
dbus_enable="YES" slim_enable="YES"
- まず、デフォルトのテーマをひな型としてコピーする。テーマの名前は theme1 とか適当につける。
# cd /usr/local/share/slim/themes/ # cp -r default/ theme1/
- 壁紙にしたい画像ファイルを /usr/local/share/slim/themes/theme1/background.jpg に上書きコピーする。
- /usr/local/etc/slim.conf の "current_theme" の行を手順 4. で作成したテーマ名にする。/usr/local/etc/slim.conf
current_theme theme1
- OS を再起動する。
ウィンドウマネージャを変更しよう
図 1 のスクリーンショットがちょっと殺風景だなと感じたら、ウィンドウマネージャを変えてみましょう。「ウィンドウマネージャ」や「統合デスクトップ環境」などでググると多数ヒットします。有名どころは GNOME、KDE、xfce あたりでしょうか。私は awesome というウィンドウマネージャを使用しています。これについては別記事で。