ここでは、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日)


