Настройка горячих клавиш для смены раскладки клавиатуры в Ubuntu: 5 проверенных способов

Переключение между языками ввода — одна из самых частых операций при работе за компьютером. В Ubuntu по умолчанию используется комбинация Super+Пробел, но она не всегда удобна: может конфликтовать с другими сочетаниями, требовать двух рук или просто не соответствовать привычкам пользователя. Особенно остро проблема стоит для тех, кто мигрировал с Windows (где стандарт — Alt+Shift или Ctrl+Shift) или macOS (где часто используется Cmd+Пробел).

Изменить горячие клавиши в Ubuntu можно несколькими способами — от простого графического интерфейса до редактирования конфигурационных файлов. В этой статье разберём все актуальные методы, включая решения для GNOME, KDE Plasma и Xfce, а также рассмотрим типичные ошибки и способы их устранения. Особое внимание уделим конфликтам сочетаний и тому, как назначить уникальные комбинации, которые не будут перекрывать системные функции.

Если вы используете Ubuntu 22.04 LTS или новее, большинство инструкций будут работать без изменений. Для более старых версий (например, 20.04) могут потребоваться дополнительные шаги — об этом мы тоже упомянем.

📊 Какую комбинацию вы предпочитаете для смены раскладки?
Alt+Shift
Ctrl+Shift
Super+Пробел
Caps Lock
Другую

1. Способ через графический интерфейс (GNOME Tweaks)

Самый простой метод — использование утилиты GNOME Tweaks (ранее известной как Gnome Tweak Tool). Она позволяет изменять горячие клавиши без работы с терминалом и подходит для большинства пользователей.

Чтобы установить GNOME Tweaks, если её нет в системе, выполните команду:

sudo apt install gnome-tweaks

Далее следуйте инструкции:

  1. Откройте GNOME Tweaks из меню приложений.
  2. Перейдите в раздел Клавиатура и мышь → Дополнительные параметры раскладки.
  3. Найдите пункт Переключение на другой источник ввода и нажмите на текущую комбинацию.
  4. Зажмите новую комбинацию (например, Alt+Shift или Caps Lock).

Если нужной комбинации нет в списке, её можно добавить вручную через Настройки → Клавиатура → Сочетания клавиш (об этом подробнее в следующем разделе).

2. Настройка через стандартные параметры Ubuntu

В новых версиях Ubuntu (начиная с 20.04) часть настроек горячих клавиш перенесена в основное меню параметров. Этот способ не требует установки дополнительных утилит и подходит для большинства пользователей GNOME Shell.

Инструкция:

  1. Откройте Настройки → Клавиатура.
  2. Перейдите на вкладку Сочетания клавиш (внизу окна).
  3. Прокрутите список до раздела Типизация.
  4. Найдите пункт Переключение на другой источник ввода и кликните по текущей комбинации.
  5. Зажмите новые клавиши (например, 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):

  1. Откройте Настройки системы → Ввод/вывод → Раскладка клавиатуры.
  2. Перейдите на вкладку Переключение раскладок.
  3. В разделе Сочетание клавиш выберите нужную комбинацию или добавьте свою.

Для Xfce (Xubuntu):

  1. Откройте Настройки → Клавиатура → Сочетания клавиш.
  2. Найдите раздел Раскладка клавиатуры.
  3. Дважды кликните по текущей комбинации и зажмите новые клавиши.

Для LXQt:

  1. Откройте Настройки → Параметры LXQt → Сочетания клавиш.
  2. Найдите действие Switch to next keyboard layout.
  3. Нажмите Изменить и введите новую комбинацию.

В некоторых окружениях (например, 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 ""

Чтобы изменения применялись автоматически при старте системы, добавьте команду в автозагрузку:

  1. Создайте файл:
    mkdir -p ~/.config/autostart
    

    nano ~/.config/autostart/setxkbmap.desktop

  2. Добавьте в него:
    [Desktop Entry]
    

    Type=Application

    Name=Setxkbmap

    Exec=setxkbmap -option "grp:alt_shift_toggle"

    StartupNotify=false

  3. Сделайте файл исполняемым:
    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

Настройка:

  1. Создайте файл конфигурации:
    xbindkeys --defaults > ~/.xbindkeysrc
  2. Откройте его для редактирования:
    nano ~/.xbindkeysrc
  3. Добавьте строку для переключения раскладки (например, по F12):
    'setxkbmap -layout us,ru -option "grp:toggle"'
    

    m:0x0 + c:96

    F12

    (где us,ru — ваши раскладки, а F12 — желаемая клавиша).

  4. Запустите 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:

  1. Установите: sudo apt install autokey-gtk.
  2. Создайте скрипт, который проверяет активное окно и переключает раскладку.
  3. Привяжите скрипт к нужной комбинации.
Как вернуть стандартные настройки, если я всё сломала?

Чтобы сбросить все настройки горячих клавиш к заводским, выполните:

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

После этого перезагрузите систему.