Автор Тема: Не переключается раскладка в текстовой консоли (Решено)  (Прочитано 17985 раз)

Оффлайн Антон Мидюков

  • alt linux team
  • ***
  • Сообщений: 5 183
  • antohami@
Не могу переключиться с английского языка на русский в текстовых консолях. Перепробовал все возможные сочетания. Кириллица же отображается нормально. Как настроить? Использую чистую установку Сизифного gnome-shell, все обновления установлены.
« Последнее редактирование: 09.04.2015 15:48:35 от midyukov-anton »

Оффлайн ruslandh

  • Поспешай не торопясь !
  • Модератор глобальный
  • *****
  • Сообщений: 32 246
  • Учиться .... Телепатами не рождаются, ими ....
    • Email
Вообще-то она из коробки должна работать - что у вас прописано в /etc/sysconfig/keyboard и в grub.conf.

Простой

  • Гость
А в других программах нормально? Если нет, то может в acc покопаться? В настройках клавиатуры.
« Последнее редактирование: 26.06.2013 22:22:45 от Простой »

Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 10 259
Не могу переключиться с английского языка на русский в текстовых консолях.
Речь про виртуальные терминалы?
Если да, то Руслан уже сказал, но для ознакомления можно и тут почитать ближе к концу:
http://forum.altlinux.org/index.php/topic,28619.msg200883.html#msg200883

Оффлайн Антон Мидюков

  • alt linux team
  • ***
  • Сообщений: 5 183
  • antohami@
Вообще-то она из коробки должна работать - что у вас прописано в /etc/sysconfig/keyboard и в grub.conf.

Первоначально в /etc/sysconfig/keyboard была только первая строка, а сейчас:
KEYTABLE=ruwin_ct_sh-UTF-8
MODEL="pc105"
LAYOUT="us,ru"
OPTIONS="grp:alt_shift_toggle,grp_led:scroll"
Добавил их после поиска в интернете, но не помогло.
Файла grub.conf я не нашел у себя в /etc/

Оффлайн ruslandh

  • Поспешай не торопясь !
  • Модератор глобальный
  • *****
  • Сообщений: 32 246
  • Учиться .... Телепатами не рождаются, ими ....
    • Email
grub.conf вроде в /boot лежит

Оффлайн Антон Мидюков

  • alt linux team
  • ***
  • Сообщений: 5 183
  • antohami@
grub.conf вроде в /boot лежит

Там лежит grub.cfg, формируемый на основе /etc/sysconfig/grub2. Привожу содержимое последнего ниже:
# Show timeout counter when hidden
#GRUB_HIDDEN_TIMEOUT_QUIET=TRUE

GRUB_CMDLINE_LINUX_DEFAULT='panic=30 quiet splash'
GRUB_CMDLINE_LINUX='failsafe vga=normal'
GRUB_TERMINAL_OUTPUT='gfxterm'
GRUB_GFXMODE='800x600'
GRUB_DEFAULT='saved'
GRUB_SAVEDEFAULT=true
GRUB_WALLPAPER=/usr/share/plymouth/themes/sisyphus/grub.jpg
GRUB_COLOR_NORMAL=white/black
GRUB_COLOR_HIGHLIGHT=black/white

# This is especially important as EFI Boot Manager label
GRUB_DISTRIBUTOR="ALT Linux"

# This defines /boot/efi/EFI subdir name
GRUB_BOOTLOADER_ID="altlinux"
GRUB_AUTOUPDATE_DEVICE='/dev/sda '
GRUB_AUTOUPDATE_FORCE='no'

Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 10 259
Не могу переключиться с английского языка на русский в текстовых консолях. Перепробовал все возможные сочетания. Кириллица же отображается нормально. Как настроить? Использую чистую установку Сизифного gnome-shell, все обновления установлены.
Тю ты на меня! Выделенного не увидел. Так там же PoetteringInit везде кроме regular-icewm!
Только в regular-icewm чистокровный SysVinit - во всех других его кастрат.
Ну кажется ещё кентавр с SysVinit, если он сервером.
systemd прибивает sysinit-сервис keytable. Не взлетает он. И не взлетит.

