
Я установил Debian 9.6 с английским языком и настройками локали (включая клавиатуру) на финском. Все работает нормально в настольных приложениях, например Chromium, но клавиши "ä", "ö" и "å" не работают в Konsole, xterm, uxterm или rxvt. В остальном раскладка клавиатуры работает как надо.
В xterm, uxterm и rxvt эти клавиши просто ничего не делают. В Konsole клавиша "ö" выдает мне приглашение "(arg: 6)".
То есть, если я запускаю их из меню KDE. Если я запускаю xterm (или Konsole) из Konsole, клавиши работают. То же самое, если я делаю "su" в любом из эмуляторов терминала.
Кажется, это не зависит от переменных окружения, которые я получаю, запуская locale
. Вывод изначально следующий:
jonni@jlehtira:~$ locale
locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: Cannot set LC_MESSAGES to default locale: No such file or directory
locale: Cannot set LC_ALL to default locale: No such file or directory
LANG=sms_FI.UTF-8
LANGUAGE=en_US
LC_CTYPE="sms_FI.UTF-8"
LC_NUMERIC="sms_FI.UTF-8"
LC_TIME="sms_FI.UTF-8"
LC_COLLATE="sms_FI.UTF-8"
LC_MONETARY="sms_FI.UTF-8"
LC_MESSAGES="sms_FI.UTF-8"
LC_PAPER="sms_FI.UTF-8"
LC_NAME="sms_FI.UTF-8"
LC_ADDRESS="sms_FI.UTF-8"
LC_TELEPHONE="sms_FI.UTF-8"
LC_MEASUREMENT="sms_FI.UTF-8"
LC_IDENTIFICATION="sms_FI.UTF-8"
LC_ALL=
Если я это сделаю su jonni
, то я увижу
jonni@jlehtira:~$ locale
LANG=en_US.UTF-8
LANGUAGE=en_US:en
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=
Однако простое копирование-вставка этих переменных окружения в недавно открытую оболочку ничего не меняет. Также мне интересно, откуда вообще взялся sms_FI.
решение1
Похоже, создание локалей во время установки могло быть пропущено.
dpkg-reconfigure locales
Выберите одну или несколько локалей для создания на вашем компьютере, а затем выберите ту, которая будет использоваться в системе по умолчанию.