Настройка клавиш для переключения языка в Linux (+ что делать, если нет значка языка Ru/En на панели задач). Авто-смена раскладки при наборе текста
Доброго дня!
Многие начинающие пользователи при знакомстве с определенными дистрибутивами Linux сталкиваются с проблемой переключения раскладки (с русского на английский, и наоборот). Причем, иногда в трее (на панели задач) даже нет такого значка!
Собственно, сегодня в этой небольшой заметке решил показать, как это можно достаточно легко исправить (причем, попутно мы сможем «включить» авто-смену раскладки: т.е. система будет определять сама, на каком языке вы сейчас печатаете. В некоторых случаях — это очень удобно!).
Теперь о том, что и как настроить.

Пример (о чем идет речь) // дистрибутив Xubuntu

Решение вопросов с раскладкой
ШАГ 1: параметры системы
Важно: этот шаг (в принципе) можно пропустить. Но привожу его я из-за того, что в некоторых случаях вопрос можно решить через параметры системы (без доп. приложений).
Первое, что очень желательно сделать — открыть параметры системы / настройки клавиатуры ( по англ. : Settings / Keyboard). В зависимости от используемого дистрибутива Linux — нужная вкладка может находиться несколько в отличных разделах. 👇

Открываем настройки клавиатуры / дистрибутив Xubuntu
После нужно перейти во вкладку «раскладка» (англ.: «layout») и проверить, чтобы у вас в системе было как минимум 2 раскладки (английская и русская / кому нужно — могут добавить и больше). Обычно, в этом же разделе настроек можно сменить клавиши для переключения языка (по англ.: «Change layout option» 👇).
Примечание: в ряде дистрибутивов Linux по умолчанию ставится только 1 раскладка. И, разумеется, пока их не будет хотя бы 2 — сменить клавиши для ее переключения нельзя! Ну и на панели задач никаких языковых значков не отображается. В общем-то логично.

Добавляем нужные языки и устанавливаем клавиши для переключения языка
Есть еще один момент.
Необходимо открыть настройки панели задач (по англ.: «Panel»). Обычно данная вкладка находится среди прочих параметров системы.
В настройках панели необходимо добавить новый значок (по англ.: «Add new item») — среди списка найти нужно что-то похожее на «Keyboard layouts». 👇
Собственно, теперь языковой значок (с флажком) будет отображаться в трее, кнопки для переключения раскладки настроены. Задача решена. 👌

Добавляем на панель текущую раскладку
ШАГ 2: установка доп. приложения X Neural Switcher
Если в шаге 1 (выше) у вас возникли вопросы, и вы не смогли через параметры системы настроить раскладку, ее переключение, и значок на панели задач — вопрос можно решить иначе. Для этого нам понадобиться приложение xneur .
X Neural Switcher (xneur) — архи-полезное приложение (в Linux) для автоматического переключения раскладки клавиатуры (те. при вашей печати — оно само будет определять язык. Аналог Punto Switcher для Windows).
Кроме этого, приложение создаст значок с флажком выбранного языка на панели задач, позволит вручную задать сотни комбинаций клавиш (в т.ч. и для смены раскладки), исправлять ошибки и опечатки при наборе текста, и многое другое. 👌
Для его установки, как правило, достаточно открыть магазин приложений (менеджер ПО) и ввести в поисковую строку «xneur». Пример ниже. 👇

Либо установить можно также через терминал (вызов по Win+T или по Ctrl+Alt+T), команда:

На всякий stable-версия (если предыдущая команда не установила приложение):
sudo add-apt-repository ppa:andrew-crew-kuznetsov/xneur-stable
sudo apt-get update
sudo apt-get install gxneur
ШАГ 3: настройка X Neural Switcher
Т.к. приложение X Neural Switcher поддерживает русский язык на 100% и по умолчанию вполне корректно работает (и выводит значок с текущей выбранной раскладкой на панель задач) — то скорее всего, никаким специальном образом настраивать его не придется.
Однако, я бы всё же порекомендовал, во-первых, во вкладке «Общее / основное и типографика» настроить базовые правила. Например, весьма удобно откл. случайные нажатия на CapsLock, разрешить исправление грубых опечаток и пр.