man vconsole.conf - /etc/vconsole.conf, конфигурационный файл для виртуальной консоли.

man systemd-vconsole-setup.service
В общем сюда надо смотреть.
Ну и в маны и хауту управления сервисами systemd.

[flame]
Спэккифатер ехидничает:
Если Х-сы улетели, а вопрос через elinks хочется задать гуглу на своём родном, настройка systemd превращается в издевательски приятную вещь. В отличие от простого чтения манов sysinit даже офлайном.

Сузи вообще  говорят, что файл /etc/vconsole.conf у них отсутствует по-дефолту.
В контексте переименования каталогов Desktop/Downloads в 'Рабочий стол/Загрузки' при слетании Х-сов и невозможности переключить раскладку, это здорово придумано. Ну совсем здОрово!
С полноценым sysinit этот функционал взлетает после трёх команд из шелл.
В отличие от любителя простых решений из Гватемалы.
[/flame]

Может где-то так?
http://forums.opensuse.org/p-russian/dhydhdhdhdhundhdhdh/1054-1073-1097-1080-1081/478061-dhnnndhdhdh-ndhndh-dh-dhdhdhndhdhdh-tty-6.html#post2528056
Цитировать
Редактируем файл /etc/vconsole.conf. Например:

KEYMAP=ruwin_cplk-UTF-8
FONT=UniCyr_8x16

Значение KEYMAP берём из имени файла в /usr/share/kbd/keymaps/i386/qwerty/ отбрасывая ".map.gz". Первая часть названия — тип раскладки клавиатуры. В данном случае русская, windows. Вторая часть — способ переключения. cplk = "Caps Lock", alt = "Alt" и т. д.
Значение FONT берём из имени файла в /usr/share/kbd/consolefonts/ отбрасывая ".psfu.gz"

С поправкой на альтовое:
$ ls /lib/kbd/keymaps/i386/qwerty/|grep ruwin|grep -i utf
# find /lib/ -name *UniCyr*

Надо проверить на способность взлетать после "профилактики".
Ну и посмотреть состояние сервиса
# systemctl status systemd-vconsole-setup.service
Если сервис запущен, рестартануть его, чтобы настройки из /etc/vconsole.conf подхватились.
Рестартовать весь systemd уж наверное не надо?

В общем смотрите, пробуйте.
Пробуйте, потому, что:
systemd не пользую - это свой взгляд на вещи, как бы сам сделал у себя.

С systemd всё надо делать по науке, поэтому повторю alv'а:
Цитировать
В общем, остаётся только в очередной раз повторить мантру:
Наделали делов эти Леннарт с Поттерингом

Или пробовать временный костыль (оттуда же)
Цитировать
Временная мера. Костыль. Могу предложить другой вариант.
В домашней директории пользователя создать файл ~/.bash_profile или, если файл существует, добавить такие строчки
. $HOME/.bashrc
if [[ $(tty) = /dev/tty[1-6] ]]; then
    #sudo /usr/bin/loadkeys /usr/share/kbd/keymaps/i386/qwerty/ruwin_alt-UTF-8.map.gz && \
    /usr/bin/setfont /usr/share/kbd/consolefonts/UniCyr_8x16.psf.gz
fi
с вырезкой setfont и правкой путей. И sudoers пригладить. Пока systemd не дойдёт до стадии допилинга.

В принципе ядру тоже можно передавать параметры:
systemd 204 / kernel-command-line — Kernel command line parameters
если познакомиться с форматом параметров.


Первоначально в /etc/sysconfig/keyboard была только первая строка, а сейчас:
KEYTABLE=ruwin_ct_sh-UTF-8
MODEL="pc105"
LAYOUT="us,ru"
OPTIONS="grp:alt_shift_toggle,grp_led:scroll"
Добавил их после поиска в интернете, но не помогло.

