トップ 最新

かってきままな日々

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 のソースコードを読むか。