Во-вторых, также посоветовал бы в разделе «Комбинации клавиш» задать свои клавиши для переключения раскладки. Мне, например, удобно работать с Alt+Shift. 👇

Переключение раскладки — комбинация клавиш
В-третьих, хорошо бы приложению X Neural Switcher разрешить запускаться вместе с Linux (чтобы не открывать его каждый раз вручную самостоятельно). Обычно, для этого достаточно просто поставить соответствующий флажок в параметрах запуска.
Также на всякий случай приведу ссылку на альтернативные способы добавления приложения в автозагрузку. 👇
👉 В помощь!
Добавление приложения в автозагрузку Linux (как запускать программу автоматически при старте ОС Linux)

Запускать автоматически при старте
Собственно, на этом вроде как и всё — первоначальная задача решена полностью! 😉
Записки IT специалиста
Настройка языка и региональных стандартов в Ubuntu Server/Debian
- Автор: Уваров А.С.
- 21.12.2014
В наших материалах тема региональных настроек Linux-систем ранее почти не поднималась. Подразумевалось, что система устанавливается читателями самостоятельно и все эти вопросы уже решены на стадии установки. Но бывают ситуации, когда нужно работать с уже готовой системой, например, VPS у зарубежного провайдера или в облачных системах типа Amazon или Azure. В этом случае появляется необходимость настроить систему для использования родного языка и привычных региональных настроек.
Научиться настраивать MikroTik с нуля или систематизировать уже имеющиеся знания можно на углубленном курсе по администрированию MikroTik. Автор курса, сертифицированный тренер MikroTik Дмитрий Скоромнов, лично проверяет лабораторные работы и контролирует прогресс каждого своего студента. В три раза больше информации, чем в вендорской программе MTCNA, более 20 часов практики и доступ навсегда.
Начнем мы с одного распространенного заблуждения: очень часто под локализацией системы подразумевают только изменение языка интерфейса системы, забывая об остальных настройках. В тоже время локализация системы — это не столько язык интерфейса, вы можете оставить его английским или любым иным, по вашему пожеланию, а способность системы полноценно работать с документами и системами, использующими ваш родной язык.
Это, в первую очередь, поддержка символов национального алфавита, кодовых страниц и раскладок клавиатуры, форматов чисел, а также настроек даты и времени. Если данные настройки не выполнить или выполнить неправильно, то имена файлов и содержимое документов с использованием символов отличных от стандартного латинского алфавита могут быть искажены или испорчены. Также масса проблем может возникнуть в дальнейшем, например, при переходе на локализованную систему, когда имена уже существующих файлов или ссылок на них могут оказаться неверными или вовсе недействительными.
Ниже на рисунке прекрасный пример того, что бывает, если на нелокализованный сервер скриптом были залиты файлы с именами, содержащими национальные символы, в данном случае кириллицу.
![]()
При этом сам скрипт, в данном случае CMS, функционирует нормально и при скачивании с сайта файлы имеют нормальные имена на кириллице, но с ними практически невозможно работать на сервере, так как непонятно, что это за файлы (вместо имен кубики), и нет возможности скачать их на Windows-систему. Переименовать файлы также нет возможности, так как сразу получим массу битых ссылок по всему сайту.
Поэтому, самым правильным решением будет сразу же настроить сервер на работу с нужной локализацией и снять целый пласт потенциальных проблем, тем более, что сделать это несложно.
Debian
Для правильного отображения символов национальных алфавитов в определенной кодировке в Linux-системах предназначены локали (locales), узнать какие локали уже установлены в системе можно командой:
Обычно установлена и используется английская локаль en_US.utf8, однако, если вы, например, приобрели VPS в Германии, может присутствовать только национальная локаль, в этом случае, кроме русской, также рекомендуется установить английскую локаль.

