26.03.2020 20:16, Taras Heichenko пишет:
On 26 Mar 2020, at 18:54, Eugene Grosbein <[email protected]> wrote:

26.03.2020 23:43, Taras Heichenko пишет:
Каталоги, названные с использованием кириллических символов показываются 
правильно.
Но я не могу их набрать в командой строке. При попытке набрать что-нибудь 
кириллицей, выскакивают

:\262\320\321\321\320\320\320

Вообще нажатия клавиш передаются на удаленную машину правильно. В vim текст 
кириллицей набирается
без проблем. Т.е. впечатление, что bash'у нужно что-то сказать, чтобы он в 
командной строке воспринимал
этот ввод правильно. Но что?
В данном конкретном шелле локаль не выставлена. Так может быть, если вместо 
правильной команды su -m
использовать неправильную команду su (без ключа -m). Нужно всегда использовать 
su -m или аналогичные
инструменты, которые поднимают привилегии, но оставляют старое окружение - и 
шеллом остаётся bash,
и профиль пользователя (с локалью). su без -m меняет шелл и окружение на 
рутовые:
шеллом будет tcsh вместо bash и т.п.
Может я чего не так понял, но root к моему письму не имеет никакого отношения. 
Я не могу ввести символы,
будучи обычным пользователем. Вот как это выглядит.
Может быть, рут и не имеет отношения - это был просто пример,
каким способом вроде бы установленная локаль может "слететь".

Скриншот показывает, что с одной стороны эмулятор терминала передаёт коды 
клавиш верно
и cat их "показывает", потому что ему плевать на локаль. А вот шеллу не 
плевать, и скриншот
показывает, что локаль в шелле не соответствует кодировке символов.
Правильно ли я понимаю эту фразу, что локальный клиент терминала передает 
символы не в той кодировке,
которую ожидает bash? Но если терминал передает в правильной кодировке (cat 
ведь показывает их правильно),
то это значит, что у bash'а выставлена кодировка неправильно.

tasic@academ:~>set | grep LC
LC_ALL=uk_UA.UTF-8
LC_CTYPE=uk_UA.UTF-8
MAILCHECK=60
tasic@academ:~>set | grep LANG
LANG=uk_UA.UTF-8

Чего ему не хватает?

MM_CHARSET=UTF-8

Логинкласс попробуй выставить russian у пользователя и перелогиниться.

Загляни в /etc/login.conf (поиск по слову UTF).
Возможно поможет создать свой логинкласс ukrainian (надеюсь не ошибся с написанием) аналогичный russian:
#
# Russian Users Accounts. Setup proper environment variables.
#
russian|Russian Users Accounts:\
        :charset=UTF-8:\
        :lang=ru_RU.UTF-8:\
        :tc=default:

_______________________________________________
freebsd mailing list
[email protected]
http://mailman.uafug.org.ua/mailman/listinfo/freebsd

Ответить