Автор: Алексей Федорчук
Эта заметка возникла совершенно случайно: вследствие событий, описанных в цикле про Revo Drive, к установленной на моей машине ранее Fedora неожиданно присоединилась Ubuntu. Точнее, Xubuntu, потому как разбираться с Unity мне хотелось ещё меньше, чем с 3-м GNOME или, в своё время, с 4-м KDE.
И, как будет рассказано своевременно или несколько позже, с этой самой Xubuntu оказалось славно. За одним исключением: я остался без led-индикатора клавиатурной раскладки. А её мне очень и очень не хватает — сколько бы ни было понавешано индикаторов экранных. Но старая привычка с древних времён, когда с экранными индикаторами в Иксах были ещё напряги: поглядел на клаву — и сразу видишь, латиница у тебя включена или кириллица. Прям как с полковником Петренко и его именным пистолетом в последнем фильме Гайдая.
С давних пор в качестве led-индикатора раскладки я задействовал ScrollLed: ведь сама клавиша ScrollLock практически никогда не используется, и индикатор оказывается не при делах (кроме консоли FreeBSD, но то — преданья старины глубокой). Кстати сказать, именно ScrollLed как индикатор раскладки использовался по умолчанию в Ubuntu, сколько я её помню, то есть с 2005 года, и поныне. Он же выступает в этом качестве и в Fedora.
Однако некоторое время назад я поменял клавиатуру на компактную модель, на которой ScrollLed просто отсутствовал как класс. И пришлось в качестве индикатора задействовать CapsLed, благо, таковой имелся. В Fedora я в качестве десктопа использую (пока?) GNOME 2-й ветки, и там это можно сделать его собственными средствами —
В прежние, до-HAL’ные и до-udev’ные, времена определение led-индикатора в Иксах выполнялось просто и прозрачно для пользователя — редактированием файла XF86Config
, в последующем — xorg.conf
. Однако ныне этот файл по умолчанию в системе отсутствует, все настройки Иксов, в том числе и клавиатурные, выполняются с помощью таинственного механизма udev
, и где находятся соответствующие конфиги — вовсе не очевидно.
Конечно, использование /etc/X11/xorg.conf
не запрещено и ныне. Более того, прописанные в нём параметры имеют приоритет перед автоматически определёнными. Так что ничто не мешало создать его в составе единственной секции, описывающей клавиатуру, а в ней поместить единственную строку с соответствующим значением нужной опции. Однако старина Оккам в гробу перевернулся бы от такого обращения с сущностями. И потому пойдём другим путём.
А именно, переходим в каталог /etc
и запускаем команду:
$ grep -R grp_led:scroll * N
Для определённости замечу, что дело происходит в оболочке zsh
, предусматривающей возможность определения глобальных псевдонимов; и глобальный псевдоним N
призван подавлять вывод нежелательных сообщений об ошибках. В bash его следует заменить перенаправлением вида 2> /dev/null
. Иначе за лесом сообщений вроде
grep: sudoers: Отказано в доступе
легко пропустить единственное нужное дерево — строку
default/keyboard~:XKBOPTIONS="grp:lwin_toggle,grp_led:scroll"
Дальше всё ясно — открываем в любимом редакторе (с правом root’а, то есть через sudo
) файл /etc/default/keyboard и в соответствующей строке заменяем grp_led:scroll
на grp_led:caps
.
К слову сказать, в этом же файле легко сменить вариант раскладки и переключатель между ними, не прибегая к графическим утилитам.
Не сочтите спамом, по поводу раскладок и не только я как-то писал довольно подробно — http://shikhalev.blogspot.com/2011/01/typo-keyboard-input.html — для XFCE я там описываю вариант настроек через xorg.conf (что в моем дистрибутиве как раз естественно) и даю ссылку на настройки для HAL…
2 Иван Шихалев Не сочли, напротив: гран мерси за ссылку