ここでは、xorgのインストールとFreeBSDとxorgに関連するデバイス設定作業を取り上げます。この作業の前に
- 「デスクトップ環境の構築 - 1(b). FreeBSDのインストール(FreeBSD 13.3)」
- 「デスクトップ環境の構築 - 2(b). FreeBSDとPackage/Portsに関連する初期作業(FreeBSD 13.3)」
作業は、引き続きrootでログインして行います。
- xorgのインストールと設定
- xorgのインストール
- xorgの設定ファイルの作成
- /usr/local/etc/X11/xorg.conf.dにmodule.confというファイルを作成して、以下の記載をします。
Section "Module"
Load "freetype"
EndSection - /usr/local/etc/X11/xorg.conf.dにfiles.confというファイルを作成して、以下の記載をします。
Section "Files"
FontPath "/usr/local/share/fonts/dejavu/"
EndSection - /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 - 日本語フォントのインストール
- デバイスに関連する設定作業
- サウンドデバイスの設定
- コマンドプロンプトで、以下のように打って、サウンドハードウェアの状況を調べます。
サウンドデバイスがpcm0とかpcm1とかいう番号が振られて表示されますが、自分が使いたいサウンドデバイスが[default]になっていることを確認してください。なっていない場合は、それがpcmの何番になっているか、メモってください。
# cat /dev/sndstat[ENTER]
- 自分が使いたいサウンドデバイスが[default]になっている場合は追加の作業はないですが、なっていない場合は、/etc/sysctl.confに以下の記載をします。
使用したいサウンドデバイスが[pcm1]だった場合です。1のところは、デフォルトにしたいサウンドデバイスがpcm2だったときは2にするとか、適宜替えてください。ノートPCでスピーカーがつながっているデバイスがわからない場合は、番号を変えながら試すことになると思います。
hw.snd.default_unit=1
- CD/DVDドライブの書込設定
- /etc/devfs.confに以下の内容を書き加えます。
link cd0 cdrom
link cd0 dvd - /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 - /etc/rc.confに以下の内容を書き加えます。
devfs_system_ruleset="system"
- USB記憶装置用の設定
- dsmbdとfusefsをインストールします。コマンドプロンプトで以下のコマンドを入力してください。
# pkg install dsbmd dsbmc dsbmc-cli fusefs-libs fusefs-ntfs fusefs-exfat fusefs-ext2[ENTER]
- /boot/loader.confに以下の内容を書き加えます。
12.xまであったfuse.koがなくなって、fusefs.koを読み込むようになりました。
fusefs_load="YES"
- /etc/sysctl.confに以下の内容を書き加えます。
vfs.usermount=1
- /etc/rc.confに以下の内容を書き加えます。
dsbmd_enable="YES"
- プリンターの設定
- cupsとgutenprintをインストールします。
cupsは、ここまでの作業ですでにインストールされているとは思いますが。
# pkg install cups gutenprint[ENTER]
- /etc/rc.confに以下の内容を書き加えます。
cupsd_enable="YES"
- /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 - ユーザーをcupsグループに追加します。コマンドプロンプトで以下のコマンドを打ってください。
# pw groupmod cups -m (追加するユーザー名)[ENTER]
- 無線LANの設定
- 以下のコマンドを打って、無線LANデバイスのデバイス名を調べます。
ath0とかipw0とかいうのが、それになります。以下の説明ではデバイス名がath0として説明します。別のデバイスの場合は、ath0をそれぞれ自分のデバイス名に置き換えて作業してください。FreeBSD9.x以降では、主要な無線LANデバイス用のドライバは読み込まれているようで、ドライバを設定する作業は不要なはずですが、見あたらない場合は、/boot/loader.confに
# ifconfig[ENTER]
といったような行を追加してください。if_ath_load="YES"
- /etc/rc.confに以下の内容を書き加えます。
wlans_ath0="wlan0"
ifconfig_wlan0="WPA DHCP" - /boot/loader.confに以下の内容を書き加えます。
wlan_scan_ap_load="YES"
wlan_scan_sta_load="YES"ハードウェア依存の情報
(Dell X300(古い!)にインストールする場合)
同じく、/boot/loader.confにの設定が必要です。legal.intel_ipw.license_ack=1
- /etc/wpa_supplicant.confというファイルを作成して、以下の内容を書き込みます。ssidは、無線ホスト名、pskは、暗号化キーです。
network={
ssid="xxxxxxxxxx"
psk="ooooooooooo"
}
GUI環境の土台となるxorgをインストールします。
コマンドプロンプトで以下のコマンドを打ってください。
# pkg install xorg[ENTER]
グラフィックボードがNVIDIA製の場合は、NVIDIAのドライバーをインストールすることを強くおすすめします(でないと、悲しいくらい描画が遅いです)。手順は、「NVIDIAドライバーのインストール」を参照してください。
以下のフォントをインストールします。
- 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っぽい枠が表示されない場合)
CD/DVDドライブが、再生専用の場合はデフォルトのままで良いですが、書込可能な場合は以下の設定をします。
FreeBSDではmount_ntfsがサポートされていないとか、デスクトップ環境のデバイス認識では日本語のファイル名/ディレクトリ名がうまく扱えないとか、の不都合があるので、その手当てをします。
FreeBSDそのものにあるautofsとか、sysutilsにあるautomountも同じ機能を持っているようですが、autofsは一般ユーザーでのログインでうまく機能しない、automountはfatの日本語ファイル名をうまく読み込めなかったので、dsbmを採用しました。USB-HDDをアンマウントするときに、デスクトップ環境の機能とバッティングして美しくないのですが、これが一番確実に機能します。
ウェブブラウザーを立ち上げて、アドレス欄に「localhost:631」と打てば、それでプリンターの管理ができます。各デスクトップ環境にプリンター管理機能があれば、それを使うのがスマートでしょう。
無線LANの機能がある場合は以下の設定をします。
ここまで設定すると、wpa_supplicant.confに書いた無線ホストがあれば、起動時にそこに自動的に接続するようになります。
ただ、FreeBSDにドライバーが用意されている無線LANチップはかなり少ない様に思います。最近は、実機で試せていません。
補足情報
11月2, 3日あたりにpkg upgradeをしたんですが、mate, xfce4, lxqt, lxdeでユーザーによるシャットダウン/再起動ができなくなりました(gnome3, kde5, luminaはできています)。sudoersの編集とかPolicyKit.confの編集とか、ネットで出てきた情報はあらかた試したんですが、ダメでした。どうしたんだろ。(2019年11月16日)
polkit.addRuleで設定するようです。各デスクトップ環境のページに追記しました。(2020年 5月 9日)
特段設定ファイルを用意しなくてもシャットダウン/再起動できるようになりました。(2022年 1月15日)- Fresh Portsを見るとfusefs-exfatのpackageは用意されているとなっているんですが、実際にはありません。現時点では、portsでのインストールになります。(2019年11月23日)
packageが用意されるようになりました。(2022年 1月15日) - xorg-serverがデバイス構成に使うバックエンドをdevdからudevに変更した関係で、xorgの設定ファイルの書き方が変わりました。(2020年 5月 9日)
- kern.evdev.rcpt_maskの値がデフォルトで12になったので、設定作業が不要になりました。(2022年 1月15日)
[その他の情報]
なお、このページを書くに当たって、以下の記事を参考にしました。
- 「FreeBSDハンドブック」の「Xorgの設定」(主にXorgの設定について)
- 「FreeBSDハンドブック」の「Xorgでのフォントの使用」(主にXorgの設定について)
- 「FreeBSD Handbook(英語版)」の「30.3. Wireless Networking」(無線LANの設定について)
- 「FreeBSD Desktop – Part 17 – Configuration – Automount Removable Media」(USBメディアの自動マウントについて)
- 「FreeBSD Forums - New Xorg switch from devd to udev 」(udev用のxorg設定ファイルの書き方について)
今回のセットアップでのバージョン情報 | |
---|---|
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日)