console-cyrillic и systemd в Debian

locale_ruConsole-cyrillic — это пакет для руссификации консоли (поддержки кириллицы в локальном терминале), старый и известный пакет. Но в новых версиях операционных систем с системой инициализации systemd он считается устаревшим, поскольку у systemd есть нативные средства локализации консоли и наличие console-cyrillic там не только не требуется, но и не рекомендуется, потому что работать все равно не будет, а если и будет, то плохо, поэтому желательно сразу удалить пакет console-cyrillic командой «apt-get remove —purge console-cyrillic». Вот как руссифицируется консоль в Debian 8:

Вот как обычно выглядит проблема с отображением русских букв после установки русской локали при помощи команды «dpkg-reconfigure locales»:

console-cyrillic и systemd в Debian

Русские буквы вроде бы отображаются, но частично. Надо это исправлять.

Установка пакетов

Сначала устанавливаем пакеты, если они у вас не установлены (хотя, скорее всего, установлены):

apt-get install console-setup keyboard-configuration

И теперь, соответственно, настраиваем.

Настройка руссификации консоли

Сначала настраиваем консоль, то есть отображение кириллицы в терминале. Даем команду

LANG=en_US.UTF-8 dpkg-reconfigure console-setup

Обратите внимание на переменную LANG перед вызовом dpkg-reconfigure. Если эту переменную не устанавливать в значение en_US.UTF-8, то конфигуратор будет выглядеть так же, как mc на картинке выше, и разобраться в нем будет нереально.

Запуститься конфигуратор

console-cyrillic и systemd в Debian

Выбираем «UTF-8», нажимаем ОК.

console-cyrillic и systemd в Debian

Выбираем «Cyrillic — Slavic languages (also Bosnian and Serbian Latin)».

console-cyrillic и systemd в Debian

Выбираем шрифт (в данном случае Terminus, но вы можете посмотреть все по очереди, реконфигурируя несколько раз).

console-cyrillic и systemd в Debian

И затем выбираем размер шрифта (В данном случае 8 на 16 точек, но это вы тоже можете посмотреть, как будет лучше выглядеть на вашем экране). Нажимаем Enter, и всё, конфигурация русских букв завершена. Теперь mc выглядит так:

console-cyrillic и systemd в Debian

Совсем другое дело. Теперь всё понятно.

Настройка клавиатурной раскладки

Отображение кириллицы есть, теперь надо настроить ввод кириллических символов с клавиатуры. Выполняем команду

dpkg-reconfigure keyboard-configuration

Теперь переменную LANG указывать не нужно, всё должно отображаться нормальными буквами.

console-cyrillic и systemd в Debian

Выбираем подходящий тип клавиатуры (обычно подходит 105-клавишная).

console-cyrillic и systemd в Debian

Выбираем «Другая»

console-cyrillic и systemd в Debian

Выбираем «Русская»

console-cyrillic и systemd в Debian

Русских раскладок много, поэтому выбираем просто «Русская»

console-cyrillic и systemd в Debian

Видим сообщение о том, что надо указать клавишу для переключения раскладок. Нажимаем после прочтения ОК.

console-cyrillic и systemd в Debian

Выбираем клавиши, которые вам более удобны, я обычно использую Caps Lock.

console-cyrillic и systemd в Debian

Затем выбираем временный переключатель, если нужен.

console-cyrillic и systemd в Debian

Затем AltGr (Опять же, если это нужно)

console-cyrillic и systemd в Debian

Затем составную клавишу (удобно для комбинации нескольких символов в один)

console-cyrillic и systemd в Debian

И, собственно, всё. Как видите, теперь можно пользоваться в консоли и английской, и русской раскладками.

 

