
Я изменил свой .bashrc
файл, так что эта $LANG
переменная всегда устанавливается в ,
en_US
когда я запускаю новую оболочку. Это потому, что у меня есть программа для создания графиков, которая принимает знак как десятичный разделитель на основе языка.
Если $LANG
установлено значение pl_PL
then, то вместо точки у меня стоит запятая.
Все было хорошо, но после того, как я сделал автоматическое обновление своей системы, оказалось, что я не могу вводить польские знаки в терминале.
Например, это юникод для буквы «ó»: U+00D3, но я вижу «C3», когда набираю «ó» в терминале.
Теперь, когда я переключаюсь на другой аккаунт, проблема исчезает.
Я проверил содержимое
/var/lib/locales/supported.d/local
Там говорится:
pl_PL.UTF-8 UTF-8
en_US.UTF-8 UTF-8
Я тоже бегаю
dpkg-reconfigure locale
Это не приносит никакой пользы.
Что делать, если я не хочу переключаться на другой аккаунт?
решение1
Каким-то образом мне удалось решить проблему. Я записал export LANG=en_US
в .bashrc
файл. И теперь я использую
экспорт LC_NUMERIC=C
чтобы получить точку как десятичный разделитель. После того, как я перезапустил систему, я получил свои польские знаки обратно.
решение2
В Debian есть ошибка. Посмотрите: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=818065#85 Ты должен сделать:
rm /etc/console-setup/cached_*
Эти файлы можно воссоздать
setupcon --save-only
Это внесет изменения в:
/etc/console-setup/cached_setup_keyboard.sh
-loadkeys '/tmp/tmpkbd.iDWdSi' > '/dev/null'
+loadkeys '/etc/console-setup/cached_UTF-8_del.kmap.gz' > '/dev/null'.
Да, они еще не исправили это.