リモートでインストールされたアプリケーションにはエンコードの問題があり、ローカルマシンでは正常に動作しています。
ロケールをリモートマシンに「コピー」する最良の方法は何ですか?
私のパーソナルマシンのロケールは次のように構成されています。
$ locale
LANG=de_DE.UTF-8
LANGUAGE=de_DE:en
LC_CTYPE="de_DE.UTF-8"
LC_NUMERIC=en_US.UTF-8
LC_TIME=en_US.UTF-8
LC_COLLATE="de_DE.UTF-8"
LC_MONETARY=en_US.UTF-8
LC_MESSAGES="de_DE.UTF-8"
LC_PAPER=en_US.UTF-8
LC_NAME=en_US.UTF-8
LC_ADDRESS=en_US.UTF-8
LC_TELEPHONE=en_US.UTF-8
LC_MEASUREMENT=en_US.UTF-8
LC_IDENTIFICATION=en_US.UTF-8
LC_ALL=
より簡単な方法
すべてのロケールをファイルにエクスポートします
locale > import
ファイルを開き、各行の先頭にエクスポートを追加します
コマンドchmod ugo+rx import
で実行可能にします
目的のプロファイルにコピーして./import
を実行します
update-locale
を使用して手動でロケールを設定できます。
Sudo update-locale LANG=de_DE.UTF-8 LC_MESSAGES=POSIX
詳細については、manページを参照してください。
または、ファイル/etc/default/locale
を変更して、システムのロケールエントリを手動で変更できます。
たとえば、ドイツ語のシステムでは、システムメッセージが翻訳されないようにするには、次を使用できます。
LANG=de_DE.UTF-8
LC_MESSAGES=POSIX
注:変更は、新規ログイン後にのみ有効になります。
リモートマシンでロケールを構成する際の推奨事項があります
1)Debianマシン(リモートマシン)で、コマンドを(rootとして)実行します。
dpkg-reconfigure locales
最初の画面で、目的のロケールを選択します。その後、デフォルトのロケールを選択するよう求められます。 「なし」を選択します(参照: https://wiki.debian.org/Locale#Standard )。
2)クライアントから環境変数を受け入れるようにsshサービス(/etc/ssh/sshd_config
)を構成します:行のコメントを外します:
AcceptEnv LANG LC_*
Sshサーバーを再起動し、ログオフして再度ログインし、locale
コマンドを実行します。ローカルマシンのロケールと一致する必要があります