Переключение между языками ввода — одна из самых частых операций при работе за компьютером. В Ubuntu по умолчанию используется комбинация Super+Пробел, но она не всегда удобна: может конфликтовать с другими сочетаниями, требовать двух рук или просто не соответствовать привычкам пользователя. Особенно остро проблема стоит для тех, кто мигрировал с Windows (где стандарт — Alt+Shift или Ctrl+Shift) или macOS (где часто используется Cmd+Пробел).
Изменить горячие клавиши в Ubuntu можно несколькими способами — от простого графического интерфейса до редактирования конфигурационных файлов. В этой статье разберём все актуальные методы, включая решения для GNOME, KDE Plasma и Xfce, а также рассмотрим типичные ошибки и способы их устранения. Особое внимание уделим конфликтам сочетаний и тому, как назначить уникальные комбинации, которые не будут перекрывать системные функции.
Если вы используете Ubuntu 22.04 LTS или новее, большинство инструкций будут работать без изменений. Для более старых версий (например, 20.04) могут потребоваться дополнительные шаги — об этом мы тоже упомянем.
1. Способ через графический интерфейс (GNOME Tweaks)
Самый простой метод — использование утилиты GNOME Tweaks (ранее известной как Gnome Tweak Tool). Она позволяет изменять горячие клавиши без работы с терминалом и подходит для большинства пользователей.
Чтобы установить GNOME Tweaks, если её нет в системе, выполните команду:
sudo apt install gnome-tweaks
Далее следуйте инструкции:
- Откройте
GNOME Tweaksиз меню приложений. - Перейдите в раздел
Клавиатура и мышь → Дополнительные параметры раскладки. - Найдите пункт
Переключение на другой источник вводаи нажмите на текущую комбинацию. - Зажмите новую комбинацию (например,
Alt+ShiftилиCaps Lock).
Если нужной комбинации нет в списке, её можно добавить вручную через Настройки → Клавиатура → Сочетания клавиш (об этом подробнее в следующем разделе).
2. Настройка через стандартные параметры Ubuntu
В новых версиях Ubuntu (начиная с 20.04) часть настроек горячих клавиш перенесена в основное меню параметров. Этот способ не требует установки дополнительных утилит и подходит для большинства пользователей GNOME Shell.
Инструкция:
- Откройте
Настройки → Клавиатура. - Перейдите на вкладку
Сочетания клавиш(внизу окна). - Прокрутите список до раздела
Типизация. - Найдите пункт
Переключение на другой источник вводаи кликните по текущей комбинации. - Зажмите новые клавиши (например,
Ctrl+Shift). Если комбинация уже занята, система предложит заменить её или отменить действие.
Обратите внимание: в некоторых версиях Ubuntu этот пункт может называться Switch to next input source (если система на английском). Также здесь можно настроить отдельные сочетания для переключения в обратном порядке (на предыдущую раскладку).
Убедитесь, что новая комбинация не конфликтует с другими сочетаниями|Попробуйте переключить раскладку до сохранения|Проверьте работу комбинации в разных приложениях (браузер, терминал, редактор)|Сохраните настройки и перезагрузите сеанс (если требуется)
-->
3. Ручное редактирование конфигурационных файлов (для опытных пользователей)
Если графические методы не сработали или вы предпочитаете ручную настройку, можно отредактировать конфигурационные файлы dconf или gsettings. Этот способ универсален и работает даже в минимальных установках Ubuntu Server без графического интерфейса.
Для начала проверьте текущие настройки:
gsettings get org.gnome.desktop.wm.keybindings switch-input-source
gsettings get org.gnome.desktop.wm.keybindings switch-input-source-backward
Чтобы изменить комбинацию, используйте команду (например, на Alt+Shift):
gsettings set org.gnome.desktop.wm.keybindings switch-input-source "['Shift_L']"
gsettings set org.gnome.desktop.wm.keybindings switch-input-source-backward "['Shift_L']"
Список возможных клавиш для привязки:
- 🔹
Alt→<Alt>или<Alt_L>(левый Alt) - 🔹
Ctrl→<Control>или<Primary> - 🔹
Super(клавиша Windows) →<Super> - 🔹
Caps Lock→<Caps_Lock> - 🔹
Shift→<Shift>или<Shift_L>(левый Shift)
Как вернуть стандартные настройки?
Если после изменений система ведёт себя нестабильно, сбросьте настройки к заводским:
gsettings reset org.gnome.desktop.wm.keybindings switch-input-source
gsettings reset org.gnome.desktop.wm.keybindings switch-input-source-backward
Важно: При ручном редактировании через gsettings изменения применяются немедленно, но могут не сохраняться после обновления GNOME. Чтобы зафиксировать настройки, экспортируйте их в файл:
dconf dump /org/gnome/desktop/wm/keybindings/ > ~/keybindings_backup.txt
4. Настройка для альтернативных окружений (KDE Plasma, Xfce, LXQt)
Если вы используете не GNOME, а другое графическое окружение, процесс настройки будет отличаться. Рассмотрим основные варианты.
Для KDE Plasma (Kubuntu):
- Откройте
Настройки системы → Ввод/вывод → Раскладка клавиатуры. - Перейдите на вкладку
Переключение раскладок. - В разделе
Сочетание клавишвыберите нужную комбинацию или добавьте свою.
Для Xfce (Xubuntu):
- Откройте
Настройки → Клавиатура → Сочетания клавиш. - Найдите раздел
Раскладка клавиатуры. - Дважды кликните по текущей комбинации и зажмите новые клавиши.
Для LXQt:
- Откройте
Настройки → Параметры LXQt → Сочетания клавиш. - Найдите действие
Switch to next keyboard layout. - Нажмите
Изменитьи введите новую комбинацию.
В некоторых окружениях (например, MATE) может потребоваться установка дополнительных утилит, таких как dconf-editor или mate-tweak.
5. Решение конфликтов сочетаний клавиш
Частая проблема при смене горячих клавиш — конфликт с другими системными или пользовательскими комбинациями. Например, Alt+Shift может использоваться для перемещения окон в GNOME, а Caps Lock — быть отключённым на уровне BIOS.
Как проверить и устранить конфликты:
- 🔧 Откройте
Настройки → Клавиатура → Сочетания клавиши просмотрите все назначенные комбинации. - 🔧 Используйте команду для поиска конфликтов:
gsettings list-recursively | grep -i "keybinding" - 🔧 Если конфликт с приложением (например, IntelliJ IDEA или Blender), измените сочетания в настройках программы.
- 🔧 Для
Caps Lockможет потребоваться отключить его как модификатор:setxkbmap -option caps:escape(это сделает
Caps LockклавишейEsc, после чего её можно использовать в комбинациях).
Если конфликт возникает с комбинациями рабочего стола (например, Super+1 для запуска приложений), их можно переназначить или отключить:
gsettings set org.gnome.shell.keybindings switch-to-application-1 []
gsettings set org.gnome.settings-daemon.plugins.media-keys custom-keybindings "[]"
После теста не забудьте вернуть настройки обратно!
-->
6. Использование утилиты setxkbmap для продвинутых пользователей
Утилита setxkbmap позволяет гибко настраивать раскладки и сочетания клавиш прямо из терминала. Этот метод полезен для автоматизации или если другие способы не сработали.
Примеры команд:
- 📌 Посмотреть текущие настройки:
setxkbmap -query - 📌 Назначить
Alt+Shiftдля переключения:setxkbmap -option "grp:alt_shift_toggle" - 📌 Использовать
Caps Lockкак модификатор:setxkbmap -option "caps:swapescape,grp:caps_toggle"(это сделает
Caps Lockклавишей переключения раскладки, аEscбудет доступен поCaps Lock + Esc). - 📌 Сбросить все настройки к стандартным:
setxkbmap -layout us,ru -option ""
Чтобы изменения применялись автоматически при старте системы, добавьте команду в автозагрузку:
- Создайте файл:
mkdir -p ~/.config/autostartnano ~/.config/autostart/setxkbmap.desktop
- Добавьте в него:
[Desktop Entry]Type=Application
Name=Setxkbmap
Exec=setxkbmap -option "grp:alt_shift_toggle"
StartupNotify=false
- Сделайте файл исполняемым:
chmod +x ~/.config/autostart/setxkbmap.desktop
Опции для setxkbmap:
| Опция | Описание | Пример комбинации |
|---|---|---|
grp:alt_shift_toggle |
Переключение по Alt+Shift (с зажатием) |
Alt+Shift |
grp:ctrl_shift_toggle |
Переключение по Ctrl+Shift |
Ctrl+Shift |
grp:win_space_toggle |
Переключение по Super+Пробел |
Win+Пробел |
grp:caps_toggle |
Переключение по Caps Lock |
Одиночное нажатие Caps Lock |
grp:rctrl_rshift_toggle |
Переключение по правому Ctrl+Shift |
Right Ctrl+Right Shift |
7. Частые ошибки и их устранение
Даже после правильной настройки горячие клавиши могут не работать. Рассмотрим типичные проблемы и решения:
Проблема 1: Комбинация не работает в некоторых приложениях (например, в Terminator или JetBrains IDE).
- 🔴 Причина: Приложение перехватывает сочетание клавиш.
- 🔴 Решение: Измените настройки горячих клавиш в самом приложении или используйте другую комбинацию.
Проблема 2: После обновления системы настройки сбросились.
- 🔴 Причина: Обновление GNOME или dconf сбросило пользовательские настройки.
- 🔴 Решение: Восстановите настройки из резервной копии (см. раздел 3) или настройте заново.
Проблема 3: Комбинация работает, но с задержкой.
- 🔴 Причина: Конфликт с менеджером окон или высокой загрузкой системы.
- 🔴 Решение: Проверьте загрузку CPU (
top) или попробуйте другую комбинацию.
Проблема 4: Нельзя назначить Caps Lock как модификатор.
- 🔴 Причина: В BIOS/UEFI отключена функция
Caps Lock. - 🔴 Решение: Включите
Caps Lockв настройках BIOS или используйтеsetxkbmap -option "caps:escape".
⚠️ Внимание: В некоторых ноутбуках (например, Dell XPS или Lenovo ThinkPad) клавиша Caps Lock может быть программно отключена на уровне прошивки. В этом случае её нельзя использовать для переключения раскладки без дополнительных манипуляций.
8. Альтернативные методы: xbindkeys и скрипты
Если стандартные способы не подходят, можно использовать утилиту xbindkeys для создания кастомных сочетаний. Этот метод гибкий, но требует знания базового синтаксиса конфигурационных файлов.
Установка:
sudo apt install xbindkeys xbindkeys-config
Настройка:
- Создайте файл конфигурации:
xbindkeys --defaults > ~/.xbindkeysrc - Откройте его для редактирования:
nano ~/.xbindkeysrc - Добавьте строку для переключения раскладки (например, по
F12):'setxkbmap -layout us,ru -option "grp:toggle"'m:0x0 + c:96
F12
(где
us,ru— ваши раскладки, аF12— желаемая клавиша). - Запустите
xbindkeysв фоновом режиме:xbindkeys -f ~/.xbindkeysrc &
Чтобы xbindkeys запускался автоматически, добавьте его в автозагрузку (аналогично setxkbmap в разделе 6).
⚠️ Внимание: При использованииxbindkeysизбегайте назначения сочетаний, которые уже используются системой (например,Ctrl+Alt+F1для переключения на TTY). Это может привести к нестабильной работе.
Для ещё большей гибкости можно написать скрипт на Bash или Python, который будет переключать раскладку и выполнять дополнительные действия (например, менять язык ввода в LibreOffice). Пример простого скрипта:
#!/bin/bash
current_layout=$(setxkbmap -query | grep layout | awk '{print $2}')
if [ "$current_layout" = "us" ]; then
setxkbmap ru
else
setxkbmap us
fi
Сохраните его как ~/switch_layout.sh, сделайте исполняемым (chmod +x) и привяжите к клавише через xbindkeys.
FAQ: Ответы на частые вопросы
Можно ли назначить переключение раскладки на одиночную клавишу (например, Caps Lock)?
Да, но для этого потребуется отключить стандартное поведение Caps Lock и переназначить её. Сделать это можно через setxkbmap:
setxkbmap -option "caps:swapescape,grp:caps_toggle"
Эта команда сделает Caps Lock клавишей переключения раскладки, а Esc будет доступен по Caps Lock + Esc.
Почему после смены комбинации в GNOME Tweaks она не работает в терминале?
Это может быть связано с тем, что терминал (например, GNOME Terminal или Konsole) использует собственные сочетания клавиш. Проверьте настройки терминала на предмет конфликтов или перезапустите его.
Также попробуйте применить настройки ко всем окнам:
gsettings set org.gnome.desktop.wm.keybindings switch-input-source "@as []"
Затем назначьте комбинацию заново.
Как сделать, чтобы раскладка переключалась по кругу (us → ru → ua → us)?
По умолчанию в Ubuntu переключение идёт между двумя последними используемыми раскладками. Чтобы включить циклическое переключение, используйте:
gsettings set org.gnome.desktop.input-sources xkb-options "['grp:cycle']"
Для обратного порядка (ua → ru → us → ua) используйте:
gsettings set org.gnome.desktop.input-sources xkb-options "['grp:cycle_backward']"
Можно ли назначить разные комбинации для разных приложений?
Стандартными средствами Ubuntu это невозможно, но можно использовать:
- 🔹 AutoKey — утилита для создания макросов и привязки клавиш к скриптам.
- 🔹 xbindkeys с условиями (например, проверять активное окно перед переключением).
- 🔹 Plasma (KDE) имеет встроенную функцию контекстных сочетаний клавиш.
Пример для AutoKey:
- Установите:
sudo apt install autokey-gtk. - Создайте скрипт, который проверяет активное окно и переключает раскладку.
- Привяжите скрипт к нужной комбинации.
Как вернуть стандартные настройки, если я всё сломала?
Чтобы сбросить все настройки горячих клавиш к заводским, выполните:
gsettings reset-recursively org.gnome.desktop.wm.keybindings
gsettings reset org.gnome.desktop.input-sources xkb-options
setxkbmap -layout us,ru -option ""
Если это не помогло, удалите пользовательские конфигурационные файлы:
rm -rf ~/.config/dconf/
rm -rf ~/.xbindkeysrc
После этого перезагрузите систему.