Debian 服务器通过 SSH 只接受 LC_* 变量,而不接受 LANG

Debian 服务器通过 SSH 只接受 LC_* 变量,而不接受 LANG

我当地/etc/ssh/ssh_config

SendEnv LANG LC_*

服务器端/etc/ssh/ssh_config

AcceptEnv LANG LC_*

然而,当我通过 SSH 连接到我的 Debian 服务器时,我注意到$LC_*family 被传递到服务器端,但$LANG没有通过;服务器仍然en_US.UTF-8在那里使用。我怎样才能让它尊重我的客户端$LANG

以防万一,我正在使用 Debian 11 (Bullseye)。

答案1

这可能是 Debian 特定的。需要运行dpkg-reconfigure locales并选择没有任何作为默认区域设置(我之前en_US.UTF-8在那里设置)。从Debian 维基

如果您选择的默认区域设置不是没有任何上面,它将位于/etc/default/locale并覆盖LANGssh 提供的变量。

(我认为将其称为“默认”区域设置具有误导性,因为它会覆盖您的显式选择,而不是像后备选择一样。更像是“强制区域设置”。)

相关内容