Когда я подключаюсь по SSH к серверу Arch Linux и включаю командную строку, я получаю локаль POSIX:
laptop.lan$ ssh server.lan locale
LANG=
LC_CTYPE="POSIX"
LC_NUMERIC="POSIX"
LC_TIME="POSIX"
LC_COLLATE="POSIX"
LC_MONETARY="POSIX"
LC_MESSAGES="POSIX"
LC_PAPER="POSIX"
LC_NAME="POSIX"
LC_ADDRESS="POSIX"
LC_TELEPHONE="POSIX"
LC_MEASUREMENT="POSIX"
LC_IDENTIFICATION="POSIX"
LC_ALL=
laptop.lan$
Насколько я могу судить, локаль на сервере настроена правильно. /etc/locale.conf
выглядит так:
LANG=en_US.UTF-8
И, когда я использую SSH в обычном режиме, моя локаль в порядке:
laptop.lan$ ssh server.lan
server.lan$ locale
LANG=en_US.UTF-8
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.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=
server.lan$
Что здесь происходит, и как я могу использовать одноразовые команды мой предпочтительный языковой стандарт?
Ech hu just gemierkt, datt de Problem geschitt wann ech Fësch
(d'Fëschschuel) als Standard gesat hunn ( chsh
). Wéi ech meng Schuel zréck op Bash geännert hunn, funktionnéiert d'Lokal wéi erwaart.
Also:
chsh /bin/bash
Думаю, здесь применяются некоторые значения по умолчанию, я не уверен в версии, но мои первые мысли приведены ниже
SendEnv LANG LC_*
Или
вы можете изменить конфигурацию сервера , отредактировав / etc / ssh / sshd_config на удаленном компьютере:
AcceptEnv LANG LC_*
Или
ssh -F ~/.ssh/config your_user@your_host
или
LC_TIME="en_US.UTF-8" ssh usernae@yourserver