Debianサーバーは、LANGではなくSSHを介してのみLC_ *変数を受け入れます。

Debianサーバーは、LANGではなくSSHを介してのみLC_ *変数を受け入れます。

地元で持って/etc/ssh/ssh_configいます。

SendEnv LANG LC_*

サーバー/etc/ssh/ssh_config側は

AcceptEnv LANG LC_*

ただし、Debian サーバーに SSH で接続すると、スイートは$LC_*サーバー側に渡されますが、サーバーを介して$LANGはまだen_US.UTF-8使用されていないことがわかります。顧客を尊重するにはどうすればよいですか$LANG

おそらくDebian 11(Bullseye)を使用しています。

答え1

これはDebianにのみ当てはまります。実行しdpkg-reconfigure localesて選択する必要がありますまったくデフォルトのロケールとして使用します(en_US.UTF-8以前に設定した場所)。 ~からDebian Wiki:

選択したデフォルトロケールでない場合まったく上記では、sshが提供する変数を/etc/default/locale無視してオーバーライドします。LANG

(これを「デフォルト」ロケールと呼ぶことは、フォールバックのように動作せず、明示的な選択を無視するので誤解を招くと思います。「強制ロケール」に近いです。)

関連情報