Если бы система была с чистокровным SysVinit, всё что после KEYTABLE это вы зря добавили.
С чистокровным и полноценным SysVinit после добавления KEYTABLE=бла после команды 'service keytable restart', при условии, что сервис запущен и levels добавлены, переключение раскладки взлетело бы с полпинка.

Но что-то мне так помнится по regular-icewm-live, что 'chkconfig бла бла' и 'service бла бла' с keytable надо подавать через 'init 2', а то и вовсе через 'init 1'. Точнее, как да что не припомню - забылось уже.
Но не через гуёвый терминал - не отрабатывало.
(Этот небольшой бубен нужен если ребутаться ну очень не хочется или никак нельзя, - например в лайве без сохранения сессии.)
Но это мелкие несущественные детали.

Но с PoetteringInit, keytable из SysVinit не судьба...


По пути попалось:
systemd для администратора (перевод)
Тыц
« Последнее редактирование: 28.06.2013 08:48:27 от Speccyfighter »

Оффлайн Антон Мидюков

  • alt linux team
  • ***
  • Сообщений: 5 183
  • antohami@
Эх, проблема, то не со шрифтами! Проблема в том, что не работает переключение языка ввода! Проблему со шрифтами в Альте решили в рамках пакета Systemd 201. А вот проблема с переключением раскладки возникла после установки с чистого gnome-shell-regular. До этого у меня была система, обновленная с кентавра до сизифа, и в ней у меня был Systemd 204, как и сейчас, и все в ней работало, только после очередного обновления система неожиданно перешла на SysVinit, а на systemd я ее в короткий срок вернуть не смог. Разбираться в проблеме не стал, установился с чистого gnome-shell-regular и обнаружил спустя две недели вот этот баг.

Оффлайн Антон Мидюков

  • alt linux team
  • ***
  • Сообщений: 5 183
  • antohami@
Ну, все! проблему решил. Все просто. Нужно было лишь применить волшебную команду
localectl set-keymap ruwin_alt_sh-UTF-8
Узнать о доступных раскладках можно командой:
localectl list-keymaps
И дальше уже экспериментировать.
Есть предложение интегрировать изменение раскладки клавиатуры в альтератор. Ведь в Systemd это так просто! всего лишь одна команда! В то время как в SysVinit извращались вот так: http://www.opennet.ru/openforum/vsluhforumID15/3262.html.
Кроме того, косяк у регулярных сборок значит в том, что в них не настроен /etc/vconsole.conf. Первоначально он имел вид:
KEYMAP=us

Оффлайн Антон Мидюков

  • alt linux team
  • ***
  • Сообщений: 5 183
  • antohami@
Ну, все! проблему решил. Все просто. Нужно было лишь применить волшебную команду
Код: [Выделить]

localectl set-keymap ruwin_alt_sh-UTF-8

Эта команда, актуальна только для p7-systemd дистрибутивов. В Сизифе теперь так делать не нужно! Для того, чтобы сменить сочетание клавиш в виртуальных консолях tty необходимо отредактировать файл /etc/sysconfig/keyboard, а именно прописать KEYTABLE=ваша_раскладка. Возможные варианты можно получить командой: localectl list-keymaps

Оффлайн Антон Мидюков

  • alt linux team
  • ***
  • Сообщений: 5 183
  • antohami@
В Сизифе теперь так делать не нужно! Для того, чтобы сменить сочетание клавиш в виртуальных консолях tty необходимо отредактировать файл /etc/sysconfig/keyboard, а именно прописать KEYTABLE=ваша_раскладка. Возможные варианты можно получить командой: localectl list-keymaps

В Сизифе снова перестала раскладка переключаться. Данный метод не помогает, зато опять помогает:
localectl set-keymap ruwin_alt_sh-UTF-8