かってきままな日々
2020-10-29 (Th) [長年日記]
_ LANG の設定を試みる
-
/etc/locale.conf
system-wide の設定。確かにうまくいくし、gdm も日本語になる。 が、それは欲しいものではない。gdm は英語でいい。
-
/usr/share/wayland-sessions/wayfire.desktop
Exec=env LANG=ja_JP.utf-8 wayfire
これでもうまくいく。が Wayfire 使った時しか効果なし。
ちなみに、この設定なしで、
cd /usr/bin/ mv wayfire wayfire.org cat >wayfire <<EOF #!/bin/bash env > /tmp/wayfire.log exec wayfire.org "$@" EOF chmod a+x wayfire
してログインしたら、/tmp/wayfire.log に環境変数が出力される。 この時には LANG=C が設定されているようだ。
-
~/.config/locale.conf
export LANG=ja_JP.utf-8
効果なかった。これは端末上の shell で、LANG が設定されてない時に 読み込まれるので、既に LANG=C が設定されたら読まれない。
-
~/.pam_environment
LANG DEFAULT=ja_JP.UTF-8 OVERRIDE=ja_JP.utf-8
これも効果がない。生 console に login する時には効いてる。
-
pam_systemd.so
homectl update --language=ja_JP.UTF-8
としておくと、~/.identity に保存され、それを pam_systemd.so が 読み込むはず。保存はされてるけど、なんでか効果がない。
ただ、
homectl update --timezone=Japan
した場合は、~/.identity に保存されるし、環境変数 TZ も
TZ=:Japan
に なるので、pam_systemd.so が全く効果がないわけではない。よくわかんないのが、pam_systemd のログが途中で途絶えること。 debug オプションを付けてるので、エラーが出たならそれなりのログが 出るはずなんだけど。
-
pam_env.so
/etc/pam.d/gdm-launch-environment によると、pam_systemd.so より pam_env.so の方が後にあるんだよね。とすると、pam_env.so が上書き してるのか…?
にしても pam_env.so では ~/.pam_environment も読まれるはずで… 次は pam_env.so のソースコードを読むか。