Как переключить раскладку в linux

Как переключить раскладку в linux

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

Примечание для посетителей: Если произойдут изменения в способе настройки раскладок клавиатуры в Ubuntu, пожалуйста, напишите об этом в комментариях, чтобы мы обновили материал.

Сочетание, используемое по умолчанию, для смены раскладки в Ubuntu

По умолчанию в Ubuntu Linux для смены раскладки клавиатуры используется сочетание клавиш:
Super+Пробел

Для переключения раскладок клавиатуры в обратном порядке используется сочетание клавиш: Super+Shift+Пробел

Как изменить сочетание клавиш для переключения раскладки

Изменить сочетание клавиш для переключения раскладки клавиатуры в Ubuntu можно двумя основными способами:

  • Используя утилиту Gnome Tweaks
  • Используя штатную утилиту Параметры системы (Settings)

Почему мы рассматриваем два способа? Дело в том, что штатная утилита Параметры системы не позволяет установить такие сочетания, как Ctrl+Shift , Alt+Shift и некоторые другие. Утилита Gnome Tweaks позволяет это сделать.

Смена сочетания клавиш через утилиту Gnome Tweaks

Если у вас не установлена утилита Gnome Tweaks, то ее нужно сначала установить. Это можно сделать через штатный Менеджер приложений Ubuntu, используя поиск по фразе "gnome tweaks". На русском языке приложение переведено как "Доп. настройки GNOME".

Также можно установить Gnome Tweaks через терминал. Откройте терминал (для этого можно нажать сочетание клавиш Ctrl+Alt+T ). Выполните команду:

Запустите утилиту Gnome Tweaks. Запустить можно из Лаунчера (иконка "Доп. настрой. ").

Выберите вкладку Клавиатура и мышь и нажмите кнопку Дополнительные параметры раскладки

Откроется окно с разворачивающимся списком настроек комбинаций клавиш. Найдите пункт Переключение на другую раскладку . Установите галочку напротив сочетания, которое вы хотите использовать для переключение раскладки клавиатуры.

Смена сочетания клавиш через Параметры системы

Как было сказано выше, сочетание клавиш для переключения раскладки клавиатуры можно изменить через Параметры системы, но данная утилита не поддерживает установку некоторых сочетаний, которые часто используются для переключения раскладки.

Запустите Параметры системы. Для этого можно нажать сочетание клавиш Super+A и в Лаунчере найти значок Параметров системы — Параметры ( Settings ).

Откроется окно Параметров системы. Перейдите на вкладку Устройства .

Перейдите на вкладку Клавиатура . В правой части вы можете видеть список "Комбинации клавиш", который содержит список используемых в текущий момент сочетаний клавиш в системе.

Комбинации клавиш, используемые для смены раскладки клавиатуры, представлены пунктами:

  • Переключиться на предыдущий источник ввода — по умолчанию Super+Shift+Пробел
  • Переключиться на следующий источник ввода — по умолчанию Super+Пробел

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

Нажмите на клавиатуре новое сочетание клавиш. Не все сочетания можно использовать в этом окне. Если сочетание можно установить, то оно отобразится в окне. Если оно вам подходит, нажмите кнопку Установить .

Наверное у всех нас за время работы с компьютером накапливается определенный набор бредовых желаний, которые, бывает, засядут в голове и сидят там до тех пор пока не будут выполнены. И тогда особый, ни с чем не сравнимый зуд, заставляет нас вновь и вновь продлевать свою членскую карточку в клубе «Пила и бубен». Благо, «Линукс» — та система, в которой любая настройка может быть осуществлена; да еще и тысячью разных способов. И сегодня мой рассказ будет о том, как я настраивал клавиатуру на вновь приобретенном нетбуке «Эйч-пи мини». И да, «настраивал» здесь — это эвфемизм к словам «реализовывал полный спектр своих странных требований».

Нужно иметь ввиду