Для генерации и настройки локалей используйте команду:
Откроется псевдографическая утилита, которая предложит выбрать используемые локали, добавляем ru_RU.utf8
![]()
Затем укажите используемую по умолчанию локаль, тем самым установив язык системы:
![]()
Большинство «инструкций» в интернете на этом заканчиваются, но установить локаль недостаточно, нужно еще настроить консоль, т.е. ту среду ввода-вывода с которой вы взаимодействуете. Иначе вы увидите примерно такую картину:
![]()
Для настройки консоли запустите следующую утилиту:
Прежде всего зададим кодировку консоли, в современном Linux это UTF-8.

Затем используемые наборы символов, нам нужен комбинированный набор Latin; Slavic Cyrillic; Greek.
![]()
И используемый шрифт, здесь посоветовать что-то однозначно нельзя и следует исходить из личных предпочтений, в любом случае выбор можно всегда изменить, запустив утилиту повторно.
![]()
Ниже, чтобы облегчить вам выбор, представлены образцы шрифтов:
![]()
Остальные настройки, вроде размера шрифта и т.п. не представляют сложности и могут быть оставлены по умолчанию или выставлены в соответствии с собственными предпочтениями. Теперь можно выйти из системы и войти повторно или перезагрузить ее. После этого основным языком системы будет русский и символы кириллицы будут отображаться корректно.
Следующим шагом следует настроить клавиатуру:
Выбираем тип клавиатуры, по умолчанию это 105-клавишная международная, менять эту настройку без особой необходимости не следует.
![]()
Так как система изначально была установлена с локалью en_US, то нам предлагаются американские раскладки, выбираем Другая.
![]()
Дальше проще: Страна — Русская и Раскладка — Русская.
![]()
Затем выбираем сочетание клавиш для переключения раскладок и отвечаем еще на ряд вопросов, отвечать на который можете по своему усмотрению. Советуем не спешить, там есть интересные возможности, например, клавиша временного переключения между раскладками:
![]()
Остался последний штрих — настройки даты и времени:
И устанавливаем текущий часовой пояс, после чего система автоматически переведет часы.
![]()
Более подробно о соответствии пунктов tzdata и актуальных часовых поясов РФ можно прочитать в нашей статье: Перевод часов в РФ 26 октября 2014 года — проблемы и решения.
Ubuntu Server
В Ubuntu Server команда dpkg-reconfigure locales не имеет псевдографического интерфейса и при запуске настраивает уже сгенерированные локали. Поэтому придется нужные настройки выполнить вручную, прежде всего сгенерируем русскую локаль (здесь и далее обращаем внимание на регистр команд):
Затем зададим локаль по умолчанию:
После чего выполним их настройку:

Следующим шагом будет настройка консоли:
Здесь все настройки аналогичны Debian, выбираем кодировку, набор символов и настраиваем шрифты.
Теперь можно выйти и повторно войти в систему (или перезагрузиться), чтобы продолжить дальнейшую настройку на русском языке. Для полноценной локализации потребуется настроить клавиатуру:
Мы не будем подробно останавливаться на настройках, так как работа этой утилиты подробно описана выше, в разделе о Debian.
![]()
Временные зоны также настраиваются аналогично командой:
Как видим, локализация системы не представляет абсолютно никакой сложности и выполняется в считанные минуты, позволяя снять целый ряд потенциальных проблем, решить которые впоследствии будет гораздо труднее.
Научиться настраивать MikroTik с нуля или систематизировать уже имеющиеся знания можно на углубленном курсе по администрированию MikroTik. Автор курса, сертифицированный тренер MikroTik Дмитрий Скоромнов, лично проверяет лабораторные работы и контролирует прогресс каждого своего студента. В три раза больше информации, чем в вендорской программе MTCNA, более 20 часов практики и доступ навсегда.
Дополнительные материалы:
Помогла статья? Поддержи автора и новые статьи будут выходить чаще:
![]()
Или подпишись на наш Телеграм-канал: ![]()
Как изменить раскладку клавиатуры на рабочем столе Debian
Клавиатура в операционной системе Linux имеет множество раскладок для разных языков. Даже для одного языка существует несколько раскладок. При использовании наших систем многим из нас нравится использовать свой родной язык в качестве основного языка ввода. Операционная система Linux позволяет нам добавлять любой язык в качестве основного языка ввода и устанавливать его в качестве языка по умолчанию. Это позволяет нам добавлять несколько раскладок клавиатуры и переключаться между ними в любое время.
В этой статье мы объясним, как вы можете изменить раскладку клавиатуры в вашей системе Debian, чтобы она соответствовала желаемому языку ввода.
Мы использовали ОС Debian 10 для выполнения команд и процедур, упомянутых в этой статье.
Добавить язык раскладки клавиатуры как входной ресурс
Мы можем изменить раскладку клавиатуры из утилиты настроек Linux. Утилиту настроек можно открыть следующим способом:
Щелкните стрелку вниз в правом верхнем углу рабочего стола Debian. В появившемся меню щелкните значок Параметры системы, как показано на следующем снимке экрана.
Кроме того, вы можете открыть утилиту настроек, выполнив поиск в меню приложения.
Когда откроется окно настроек, перейдите на вкладку Регион и язык . Затем на соответствующей правой панели нажмите кнопку + под Источники ввода .
Затем в диалоговом окне Добавить источник ввода выберите язык, который вы хотите добавить в качестве источника ввода, и нажмите кнопку Добавить .
Теперь выбранный вами язык будет отображаться под Источниками ввода как новая раскладка клавиатуры.
Под списком Источники ввода вы увидите стрелки вверх и вниз. Используя эти стрелки, вы можете установить любой язык в качестве раскладки по умолчанию. Та, что находится вверху списка, будет использоваться в качестве основной раскладки клавиатуры по умолчанию.
Переключение между раскладками клавиатуры
После добавления раскладки клавиатуры вы увидите значок выбора клавиатуры в правом верхнем углу рабочего стола. Если щелкнуть стрелку вниз перед ним, появится раскрывающееся меню, позволяющее выбрать раскладку клавиатуры.
Альтернативный и самый быстрый способ переключения между раскладками клавиатуры — использование сочетания клавиш: Супер клавиша + клавиша пробела . Это сочетание клавиш по умолчанию для переключения между раскладками клавиатуры. Однако вы также можете изменить этот ярлык в настройках клавиатуры.
Из этой статьи вы узнали, как изменить раскладку клавиатуры в ОС Debian. Теперь вы можете выбрать и установить предпочтительный язык ввода для раскладки клавиатуры по умолчанию.
Linux. Настройка клавиатуры
Можно пользоваться и стандартными настройками, но иногда внесенные изменения дают возможность набирать быстрее (это, конечно, не слепая печать, но все же), совершать меньше ошибок, меньше переключать раскладку.
Почему я захотел изменить свою клавиатуру?
Во-первых, когда я начал использовать vim как основной редактор, я понял, что не хочу каждый раз тянуться к ESC . Кроме того, я писал в основном на питоне, поэтому ; нажимал сильно реже, чем : , а в vim разница стала более явной.
Во-вторых, через некоторое время я стал пользоваться вимовскими комбинациями для навигации в браузере, дальше — тайловый оконный менеджер i3 , где они тоже использовались, и хотелось перейти на них везде (вместо обычных стрелок, например, в файловом менеджере).
В-третьих, когда начал писать конспекты на TeX в vim , я понял, что могу реально упростить и ускорить этот процесс; если английская и русская раскладки будут больше похожи друг на друга, то я смогу вводить одинаковые символы (например, точку, запятую, кавычки, доллар) одинаково. Плюс приходится часто менять язык, поэтому надо это делать быстро, надежно и удобно.
Настройка переключения раскладки
Что же, начнем. Сначала разберемся, как можно настроить смену раскладки клавиатуры.
Первый способ. Можно воспользоваться какой-нибудь программой, например, gnome-tweaks :
здесь мы можем выбрать один из вариантов, предлагаемых нам разработчиками.
Главное — мы не можем создать свой вариант. Давайте научимся делать и это.
Второй способ.
Посмотрим, как то же самое можно сделать руками, и чего еще можно добиться.
Давайте поставим переключение на правый Alt (он же AltGr ):
Но где можно узнать, какие еще есть варианты, и как создать свои? Все файлы лежат /usr/share/X11/xkb/symbols/ . И наши переключения находятся в /usr/share/X11/xkb/symbols/group . Вот так выглядит выбранный вариант:
Там же можно найти множество других вариантов, в том числе ациклические, которые позволяют быть уверенным, какой язык будет после переключения, вместо того, чтобы каждый раз проверять раскладку или смотреть на индикатор.
Ациклическое переключение раскладок
Изменим циклическое переключение по AltGr на ациклическое: AltGr переключает на латинскую раскладку, Shift+AltGr — на русскую.
Перед тем как что-то менять, посмотрим на текущие настройки:
Должны получить что-такое ( pc105 может отличаться в зависимости от количества клавиш на вашей клавиатуре):
Теперь запишем это в конфигурационный файл
В файле /usr/share/X11/xkb/symbols/group можно найти аналогичный вариант с CapsLock , откуда можно понять, что на us будет переключать ISO_First_Group , а на ru — ISO_Second_Group .
Вот такая строчка
говорит, что клавиша <CAPS> при обычном нажатии вызывает ISO_First_Group , а вместе с Shift — ISO_Last_Group .
Изменим в только что созданном файле xkb_symbols :
Проверим, что у нас получилось. Загружаем конфиг:
Теперь язык должен переключаться по заданным комбинациям.
Замечание
Это очень удобно, когда набираешь текст, используя сразу две раскладки (например, TeX ), потому что, переключение происходит часто и гораздо проще каждый раз когда начинаешь писать русский текст нажимать нужные клавиши, чем проверять, какой язык стоит сейчас, и переключать, если нужно. Просто меньше тратишь умственных сил, меньше совершаешь ошибок.
Еще один плюс ациклического переключения — можно больше не использовать никаких индикаторов.
Изменение клавиш
Двоеточие и точка с запятой
Поменяем местами двоеточие и точку с запятой. Как задать значение мы уже знаем, осталось понять как называются символы. Это можно посмотреть в тех же файлах /usr/share/X11/xkb/symbols/ . Выберем файл us и найдем нужную клавишу:
Осталось записать в наш конфигурационный файл в обратном порядке.
ESC и CapsLock
Поменяем ESC и CapsLock . В той же директории в файле capslock можно найти:
partical — специальные куски, которые мы можем включать в другие раскладки.
Теперь либо пишем include «swapescape» , либо просто копируем код.
Alt и Win
Еще аналогично можно поменять, например, левый Alt и Win , что особенно удобно в i3wm , если поставить главный модификатор на Win , то он будет ближе к остальной клавиатуре, и плюс мы не ограничим себя в использовании Alt в комбинациях различный программ (браузер, файловый менеджер. ).
Модификаторы
Для чего вообще они нужны? Можно задать комбинации, которые будут позволять нам быстрее и удобнее набирать какие-то символы или вызывать какое-то действие, помещая поверх других, то есть эти комбинации не будут пересекаться с уже созданными или с комбинациями заданными системой.
Существует два дополнительных уровня: level3 , level5 . И еще комбинации с Shift .
Сделаем так, чтобы клавиша CapsLock в комбинации с h, j, k, l давала эффект стрелки. Тогда не нужно будет каждый раз тянуться ним.
Назначим модификатор (мы уже решили поставить туда ESC , но можно сделать и то и другое: об этом далее):
Если мы хотим назначить для разных раскладок разное значение, то сначала нужно их определить:
Теперь нужно настроить клавиши h, j, k, l. Сначала узнаем их имя — тоже можно посмотреть файл раскладки, это несложно. Их зовут <AC06> ,… <AC09> . Какие команды вызывают стрелки можно узнать совершенно аналогично. Дальше пропишем поведение в комбинации с модификатором:
При нормальном нажатии будет обычная буква, при нажатии с шифтом — заглавная, с модификатором третьего уровня — стрелки.
Назначение модификатора как второе значение клавиши
Кроме стрелок можно назначить на третий слой символы или другие операции.
Давайте сделаем, чтобы кроме функции модификатора клавиша CapsLock выполняла и предназначенную ей миссию ранее — была ESC .
Для этого нам понадобится xcape , которая позволяет назначить на на клавишу значение, которое она будет иметь, если нажать ее не в комбинации. Еще есть полезная функция: можно настроить время, после истечения которого ее эффект отменяется.
Как я уже обещал, мы сделаем так, чтобы при однократном нажатии клавиши CapsLock вызывался ESC , а в комбинациях выступала в роли модификатора третьего уровня.
Для этого нужно выполнить
Я использую интервал 500 миллисекунд. Для нашей цели:
Дальнейшие изменения
Когда я пишу в TeX , я использую достаточно много одинаковых символов, но в разных раскладках. Поэтому появилась идея сделать их максимально похожими. В раскладках по умолчанию сильно отличаются положения точки, запятой, кавычек, квадратных и фигурных скобок, вопросительных знаков, различных слэшей.
Здесь было две идеи:
Поставим редко используемые русские буквы на крайних правых клавишах на третий слой других букв.
Схема была такая:
| Клавиша | Третий слой |
|---|---|
| у | ю |
| в | б |
| ь | ъ |
| з | ж |
| щ | х |
Для достижения такого эффекта добавляем в конфиг (здесь для у/ю, для остальных аналогично, названия букв русского алфавита можно посмотреть, где и все остальное):
А на освобожденные клавиши просто назначаем такие же символы, как во второй раскладке.
Этот вариант оказался для меня неудобным и скорее снизил скорость, так как приходилось вспоминать и искать нужные буквы (хоть я выбирал специально созвучные), кроме этого я понял, что не так уж и редко они используются. А заглавные вообще тяжело набирать было.
Этот вариант я использую и сейчас: давайте оставим русские буквы на своих местах, а на третий слой на них назначим те символы, которые стоят на них на английской раскладке.
Тогда мы сможем нажимать одинаковые клавиши, но с модификатором (причем, если мы не назначим что-то другое поверх символов а английской раскладке, то ничего не случиться, если мы будем нажимать модификатор и в ней тоже).
Получаем такую схему:
Еще можем поставить в русской раскладке слэш и вопросительный знак туда, где они стоят в английской.
Плюс к этому добавляется возможность сделать одинаковыми и символы на цифрах, так как и кавычки, и двоеточие, и точка с запятой будет на других клавишах.
И главное, что это реально упростило процесс набора текста.
Замечание
Аналогично можно добавлять пятый слой, хотя пока лично я не испытываю никакой нужды — вполне хватает третьего.
Интересный вариант BackSpace напоследок
А может хватит тянуться далеко-далеко в дальний угол клавиатуры?
Поставим-ка BackSpace на $mod3+Space ( $mod3 наш модификатор третьего уровня)!
Все настройки в принципе применимы для любых Linux дистрибутивов, использующих X.
Полные конфиги можно найти на GitHub.
Этот пост стал для меня отправной точкой к пониманию того, как можно и нужно настроить клавиатуру.