systemd:再起動せずにロケールを変更する

systemd:再起動せずにロケールを変更する

Debian Stretchシステムでは、systemdはロケール(dpkg-reconfigure localesおよび使用法)を再設定しlocalectlても起動設定として実行され続けます。したがって、開始されたサービスは以前のsystemctl(開始時)ロケールを引き続き使用します。

私もsystemctl daemon-reloadそれを試しましたdaemon-reexec。まったくありません。

ユニットファイルを再起動または変更する以外に他のオプションはありますか?

答え1

# systemctl show-environment
LANG=pl_PL.UTF-8
# systemctl set-environment LANG=en_US.UTF-8
# systemctl show-environment
LANG=en_US.UTF-8

これはsystemdによって実行されるサービスでも機能するようです(明らかに再起動する必要があります)。

関連情報