Привык пользоваться в mc английским интерфейсом (удобнее пользоваться горячими клавишами, а не меню).
Для этого всегда вызываю mc так:LC_ALL=en_US.UTF-8 mc
До последнего времени все было OK. Но сегодня меня ждал облом. Вызываю из-под обычного юзера как всегда, какое-то время работаю, нажимаю горячую клавишу, и -- абзац. Смотрю на экран -- там русский интерфейс. Проверяю из-под root'а -- там все OK.
Видимо какое-то обновление сломадо привычное поведение.
Как победить??
Система -- RFRemix-23.
С другими программами всё нормально?
> С другими программами всё нормально?проверил с
LC_ALL=en_US.UTF-8 dnf --help
та же петрушка: под юзером -- русский, под root'ом -- английский.
>> С другими программами всё нормально?
> проверил с
> LC_ALL=en_US.UTF-8 dnf --help
> та же петрушка: под юзером -- русский, под root'ом -- английский.А en_US.UTF-8 собрана? Может нет такой локали, а для рута по умолчанию прописана англ.?
собери localedef -c -i en_us -f UTF-8 en_US.UTF-8
а если попробовать
LC_ALL=C mc ?
> LC_ALL=C mc ?Спасибо, работает!!!
> а если попробовать
> LC_ALL=C mc ?Так не отображаются русские имена файлов,
но вот так:
LC_MESSAGES=C mc
Все работает как надо.Еще раз спасибо за помощь.
> собери localedef -c -i en_us -f UTF-8 en_US.UTF-8Не помогло
localedef -c -i en_US -f UTF-8 en_US.UTF-8Проходит без сообщений об ошибке.
После этого
locales -a | grep -i en_us
выдает:en_US
en_US.iso88591
en_US.iso885915
en_US.utf8Как видите, en_US.UTF-8 в списке отсутствует.
en_US.utf8 для пользователя также не срабатывает.Хоть и нашел обходной путь с LC_MESSAGES=C, но хочется разобраться, как все-таки должно работать и почему перестало.
Hawk, если Вас не очень затруднит, дайте ссылку, где толково описана работа с локалями (на русском или на английском -- вс равно).
Мне не удалось найти толкового описания.
google search?!кто Вас научил использовать LC_ALL для задания locale?
LC_ALL переопределяет все переменные и обычно используется для отладочных действий.
> google search?!У Google'а спрашивал. Нашел много интересного (например http://stephane.lesimple.fr/blog/2010-04-29/fixing-a-locale-...).
Но не нашел вразумительного описания, как строится работа с локалями.
В частности, мне непонятно, почему, хотя в системе установлена локаль ru_RU.UTF-8, команда
locale -a | grep ru_RU
дает вывод:
ru_RU
ru_RU.iso88595
ru_RU.koi8r
ru_RU.utf8в котором нет
ru_RU.UTF-8Я не просил растолковать мне все. Я хотел, чтобы меня ткнули носом в источник, где это толково описано.
> кто Вас научил использовать LC_ALL для задания locale?
> LC_ALL переопределяет все переменные и обычно используется для отладочных действий.Это я придумал сам, после того, как меня достало поведение горячих клавиш в русской локали. И использовал я этот прием для единственной программы -- mc. Этот прием давал мне именно тот результат, который мне был нужен. Если бы я нашел более ГРАМОТНОЕ решение, я бы непременно им воспользовался.
>[оверквотинг удален]
> ru_RU.UTF-8
> Я не просил растолковать мне все. Я хотел, чтобы меня ткнули носом
> в источник, где это толково описано.
>> кто Вас научил использовать LC_ALL для задания locale?
>> LC_ALL переопределяет все переменные и обычно используется для отладочных действий.
> Это я придумал сам, после того, как меня достало поведение горячих клавиш
> в русской локали. И использовал я этот прием для единственной программы
> -- mc. Этот прием давал мне именно тот результат, который мне
> был нужен. Если бы я нашел более ГРАМОТНОЕ решение, я бы
> непременно им воспользовался.
> http://www.sensi.org/~alec/locale/index.htmlСпасибо. Хорошая отправная точка. Буду копать дальше.