Итак, есть несколько вещей, о которых лучше упомянуть, прежде чем вы твердо решите потратить свое драгоценное время на прочтение этого топика.

  1. Я — пользователь «Арча». Это такой дистрибутив «Линукса». Соответственно, всё что я буду описывать в данной статье апробировалось и работает в приведенном виде только на нем.
  2. Я — пользователь «и3». Это такой мозаичный (тайловый) оконный менеджер. У пользователей ДЕ могут возникнуть проблемы при попытках повторения у себя описываемых в этой статье манипуляций. Давайте решать вместе.
  3. Эта статья — не ман. Эта статья — хауту. Здесь будет мало теории и много (относительно) примеров. Из примеров вы сможете собрать свои команды и конфигурации, с шахматами и пианистками. Делающие то, что нужно вам.
Типографские соглашения.

В этом топике приняты следующие соглашения по выделению информации:

  • Выделение вводимых пользователем команд осуществляется следующим образом:
    $ echo Команда выполненная обычным пользователем
    # echo Команда выполненная суперпользователем
  • Выделение частей конфигурационных файлов осуществляется аналогичным предыдущему способом.
  • Названия приложений и сервисов выделены курсивом, например xxkb.
  • Пути выделены жирным шрифтом, например, /urs/share/каталог/, или /urs/share/каталог/файл.

Сразу обозначу что мне было нужно, чтобы было ясно, что́ мы будем делать. Я хотел:

  1. Две раскладки: английскую и привычную русскую.
  2. Смену раскладок по нажатию «Капса».
  3. Типографскую раскладку по зажатию правого Альта.
  4. Светящийся индикатор «Капса» при включенной русской раскладке.
  5. Индикатор текущей раскладки в виде флага на каждом открытом окне.
  6. Чтобы новые окна открывались с английской раскладкой.
  7. Чтобы старые окна сохраняли свою раскладку независимо от переключения раскладок в других окнах.
  8. Функция «Делит» на правом Контроле (привык к «Делиту» справа внизу, на моем нетбуке он расположен сверху).
  9. Функция «Инцерт» на клавише «Делит» (той, которая справа сверху).
  10. Функции «Хом», «Энд», «Пэйдждаун» и «Пэйджап» на клавишах курсора при зажатом правом Альте (на клавиатурах нетбука Эйч-пи Мини 210-ой серии соответствующих кнопок нет ).
  11. Эмуляция правого мышиного клика по нажатию клавиши Меню.
  12. Эмуляция среднего мышиного клика по нажатию правый Альт + Меню.
Читайте также:  S6 edge plus модель
Настройка раскладок

/.xinitrc) или вашим приложением автозапуска (в этом случае она будет выполняться последней), и наконец, читаются настройки, заданные в ГУИ-приложении которое отвечает за параметры клавиатуры. Сразу стоит отметить, что каждый последующий уровень так или иначе сбивает настройки предыдущего. Следует также отметить, что демон gdm в своем конфигурационном файле /etc/gdm/Xsession имеет строки, содержащие команду setxkbmap, и при переключении пользователей также будет сбивать настройки. Проще всего не пользоваться этим демоном или выпилить соответствующие строки из конфига. Кстати, ГНОМовские параметры клавиатуры тоже всего лишь формируют свою команду setxkbmap, которую затем и исполняют. Причем нажатие на кнопочку «параметры по умолчанию» просто выполнит ее per se, без всяких ключей, что как ни странно, не собьет существующих параметров, заданных setxkbmap или в xml-файле, но испортит настройки, заданные с помощью команды xmodmap из

/.xinitrc (решается добавлением команд xmodmap в автозапуск; выше я уже отметил, что он исполняется последним).

Настройка /etc/X11/xorg.conf.d/10-keyboard.conf

Вот как содержимое этого файла выглядит у меня:
Section "InputClass"
Identifier "evdev keyboard catchall"
MatchIsKeyboard "on"
MatchDevicePath "/dev/input/event*"
Driver "evdev"
Option "XkbModel" "pc104"
Option "XkbLayout" "us,ru(winkeys)"
Option "XkbOptions" "grp:caps_toggle,terminate:ctrl_alt_bksp,grp_led:caps,lv3:ralt_switch,misc:typo"
EndSection

