Сервер с 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 и я не зря в верху это уточнил, как в воду глядел.