启动时的区域设置问题

启动时的区域设置问题

我正在运行 Ubuntu 20.04.6 LTS

我有一个脚本可以执行以下任务:

locale >> /root/testlocal.txt

由 rc.local 运行,提供以下信息

LANG=en_GB.utf8
LANGUAGE=
LC_CTYPE="en_GB.utf8"
LC_NUMERIC="en_GB.utf8"
LC_TIME="en_GB.utf8"
LC_COLLATE="en_GB.utf8"
LC_MONETARY="en_GB.utf8"
LC_MESSAGES=POSIX
LC_PAPER="en_GB.utf8"
LC_NAME="en_GB.utf8"
LC_ADDRESS="en_GB.utf8"
LC_TELEPHONE="en_GB.utf8"
LC_MEASUREMENT="en_GB.utf8"
LC_IDENTIFICATION="en_GB.utf8"
LC_ALL=

请注意 LANGUAGE 为空,且 LC_MESSAGES=POSIX

这导致一个 webapp(也是由机器上运行的 rc.local 启动的)打印 $ 而不是 £

当我从根目录运行区域设置时,它们都设置为 en_GB.utf8。

我的解决方法是在 rc.local 顶部运行一个脚本,该脚本执行以下操作:

update-locale LANGUAGE=en_GB.UTF-8 LC_MESSAGES="en_GB.UTF-8"

这似乎可以解决问题,就像手动停止和启动应用程序一样。有什么需要配置才能使此解决方法不再必要吗?

相关内容