X11 の設定

GUI で生活しよう

FreeBSD を生活環境に戻すためにはやっぱり GUI を入れないとなということで poudriere でがしがしビルドして行く。

コンソールでも vt font を日本語対応のものを入れれば表示はできるけど、 w3m だと javascript 使いまくりなサイトは見れないし、日本語入力もできないし。 (手がないわけではないが)

Wayland を試してみたかった

FreeBSD ports にも Wayland compositor (X の window manager みたいなやつ) が、 cagehikariswayWayfire とあるので Wayland を使ってみようかと思った。 GnomeKDE も Wayland に対応しているけど、ちょっとでかいよね。

ということでいそいそと入れて動かそうとしてみたんだけど、GPU が見つからないというエラーが出て動かない。 Wayland - ArchWiki を見てみたら、 GnomeKDE 以外の compositor は GBM という API にしか対応していなくて、それだと NVIDIA のカードは使えない。 GnomeKDENVIDIA のカードが対応している EGLStreams という API にも対応しているらしい。 Z620 に載っているのは NVIDIA Quadro 4000 だったよというわけで、そのままでは Wayfire とかは動かない。 そういえば AMDグラフィックカードもあったはずと持ち出してきたら、 電源が 8 ピンコネクタ 2 つで、600W 要求するやつだった。 Z620 の電源が 600W だよ。なんで中古のマシンばかり使っているのにこんな 900W くらいの電源が必要なカードを買ったんだ、私。

いっそ KDE でも使おうかと思ったのだが、先の ArchWiki のページには Wayland だと GPU のパフォーマンスが出ないよと書いてある。 それだと生活環境で使うのは厳しいかもなと思って、今回は X11 を使うことにした。 浮いている i386 マシンがあるから、Wayland はそっちで試そう。

X11 の設定

xorg.conf.d と kernel modules

というわけで、対応する nvidia のドライバーをインストールして、 /etc/rc.conf

kld_list="nvidia"

と書いて(ついで再起動しないでいいように kldload nvidia して)、 /usr/local/etc/X11/xorg.conf.d/40-driver-nvidia.conf というファイルを作って

Section "Device"
        Identifier      "Card0"
        Driver          "nvidia"
EndSection

と書いた。 xinit で動かすと問題なく起動するのに、 lightdm を動かすと画面が黒いまま動かない。 そういえばインストール時のメッセージに

Starting with version 358.09, some important functionality of the driver
has been broken out into a separate kernel module, nvidia-modeset.ko.
Users that experience hangs when starting X11 server, or observe

        (II) NVIDIA(0): Validated MetaModes:
        (II) NVIDIA(0):     "NULL"

in /var/log/Xorg.0.log should replace ``nvidia'' with ``nvidia-modeset''
in their /boot/loader.conf or /etc/rc.conf configuration files, depending
on how they prefer to load NVidia driver kernel module.

とあって、まさにこの話であった。そういうわけで、/etc/rc.conf に書く内容は差し替えて

kld_list="nvidia nvidia-modeset"

で無事に lightdm が動いた。 nvidia-modeset だけでよいのかもしれないけれども、動くからいいや。

ついでに、デスクトップ環境は LXDE を入れた。これもまあそこそこいろいろインストールするけど。

.xprofile

ja-ibus-mozc のインストール時のメッセージに

To activate ibus-mozc, please add the following into ~/.xinitrc,
~/.xsession, or ~/.kde4/env (for KDE4):

export GTK_IM_MODULE=ibus
export QT_IM_MODULE=xim
export XMODIFIERS=@im=ibus
ibus-daemon -r --daemonize --xim

というので ~/.xsession に書いたけれども、これが全然反映されない。 結局、 ~/.xprofile に書くのが正解だった。

アプリケーション

LXDE のスタートメニューの編集というか、アプリケーションの追加の仕方が分からない。

日本語入力ができるようになったはいいが、 lxterminal で日本語が表示されない。 Font を変えてみたり、LANG 環境変数を変えてみたりしてみたがだめ。 それらしい設定もなさそうということで、lxterminal は捨てて mlterm を入れた。Control + マウス右クリック で設定画面が出るようになっていて、 面倒くさい設定ファイルを書く必要がなくなっている。素晴らしい。

あとは、 パスワード管理ソフトの KeePass と、MicroSoft OneDrive のクライアント onedrive を組み合わせて、WindowsAndroid とパスワード管理を共通化している。 これについてはあんまり話を見ない気がするので、そのうち書くかも。