Опциями задается модель клавиатуры, две раскладки — английскую и привычную русскую, переключение по нажатию клавиши «Капс», прерывание работы Иксов по нажатию сочетания клавиш Контроль, Альт и «Бэкспейс». Также здесь задается свечение индикатора «Капса» при включенной русской раскладке и переключение на третий уровень правым Альтом. На третьем уровне висит типографская раскладка «typo». В строку опций «XkbOptions» можно включить также «grp:rwin_switch», для временного переключение раскладки при зажатой левой клавише Супер. Вы можете захотеть назначить переключения на другие клавиши, вот примеры: shifts — два «Шифта», alt_shift — Альт + «Шифт», ctrl_shift — Контроль + «Шифт», et cetera. Чтобы при включении русской раскладки загорался индикатор «Скролла», — укажите «grp_led:scroll» вместо «grp_led:caps».

setxkbmap

/.i3/config) или прямо в

/.xinitrc. Если настройки все-таки сбиваются (иначе говоря, если ваша идеология странным образом позволяет использовать ДЕ и отказываться от приложений автозапуска) — можете прибегнуть к варианту со следующей записью в инициализационном скрипте:
exec sleep 45; setxkbmap -option grp:caps_toggle -option lv3:ralt_switch -option grp_led:caps -layout us+typo,ru:2+typo

Указание подождать 45 секунд позволит пропустить всё, что могло переназначить раскладку. Без него строка для включения в скрипт выглядит так:
exec setxkbmap -option grp:caps_toggle -option lv3:ralt_switch -option grp_led:caps -layout us+typo,ru:2+typo

А команда, которую вы можете выполнить в терминале немедленно и наблюдать эффект так:
$ setxkbmap -option grp:caps_toggle -option lv3:ralt_switch -option grp_led:caps -layout us+typo,ru:2+typo

Прошу прощения за излишне подробные примеры, но возможно кому-то они окажутся полезны именно в таком виде. Параметры которые задает эта команда мы уже рассмотрели говоря о файле /etc/X11/xorg.conf.d/10-keyboard.conf. После выполнения команды можете проверить раскладки, переключая их «Капсом», и типографскую раскладку, обращаясь к ее символам с зажатым правым Альтом (например, правый Альт + «-» позволит набрать тире). Полный список значений третьего ряда указывается в файле /usr/share/X11/xkb/symbols/typo. Вы можете изменять или добавлять свои символы для третьего ряда, воспользовавшись сайтом консорциума Юникод чтобы узнать обозначение интересующего вас знака. Например, добавим короткое тире на клавишу с английской буквой «N»:
.
xkb_symbols "base" <
.
key < [NoSymbol, NoSymbol, endash, minus] >;
>;

NB! После « » в примере выше я поставил гифены, чтобы запись не была пропарсена как тег. Прежде чем вставлять запись в свой файл необходимо удалить их.
Обратите внимание, кроме короткого тире (endash) мы назначили минус (minus) на ту же клавишу. Он набирается при зажатии правого Альта с «Шифтом». Хотя у меня минус стоит на клавише «m», но это дело вкуса.

Настройка параметров клавиатуры в ГУИ приложении

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

Настройка изменений раскладки при переключениях окон и ее индикаторов на каждом из них

Все это сделает одно приложение, — xxkb. Установим его:
# pacman -S xxkb

