LINUX.ORG.RU

Не подхватывается дефолтная локаль по ssh

 , , ,


0

1

Сервер с ubuntu server 20.04, шелл fish, коннект по ssh.

~> locale -a
C
C.UTF-8
POSIX
en_US.utf8
ru_RU.utf8
ru_UA.utf8
~> cat /etc/default/locale
LANG=ru_RU.UTF-8
~> locale
LANG=
LANGUAGE=
LC_CTYPE=en_US.UTF-8
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=
~> su
# locale
LANG=ru_RU.UTF-8
LANGUAGE=
LC_CTYPE=en_US.UTF-8
LC_NUMERIC="ru_RU.UTF-8"
LC_TIME="ru_RU.UTF-8"
LC_COLLATE="ru_RU.UTF-8"
LC_MONETARY="ru_RU.UTF-8"
LC_MESSAGES="ru_RU.UTF-8"
LC_PAPER="ru_RU.UTF-8"
LC_NAME="ru_RU.UTF-8"
LC_ADDRESS="ru_RU.UTF-8"
LC_TELEPHONE="ru_RU.UTF-8"
LC_MEASUREMENT="ru_RU.UTF-8"
LC_IDENTIFICATION="ru_RU.UTF-8"
LC_ALL=

У рута шелл тоже fish. Конфиг и рут и юзер используют системный (по крайней мере .config/fish/config.fish у обоих отсутствует), но у рута локаль задаётся, а у юзера нет. Ещё мне не понятно, от куда взялась ru_UA.utf8 - в /etc/locale.gen она закоментирована, пробовал делать dpkg-reconfigure locales - всё равно эта локаль вылазит. При том при выборе дефолтной локали две ru_RU.utf8. То есть они где-то ещё заданы, но не могу найти где.

UPD: ради интереса зашёл через консоль на сайте хостера - локаль выставлена, всё супер! Значит проблема именно при подключении по ssh и я не зря в верху это уточнил, как в воду глядел.



Последнее исправление: Arksunix (всего исправлений: 2)

Ответ на: комментарий от anonymous

Даже если закрыть глаза на излишнюю агрессию, выученый английский тут не может. Потому что всё равно нужно было бы задать локаль, просто не ru_RU.utf8, а en_US.utf8.

Arksunix
() автор топика

Решил добавлением SendEnv LANG LC_* в /etc/ssh/ssh_config (без d) на клиенте. Так же проверил, что на сервере прописан AcceptEnv LANG LC_* в /etc/ssh/sshd_config. Подсмотрел тут.

Arksunix
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.