Linux Mint 20 — одна из самых популярных дистрибутивов на базе Ubuntu, сочетающая стабильность, удобство и минималистичный интерфейс Cinnamon. Однако даже в такой отлаженной системе настройка переключения раскладки клавиатуры может вызвать вопросы у новичка. Почему стандартные комбинации Alt+Shift или Ctrl+Shift не работают? Как добавить третий язык или отключить случайное переключение при наборе текста? Эта статья поможет разобраться во всех нюансах — от базовой установки до решения неочевидных проблем.
В отличие от Windows, где смена языка часто сводится к выбору одной галочки, в Linux за это отвечает несколько слоёв настроек: системные параметры, менеджер рабочего стола и даже конфигурационные файлы. Мы рассмотрим все доступные методы — от графического интерфейса до ручного редактирования dconf, — а также объясним, почему иногда раскладка «слетает» после обновления или перезагрузки. Особое внимание уделим проблемам с индикатором языка в панели задач и конфликтам между глобальными и приложенными горячими клавишами.
1. Базовая настройка раскладки через графический интерфейс
Начнём с самого простого способа — через стандартное меню настроек Linux Mint 20. Этот метод подойдёт большинству пользователей, которые хотят быстро добавить второй язык и назначить комбинацию для переключения.
Откройте главное меню и перейдите в Параметры системы → Язык и региональные стандарты. Здесь вас интересуют три вкладки:
- 🌐 Язык — добавление и удаление языковых пакетов (включая поддержку ввода).
- ⌨️ Источники ввода — управление раскладками клавиатуры.
- 🔄 Форматы — региональные настройки (дата, время, валюта).
Чтобы добавить новую раскладку:
- Перейдите на вкладку Источники ввода.
- Нажмите кнопку
+внизу окна. - В списке найдите нужный язык (например, Russian) и выберите конкретную раскладку (Russian (WinKeys) для привычного расположения знаков).
- Нажмите
Добавить.
После добавления раскладок их порядок можно изменить перетаскиванием мышью. Это важно, если вы используете комбинацию Super+Пробел для циклического переключения — первая раскладка в списке будет использоваться по умолчанию.
2. Назначение горячих клавиш для переключения языка
По умолчанию в Linux Mint 20 может не быть назначенной комбинации для смены раскладки. Чтобы это исправить, перейдите в Параметры системы → Клавиатура → Сочетания клавиш и найдите раздел Типизация.
Здесь вы увидите два ключевых пункта:
- 🔄 Переключить на следующий источник ввода — циклическая смена раскладок.
- 📌 Переключить на предыдущий источник ввода — возврат к предыдущей раскладке.
Чтобы назначить комбинацию:
- Выберите нужный пункт и кликните по нему.
- Нажмите желаемую комбинацию (например,
Left Alt+Shift). - Подтвердите изменения кнопкой
Назначить.
Если ваша комбинация не применяется, проверьте, не конфликтует ли она с другими сочетаниями (например, Ctrl+Shift часто используется для переключения между окнами в Cinnamon). В таком случае придётся переназначить одно из сочетаний.
Открыть Параметры системы → Клавиатура → Сочетания клавиш
Проверить раздел "Система" на наличие дублирующихся комбинаций
Убедиться, что выбранная комбинация не используется в приложениях (например, в браузере)
Перезагрузить сессию после изменений (выйти из учётной записи и войти заново)
-->
3. Решение проблем с индикатором раскладки
Частая жалоба пользователей — отсутствие индикатора текущей раскладки в панели задач. Без него сложно отслеживать, какой язык активен, особенно если вы используете похожие раскладки (например, английскую и немецкую).
Чтобы добавить индикатор:
- Кликните правой кнопкой по панели задач и выберите
Добавить апплеты. - В списке найдите Keyboard Layout (или Раскладка клавиатуры на русском).
- Нажмите
Добавить— индикатор появится на панели.
Если индикатор не отображает текущий язык или показывает неверную раскладку, попробуйте:
- 🔄 Перезапустить Cinnamon комбинацией
Ctrl+Alt+Esc. - 📋 Удалить и заново добавить апплет индикатора.
- 💻 Проверить настройки в
dconf Editor(об этом подробнее в следующем разделе).
Что делать, если индикатор показывает неверный флаг?
Иногда индикатор отображает флаг страны, не соответствующий раскладке (например, флаг США для русской раскладки). Это связано с тем, что в системе отсутствуют правильные иконки. Решение:
1. Установите пакет gnome-icon-theme через терминал:
sudo apt install gnome-icon-theme
2. Перезагрузите сессию.
3. Если проблема осталась, вручную скопируйте нужные флаги в папку /usr/share/cinnamon/applets/keyboard@cinnamon.org/flags (флаги можно найти в интернете в формате SVG или PNG).
Если индикатор пропадает после каждого обновления, это может быть связано с сбросом настроек апплета. В таком случае поможет фиксация конфигурации через dconf (см. раздел 5).
4. Альтернативные методы переключения раскладки
Если стандартные способы не устраивают, в Linux Mint 20 можно использовать альтернативные инструменты:
| Метод | Преимущества | Недостатки | Команда установки |
|---|---|---|---|
| GNOME Tweaks | Гибкая настройка горячих клавиш, поддержка нескольких раскладок | Требует дополнительной установки, может конфликтовать с Cinnamon | sudo apt install gnome-tweaks |
| fcitx | Поддержка азиатских языков, расширенные настройки ввода | Сложная конфигурация, может замедлять систему | sudo apt install fcitx fcitx-config-gtk |
| ibus | Встроен в многие дистрибутивы, стабильная работа | Ограниченные настройки для европейских языков | sudo apt install ibus |
| setxkbmap | Мгновенное переключение без графического интерфейса | Требует знания командной строки, не сохраняет настройки после перезагрузки | Уже установлен в системе |
Например, чтобы временно переключиться на русскую раскладку через терминал, используйте:
setxkbmap ru
А для возврата к английской:
setxkbmap us
Для постоянного применения этих настроек добавьте команду в автозагрузку (см. раздел 6).
alias ru='setxkbmap ru'
alias en='setxkbmap us'
После этого достаточно вводить ru или en для смены языка.
-->
5. Ручное редактирование настроек через dconf и gsettings
Если графический интерфейс не позволяет настроить раскладку так, как вам нужно, можно обратиться к системным утилитам dconf и gsettings. Эти инструменты позволяют менять скрытые параметры, недоступные через стандартные настройки.
Сначала установите dconf-editor, если он ещё не установлен:
sudo apt install dconf-editor
Затем откройте редактор и перейдите по пути:
org → cinnamon → desktop → keyboard
Здесь вас интересуют ключи:
- 🔑
layouts— список активных раскладок (например,['us', 'ru']). - 🔄
options— дополнительные опции, такие какgrp:alt_shift_toggleдля переключения поAlt+Shift. - 📌
switch-source— комбинация для смены источника ввода.
Чтобы применить изменения через терминал, используйте gsettings. Например, чтобы назначить переключение на Caps Lock:
gsettings set org.cinnamon.desktop.keyboard.options "['grp:caps_toggle']"
Или чтобы добавить третью раскладку (например, украинскую):
gsettings set org.cinnamon.desktop.keyboard.layouts "['us', 'ru', 'ua']"
-->
Если после редактирования раскладка перестала переключаться вовсе, сбросьте настройки к defaults:
dconf reset -f /org/cinnamon/desktop/keyboard/
6. Автоматическое переключение раскладки по языку окна
Полезная функция для тех, кто работает с документами на разных языках — автоматическое переключение раскладки в зависимости от языка активного окна. Например, при переключении на вкладку браузера с английским текстом система будет использовать EN, а при возврате к русскоязычному чату — RU.
Для этого:
- Установите утилиту
xxkb:
sudo apt install xxkb
- Запустите её из меню приложений или через терминал командой
xxkb. - В настройках включите опцию Switch layout according to window title.
- Добавьте правила для распознавания языков (например, если в заголовке окна есть «вконтакте», использовать русскую раскладку).
Альтернативный вариант — использовать скрипт на Python с библиотекой xlib, который будет отслеживать активное окно и менять раскладку. Пример скрипта:
Пример скрипта для автоматического переключения
#!/usr/bin/env python3
import subprocess
from Xlib import display, X
d = display.Display()
root = d.screen().root
def get_active_window():
window = root.get_input_focus().focus
return window.get_wm_name()
def switch_layout(lang):
subprocess.run(["setxkbmap", lang])
last_lang = "us"
while True:
window_title = get_active_window()
if window_title and "вконтакте" in window_title.lower():
if last_lang != "ru":
switch_layout("ru")
last_lang = "ru"
else:
if last_lang != "us":
switch_layout("us")
last_lang = "us"
Сохраните скрипт как auto_layout.py, сделайте исполняемым (chmod +x auto_layout.py) и добавьте в автозагрузку.
Автоматическое переключение удобно, но может конфликтовать с ручными настройками. Если раскладка начинает «прыгать» без вашего участия, отключите эту функцию или настройте более строгие правила.
7. Устранение распространённых проблем
Даже после правильной настройки раскладка может работать некорректно. Рассмотрим типичные проблемы и их решения:
⚠️ Внимание: Если после обновления системы перестала работать комбинацияAlt+Shift, проверьте, не сбросились ли настройки вdconf. Часто помогает повторное назначение сочетания через графический интерфейс.
Проблема 1: Раскладка переключается сама по себе.
- 🔍 Причина: Конфликт с другими горячими клавишами или сбои в Cinnamon.
- 🔧 Решение: Отключите все ненужные сочетания в
Параметры системы → Клавиатураили переустановите апплет индикатора.
Проблема 2: Не работает Caps Lock как переключатель.
- 🔍 Причина: В некоторых версиях Linux Mint эта функция отключена по умолчанию.
- 🔧 Решение: Используйте команду:
gsettings set org.cinnamon.desktop.keyboard.options "['grp:caps_toggle']"
Проблема 3: После перезагрузки сбрасываются настройки раскладки.
- 🔍 Причина: Не сохранены изменения в профиле пользователя или конфликт с менеджером сессий.
- 🔧 Решение: Проверьте права на файл
~/.config/dconf/userи убедитесь, что он не перезаписывается при старте системы.
Проблема 4: В некоторых приложениях (например, LibreOffice или GIMP) раскладка не меняется.
- 🔍 Причина: Приложение использует собственный менеджер ввода.
- 🔧 Решение: В настройках программы отключите внутреннюю обработку горячих клавиш или используйте
fcitx.
⚠️ Внимание: Если вы используете VirtualBox или другие виртуальные машины, горячие клавиши для переключения раскладки могут конфликтовать с сочетаниями хост-системы. В таком случае переназначьте комбинации в настройках виртуальной машины или используйтеRight AltвместоLeft Alt.
8. Оптимизация для игровых клавиатур и специальных устройств
Если вы используете игровую клавиатуру (например, Razer, Logitech или SteelSeries), стандартные настройки Linux Mint могут не работать корректно. Это связано с тем, что такие устройства часто эмулируют несколько клавиатур или используют собственные драйверы.
Решения для игровых клавиатур:
- 🎮 Отключите фирменное ПО (например, Razer Synapse или Logitech G HUB) — в Linux оно часто работает нестабильно.
- 🔌 Используйте открытые драйверы:
sudo apt install openrazer-meta # Для устройств Razersudo apt install solaar # Для Logitech
- ⚙️ Настройте раскладку через
xinput:xinput list # Найдите ID вашей клавиатурыxinput set-prop {ID} "libinput Send Events Modes Available" 1, 1
xinput set-prop {ID} "libinput Send Events Mode Enabled" 0, 1
Для клавиатур с механическими переключателями (например, Cherry MX) может помочь отключение функции NKRO (N-Key Rollover) в BIOS или через утилиту производителя.
Если ваша клавиатура имеет дополнительные мультимедийные клавиши, их сочетания могут конфликтовать с переключением раскладки. В таком случае переназначьте мультимедийные клавиши через xbindkeys:
sudo apt install xbindkeys xbindkeys-config
xbindkeys --defaults > ~/.xbindkeysrc
xbindkeys-config
FAQ: Частые вопросы по настройке раскладки в Linux Mint 20
Как вернуть стандартные настройки раскладки, если я всё сломала?
Выполните команду для сброса всех параметров клавиатуры:
dconf reset -f /org/cinnamon/desktop/keyboard/
После этого перезагрузите сессию (Ctrl+Alt+Backspace) или перезайдите в систему. Если проблема осталась, удалите файл конфигурации:
rm ~/.config/dconf/user
Он будет создан заново при следующем входе.
Можно ли назначить переключение раскладки на одну клавишу (например, Caps Lock)?
Да, но для этого потребуется ручное редактирование dconf. Выполните:
gsettings set org.cinnamon.desktop.keyboard.options "['grp:caps_toggle']"
Если это не сработает, попробуйте альтернативный метод через xmodmap:
echo "clear Lock
keycode 66 = ISO_Next_Group" > ~/.Xmodmap
xmodmap ~/.Xmodmap
Чтобы изменения применялись автоматически, добавьте последнюю команду в автозагрузку.
Почему в некоторых играх (например, в Steam) не работает переключение раскладки?
Это связано с тем, что многие игры (особенно через Proton) захватывают клавиатуру на низком уровне, игнорируя системные настройки. Решения:
- 🎮 Используйте внутренние настройки игры для смены языка (если поддерживается).
- 🔄 Назначьте переключение на редко используемую комбинацию (например,
Scroll Lock). - 📋 Отключите захват клавиатуры в настройках Steam (
Настройки → В игре).
Для игр на Wine может помочь запуск с параметром:
wine game.exe --no-x11-grab
Как добавить раскладку, которой нет в стандартном списке (например, колемак или dvork)?
Для нестандартных раскладок:
- Скачайте файл раскладки (обычно с расширением
.xkb) из официального источника. - Поместите его в папку
/usr/share/X11/xkb/symbols/(потребуются праваsudo). - Обновите правила XKB:
sudo dpkg-reconfigure xkb-data
- Добавьте раскладку через
Параметры системы → Язык и региональные стандарты.
Пример для раскладки Colemak:
sudo apt install xkb-data
wget https://colemak.com/pub/linux/colemak.xkb -O /tmp/colemak
sudo cp /tmp/colemak /usr/share/X11/xkb/symbols/colemak
Можно ли сделать так, чтобы раскладка автоматически переключалась при вставке текста на другом языке?
Да, для этого подойдёт утилита xsel или xclip в связке со скриптом. Пример:
#!/bin/bash
clipboard=$(xclip -o -selection clipboard)
if [[ "$clipboard" =~ "[а-яА-Я]" ]]; then
setxkbmap ru
else
setxkbmap us
fi
Сохраните скрипт как switch_on_paste.sh, сделайте исполняемым и назначьте на него горячую клавишу (например, Ctrl+V) через Параметры системы → Клавиатура → Сочетания клавиш → Пользовательские.