Отображение русских букв в редакторе nano (Debian 10).
Зачем русские буквы помимо очевидного? Иногда приходится вставлять готовые скрипты, где много комментариев на русском. Переписывать их на аглийский или вообще удалять нет никакакого смысла.
В основном тема русской локали в системе сводится к тому, что русской раскладки нет в принципе и в консоли нет русского шрифта (хотя зачем он там? разве что для отображения файлов на шаре, если они имеют имена на русском). В сети много решений данного вопроса, но конкретно по проблеме с отображением русского шрифта в редакторе (у меня nano) информации совсем мало, а рабоающих решей почти нет (ну или они далеко не в топе как мой блог). Один вариант мне всё же удалось найти, но зашёл я по этому вопросу не в лоб. Итак. Я сравнил вывод команды locale с той системой, где с руской локалью всё хорошо. В проблемной системе вывод был такой:
LANG= LANGUAGE= 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=
Далее я опускаю тему как добавить поддежку самих локалей и включить их, этой инормации полно в сети и решения везде рабочие. По этой инструкции по аналогии можно добавить нужные локали - https://unix-garage.tk/zabbix-locale-for-language-en_us-is-not-found-on-the-web-server-tried-to-set-en_us-en_us-utf8/
Можно выполнить:
export LANG=en_US.utf8
После посмотреть что опять скажет команда locale. Если в выводе пропали значения POSIX, то теперь надо это дело закрепить. Потому что после перезагрузки всё поломается. Создаём файл /etc/profile.d/mylocalesetting.sh и вставляем туда export LANG=en_US.UTF-8. После чего перезагружаем систему и проверяем вывод locale. Должно быть вот так в текущем случае:
LANG=en_US.UTF-8 LANGUAGE= 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=
Вот теперь должно всё работать и с русским языком в редакторе nano (в остальных не проверял, не пользуюсь).
Решение нашёл тут — https://askubuntu.com/questions/770309/cannot-permanently-change-locale-on-16-04-server