После установки нужно настроить конфигурационный файл. Создадим его если он не создался сам (

/.xxkbrc) и укажем в нем следующие настройки:
XXkb.image.path:/usr/share/xxkb # Директория, в которой расположены картинки флагов — /usr/share/xxkb
XXkb.button.enable: yes # Включение функции отображения кнопочки — да
XXkb.button.border.width: # Толщина рамки вокруг кнопочки — оставили пустым, рамки не будет
XXkb.button.border.color: # Цвет рамки — оставили пустым
XXkb.button.label.enable: false # Текст на кнопочке — не будет
XXkb.button.label.font: # Шрифт текста на кнопочке — оставили пустым
XXkb.button.label.background: # Фон кнопочки — оставили пустым, у нас ведь будет флажок
XXkb.button.label.foreground: # Цвет шрифта — оставили пустым
XXkb.button.geometry: 14×14-2+1 # Высота, ширина, положение по оси абсцисс (x) относительно правого края, положение по оси ординат (y) относительно верха
XXkb.button.image.1: en15.xpm # Название файла с флажком для первой раскладки, она у нас английская, с ней будут открываться новые окна
XXkb.button.image.2: ru15.xpm # Название файла с флажком для второй раскладки, русской
XXkb.button.image.3: # Название файла с флажком для третьей раскладки — оставили пустым
XXkb.button.image.4: # Название файла с флажком для четвертой раскладки — оставили пустым
XXkb.controls.add_when_start: yes # Начинать контролировать раскладку с запуском приложения
XXkb.controls.add_when_create: yes # Начинать контролировать раскладку каждого окна с его созданием
XXkb.controls.add_when_change: no # Начинать контролировать раскладку окна только если оно в фокусе и в нем изменилась раскладка.

Читайте также:  Ide для c ubuntu

С такой конфигурацией каждое окно моего тайлового менеджера украшено аккуратным флажком, отображающим текущую раскладку, в заголовке. У некоторых пользователей при такой конфигурации приложение не работает должным образом и они советуют добавить вместо «XXkb.controls.add_when_change: no»
XXkb.controls.add_when_change: yes
XXkb.controls.focusout: yes

Более подробно и очень понятно о настройках приложения написано в мане. После сохранения конфигурационного файла запустите его следующей командой:
$ xxkb &

Не забудьте добавить команду в инициализационный скрипт, например

/.xinitrc:
exec xxkb

Переназначение функций клавишам

Для этого нам понадобится два приложения: xev для того чтобы узнать коды и названия клавиш и xmodmap, чтобы переназначить им функции.
$ xev

Откроется окно. По нажатию любой клавиши (кроме физической «Fn») консоль выведет нечто подобное следующему:
KeyRelease event, serial 27, synthetic NO, window 0x2400001,
root 0xfe, subw 0x0, time 34357283, (314,209), root:(318,617),
state 0x0, keycode 118 (keysym 0xff63, Insert), same_screen YES,
XLookupString gives 0 bytes:
XFilterEvent returns: False

Здесь нас интересует то, какую клавишу мы нажали, keycode (118 в данном случае) и keysym (Insert). Чтобы переназначит клавишу с помощью xmodmap введем следующую команду:
$ xmodmap -e "keycode 105 = Delete"

Здесь «119» — это код клавиши которой мы хотим назначит ту или иную функцию, а «Delete» — название клавиши, которой эта функция принадлежит по умолчанию. Чтобы подобная команда выполнялась всякий раз при запуске, — поместите ее в

/.xinitrc:
exec xmodmap -e "keycode 119 = Insert"

Кстати, этим же способ можно реализовать временное переключение раскладки при зажатии определенной клавиши:
exec xmodmap -e "keycode 94 = Mode_switch"

К сожалению, однако, он не позволяет назначить курсорам функции «Пэйджап», «Пэйдждаун», «Хом» и «Энд» при зажатом правом Альте. То есть позволять-то он позволяет, такая возможность есть и вы можете проверить ее командой, затем нажимая «Инсерт» в различных сочетаниях с «Капсом», «Шифтом» и Альтом:
$ xmodmap -e "keycode 105 = 1 2 3 4 5 6 7 8"

Но это сбивает возможность динамического выделения нажатием курсоров при зажатом «Шифте». Поняв, что так осуществить задуманное не получится, я стал смотреть в сторону упомянутой ранее /usr/share/X11/xkb/symbols/typo. Я думал добавить туда строку:
key < [NoSymbol, NoSymbol, Home] >;

Но это тоже сбивало выделение и пришлось обратиться к новым приложениям, — xbindkeys и xdotool (их необходимо предварительно установить). Правда первое в моем случае успешно заменила функция bind моего оконного менеджера, но вы можете использовать его. Ниже представлена строка из моего конфигурационного файла