console-cyrillic и systemd в Debian: 23 комментария

  1. FiveFiveFive

    Привет всем. привет автору. хорошая статья. автору спасибо. но у меня есть животрепещющий вопрос. я ни как не могу дотумкать как мне подстроить клавиатуру под себя. мне очень неудобна английская стандартная раскладка куэрти. мне бы хотелось от неё избавиться. а нужна мне спецыализированная английская раскладка дворак для правой руки. что-то я её не нашёл да и избавиться от куэрти вообще не смог. можэт подскажите? за ранее спасибо.

    1. mnorin Автор записи

      Добрый вечер. В файле /etc/default/keyboard

      Строчки

      XKBLAYOUT="us,ru"
      XKBVARIANT=","

      Поменять на


      XKBLAYOUT="us,ru"
      XKBVARIANT="dvorak,"

      или


      XKBLAYOUT="us,ru"
      XKBVARIANT="dvorak-r,"

  2. FiveFiveFive

    привет всем. привет автору и огромное спасибо. что-то я сквозь пальцы проглядел этот конфигурацыонный файл. за такой авторский совет автору огромное гуд. а ещё можэт кто-нибуть знает? как в чистой консоли добавить горячие клавиши. к примеру есть горячие клавиши удалить с позицыи курсора до конца строки это нажать контрол+k. и так далее. для начало хотелось бы добавить клавиши контрол+стрелка влево и вправо. как это действует в гуёвых терминалах. какой бы конфиг поковырять?
    всем всего хорошего.
    странно но что-то мой ящик глючит и письмо на подтверждение не пришло.

    1. mnorin Автор записи

      Приветствую.
      Вот такие две команды должны помочь:
      bind '"\C-[[C": forward-word'; bind '"\C-[[D": backward-word'
      Поковырять /etc/inputrc, ~/.inputrc, man bash секцию READLINE

  3. FiveFiveFive

    Привет всем. а автору большое спасибо. сразу видно спецыалиста. не то что я. и то что автор хороший человек за это ему двойное спасибо. так как он раздаёт добрые пини всяким недотёпам. команда bind действительно работает. но пока не рабзобрался с кодами. но это вопрос времени. благо общее направление указано. потому сел за разбирательство. всем спасибо. сижу манн-нирую.

  4. Dmitrii

    Проблема в том что у меня после перезагрузки постоянно слетает локализация в консолях, в терминали (в графическом интерфейсе, все впорядке).
    Приходится вручную перезапускать console-setup или setupcon

    1. Владимир

      То же самое, гуглёж толку не дал. И у народа такое видел, никто так и не решил.
      Автор, ответь!

      1. Maxim Norin Автор записи

        Могу посмотреть не раньше выходных. Надо воспроизвести. Версия Дебиана и платформа какие?

        1. Владимир

          Запускал в qemu под Arch Linux x64. Хочу на древний другой комп накатить, вот пробую.
          debian-9.0.0-i386-netinst.iso, из hd-media (пробрасывал флешку — заодно разобрался как это делать).
          Не, я понимаю, что непринципиально: даже если голая консоль когда и пригождается, то ничего сложного набрать sudo setupcon, и всё исправится, правда до следующей перезагрузки. НО — мы же тут все линуксоиды, надо ж разобраться))

    2. epm

      http://help.ubuntu.ru/wiki/russian_font_in_console
      В Stretch 32
      sudo vim /lib/systemd/system/console-setup.service
      Заменяем ExecStart=/lib/consol-setup/consol-setup.sh на ExecStart=/bin/setupcon

  5. Никита

    Добрый день. Ваша инструкция мне полностью помогла. Но вот о чём я хочу спросить…Линукс для меня стал интересным хобби. Я купил китайскую orange pi zero и дисплей 2’8″ ili9341. Соединил их и настроил. Система armbian 5.25 на ядре 3.4.113-sun8i и на основе debian GNU/Linux 8 (jessie). Собственно хобби изучать консольный линукс. Давно зрел и вот собрал себе малыша именно для этого. Но вот диллема, мне нужно в размер экрана 320×240 впихнуть как можно больше. А в консоли немаловажный элемент для этого — шрифт. Сейчас стоит Terminus 6×12 (framebuffer only), но нужно ещё меньше. В идеале 4х8 или 5×10. В принципе о сложностях написания такого шрифта осведомлён, но готов использовпть всю зитрость, чтобы самому написать такой. Уверен, что смогу изверуться и сделать удобочитаемый. Но. Как его так поставить, чтобы console-setup видел его и воспринимал так же как Terminus? Как и куда его полодить и какие нпмтройки сделать….не знаю…В сети информацию нашёл, много, но всё не подходит. Или работает частично…Поможете?

    1. Maxim Norin Автор записи

      Добрый день.
      Конкретных инструкций не дам, но могу подсказать, на что обратить внимание.
      1) Директория /usr/share/consolefonts
      2) Команда setfont
      3) Вот этот репозиторий на GitHub, где можно добыть шрифт в формате PSF с символами нужного размера — https://github.com/robey/font-problems
      4) Файл /etc/default/console-setup, в котором есть следующая строчка:
      You can also directly specify nonstandard font or console map to load.
      Надеюсь, это как-то поможет. Отпишитесь, как пойдет.

      1. Никита

        Ок. Попробую. Когда будет результат напишу. Спасибо. )

        1. Maxim Norin Автор записи

          Судя по этой ветке форума — http://orangepi.pp.ua/index.php/topic,798.0.html всё получилось?

          1. Никита

            Точно. Это тоже я. ) Благодаря именно вашим подсказкам это получилось. Спасибо большое. Нужно ли на том сайте дать ссылку на вашу страницу?

            1. Maxim Norin Автор записи

              Там в теме ссылка на эту статью уже есть, одной хватит, я думаю )
              Рад, что смог помочь.

  6. Никита

    Всё получилось. Спасибо за полезные советы!

  7. Родион

    Все работает, но как-только ребут, опять кириллицы нет, что делать?

    1. Maxim Norin Автор записи

      Можете уточнить, какая операционная система и версию операционной системы?

  8. Илья

    Конкретно у меня debian-9.6.0-i386. Не сохраняет изменения по кириллице. Про разные костыли для исправления этого можно нагуглить, но у меня они не работают и у многих тоже.

    1. Maxim Norin Автор записи

      Чистая установка или обновлялись с 8?

    2. tty

      # systemctl edit console-setup.service:

      [Unit]
      Wants=systemd-udev-settle.service
      After=systemd-udev-settle.service

  9. Айка

    Автор, я делаю то же самое что написано выше, но у меня постоянно слетает что делать?

Обсуждение закрыто.