Программы
Ещё один способ сменить раскладку в Linux, FreeBSD

Ещё один способ сменить раскладку в Linux, FreeBSD

Нынешние дистрибутивы Linux, ориентированные на пользователей, данную задачу решают достаточно просто — лепится плагин к панели, который и меняет раскладку. Если же мы периодически занимаемся Unix-diving-ом, то от такой прелести нам придётся отказаться.

tl;dr: Смена раскладки по нажатию alt+shift:

setxkbmap -layout 'us,ru' -option 'grp:alt_shift_toggle,grp_led:scroll'

Немного предыстории:

Нынешние дистрибутивы Linux, ориентированные на пользователей, данную задачу решают достаточно просто — лепится плагин к панели, который и меняет раскладку. Если же мы периодически занимаемся Unix-diving-ом, то от такой прелести нам придётся отказаться.

Поэтому рассмотрим одну из возможностей, которую нам даёт xkb — расширение X Window System, отвечающее за клавиатуру. То есть работать это будет при использовании графической подсистемы x11.

Оговорюсь, что можно настроить переключение через xorg.conf. Возможно, это правильнее, но мне всегда было проще добавить строчку в скрипт «автозагрузки», чем написать портянку конфигов.

3 других популярных варианта клавиш переключения раскладки:

  1. Смена раскладки через Caps Lock:
    setxkbmap -layout 'us,ru' -option 'grp:caps_toggle,grp_led:scroll'
  2. Смена раскладки через Alt+Space:
    setxkbmap -layout 'us,ru' -option 'grp:alt_space_toggle,grp_led:scroll'
  3. И предсказуемо — смена раскладки через Сtrl+Shift:
    setxkbmap -layout 'us,ru' -option 'grp:ctrl_shift_toggle,grp_led:scroll'

Также с помощью этого же расширения можно использовать compose-последовательности. То есть можно автоматом преобразовывать << в «, например.

Набираются compose-последовательности так: нужно нажать compose-клавишу и отпустить её. После этого начать набирать последовательность. Символы на экране появляться не будут, результат появится только тогда, когда последовательность будет набрана полностью.

Примеры последовательностей:

« << 
» >>
€ e=
— --
ß ss
° ^0
² ^2
è `e
ü "u

Установить compose-клавишу можно во всё той же команде:

setxkbmap -option "grp:caps_toggle,grp_led:scroll,compose:ralt"

— разберём эту команду:

  • переключать раскладку по Caps Lock,
  • при сменённой раскладке подсвечивать на клавиатуре индикатор scroll lock,
  • правый alt — compose клавиша.
Изображение Шпаргалка по командам Linux, FreeBSD и MacOS