/.i3/config, добавляющая функцию «Пэйджап» левому курсору с зажатым правым Альтом:
bind Mod5+111 exec sleep 0.15; xdotool key Prior

Обратите внимание на костыль в виде задержки в две третьих секунды. Она была подобранна эмпирическим путем. В силу системы очереди xlib и однопоточности xorg без этой задержки наша нотация должным образом работать не будет. Меньше ее делать не рекомендуется— будет срабатывать через раз. Больше — нет смысла. Вот весь участок моего конфига, задающий функции курсорам:
bind Mod5+111 exec sleep 0.15; xdotool key Prior
bind Mod5+116 exec sleep 0.15; xdotool key Next
bind Mod5+113 exec sleep 0.15; xdotool key Home
bind Mod5+114 exec sleep 0.15; xdotool key End

Использовать xbindkeys вместо оконного менеджера для этих целей наверное еще правильнее. Все что нам нужно, — это установить приложение:
# pacman -S xbindkeys

Затем вызвать окошко определения нажатой клавиши или сочетания комадой
$ xbindkeys -k

Нажать клавишу и получить вывод консоли вида:
"(Scheme function)"
m:0x80 + c:108
Mod5 + ISO_Level3_Shift

Прописать в конфигурационный файл

/.xbindkeysrc:
"sleep 0.15; xdotool key Home"
m:0x80 + c:108
Сохранить и выполнить
$ xbindkeys

Также можно добавить команду в инициализационный скрипт. Кроме того, вместо xdotool можно использовать xbkbd. Это приложение — ничто иное как виртуальная клавиатура. Попробуйте установить его и выполнить следующую команду чтобы убедиться в этом:
$ xbkbd

Настройка функций по нажатию клавиш с помощью этой команды в основном аналогична настройке с помощью xdotool и выглядит так:
bind Mod5+111 exec sleep 0.15; xvkbd -text ‘[Prior]’
Выберите то, что больше по душе ва́м. А мне осталось рассказать о двух способах клавиатурной эмуляции нажатия кнопки мыши.

Читайте также:  Как открыть файл в облаке майл ру
Эмуляция мышиного клика по нажатию кнопки клавиатуры

Способ 1: с помощью xdotool:
bind 135 exec xdotool click 3
bind Mod5+135 exec xdotool click 2

Первая команда назначает функцию нажатия правой кнопки мыши на клавишу Меню. Вторая — функцию средней кнопки на клавишу Маню с зажатым правым Альтом.
Способ 2: с помощью команды xmodmap. Правда чтобы воспользоваться им придется дополнительно установить пакет xkbset. С его помощью мы разрешим эмуляцию нажатия кнопки мыши и снимем лимит времени на действие этого разрешения (изначально приложение разрабатывалось для людей с ограниченными возможностями по использованию мыши). А затем назначим кнопку на клавишу Меню:
exec xkbset m
exec xkbset exp =m
exec xmodmap -e "keycode 78 = Pointer_Button2"

Заключение

Это все что я хотел рассказать сегодня о настройках клавиатуры. В следующий раз попробуем разобраться с демоном actkbd; возможно с его помощью получится удовлетворить существующим требованиям более изящным образом. А этот текст подготовлен в редакторе Вим, спасибо за внимание ;-­)

Источники

Данная статья не подлежит комментированию, поскольку её автор ещё не является полноправным участником сообщества. Вы сможете связаться с автором только после того, как он получит приглашение от кого-либо из участников сообщества. До этого момента его username будет скрыт псевдонимом.

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

В этой статье мы поговорим о том, как добавить раскладку клавиатуры в Ubuntu, а также как настроить удобное переключение раскладки.

Как добавить раскладку клавиатуры в Ubuntu

Обычно после установки уже есть две раскладки клавиатуры Ubuntu — это английская и та, которую вы выбрали во время установки. Вы можете убедится в этом, нажав на значке переключение раскладки клавиатуры Ubuntu:

Но если вам нужно добавить ещё и третью раскладку, например украинскую, то сделать это не так сложно. Откройте параметры системы:

Затем выберите пункт Регион и язык. Далее под списком раскладок клавиатуры найдите кнопку со значком "+":

Вы можете выбрать раскладку из списка предложенных, а если её там нет, то можно нажать кнопку с тремя точками, чтобы открыть полный список. В этом списке можно использовать поиск:

Далее останется только выбрать нужную раскладку и нажать кнопку Добавить, после этого она появиться в списке:

Некоторые раскладки не доступны в стандартном списке, чтобы их открыть, выполните в терминале команду:

gsettings set org.gnome.desktop.input-sources show-all-sources true

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

Переключение раскладки клавиатуры Ubuntu

Ещё во времена Windows XP раскладка клавиатуры переключалась с помощью сочетания клавиш Ctrl+Shift, во времена Windows Vista/7 сочетание клавиш для переключения изменилось на Alt+Shift, а с приходом Windows 8 было добавлено ещё одно сочетание — Super+Пробел, которое в дополнение выводит список раскладок на экран.

Все эти сочетания клавиш перекочевали в Linux, и сейчас смена раскладки клавиатуры Ubuntu 18.04 может быть выполнена такими способами:

  • Alt+Shift — переключить раскладку на следующую;
  • Super+Пробел — переключить источник ввода на следующий с выводом на экран;
  • Super+Shift+Пробел — переключить источник ввода на предыдущий с выводом на экран;

Super — это клавиша со значком Windows, это название пошло от название аналогичной кнопки в MacOS. Изменить сочетания клавиш для переключения на следующий и предыдущий источник ввода можно в разделе Устройства -> Клавиатура:

Выберите нужный пункт и нажмите комбинацию, которую надо установить вместо Super+Пробел. Здесь же можно полностью отключить эти сочетания, нажав в окне выбора комбинации клавишу Backspace.

Установить вместо Alt+Shift привычную многим Ctrl+Shift не так просто, но возможно, для этого вам понадобится утилита Gnome Tweaks:

sudo apt install gnome-tweaks

Откройте утилиту, перейдите на вкладку Клавиатура и мышь, затем выберите Дополнительные настройки раскладки:

Здесь в разделе Переключение на другую раскладку можно выбрать сочетание клавиш для переключения, доступны не только Ctrl+Shift, но и Win, Caps Lock и многие другие.

Если же вам нужно изменить раскладку клавиатуры Ubuntu 18.04 именно по сочетанию Ctrl+Shift, и вы не хотите устанавливать никаких утилит, можете воспользоваться командой:

gsettings set org.gnome.desktop.input-sources xkb-options "[‘grp:ctrl_shift_toggle’]"

Но обратите внимание, что при выборе сочетания Ctrl+Shift, раскладка будет переключаться каждый раз, когда вы открываете терминал.

Выводы

В этой небольшой статье мы рассмотрели, как настраивается раскладка клавиатуры Ubuntu и сочетания клавиш для её изменения. Раньше среди пользователей были популярны флаги вместо индикаторов раскладки, но сейчас эта возможность была удалена из Gnome, вы можете её использовать разве что в Cinnamon или Mate.

Ссылка на основную публикацию
Как передать файл с компьютера на телефон
Иногда нужно срочно перенести файлы с компьютера на телефон: программы, книги, фильмы, музыку, фотографии, презентации, телешоу и т.д. Даже если...
Как открыть сообщество в контакте
Как создать группу в контакте?Как создать группу ВКонтакте?как создать группу в контактеДизайн группы ВКонтактеОформление группы ВКонтактеПоказать полностью… Создание сайтов Landing...
Как открыть тайсона в ufc 2 ps4
Брюс Ли возвращается в восьмиугольник от EA Sports: если вы разблокировали его в EA Sports UFC в 2014 году, то...
Как передать файлы на виртуальную машину virtualbox
Как перенести файлы с Windows на Ubuntu, установленные на Virtualbox? Когда я подключаю USB, он появляется только в Windows. Как...
Adblock detector