Команда переключения языка linux

Команда переключения языка linux

Переключение через setxkbmap

Вариант команды переключения на язык RU:

  • после ее выполнения останется только одна раскладка (ru)
  • слетит привязка к горячим клавишам, по которым переключатеся раскладка
  • индикатор раскладки клавиатуры не будет оповещен о том, что раскладка переключилась

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

setxkbmap -layout ‘us,ru’ -option ‘grp:ctrl_shift_toggle’

setxkbmap -layout ‘ru,us’ -option ‘grp:ctrl_shift_toggle’

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

Тогда пробуют добавить в эти команды принудительное начальное переключение на английскую раскладку:

setxkbmap -layout ‘us’ && setxkbmap -layout ‘ru,us’ -option ‘grp:ctrl_shift_toggle’

setxkbmap -layout ‘us’ && setxkbmap -layout ‘us,ru’ -option ‘grp:ctrl_shift_toggle’

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

Переключение через setxkbmap + xdotool

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

1. Вешаем переключение раскладок на какую-то левую клавишу, например правый win:

setxkbmap -layout ‘us,ua,ru’ -option ‘grp:rwin_toggle’

2. Переключение срабатывает командами:

xdotool key ISO_Next_Group

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

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

Переключение через xkb-switch

Ранее существовала программа xkb-switch. Она делала ровно то что нужно: просто переключала раскладку клавиатуры. К сожалению, начиная с какого-то момента (примерно с появлением Debian 8) данная программа перестала включаться в дистрибутивы Debian, Ubuntu и им подобные.

Usage: xkb-switch -s ARG Sets current layout group to ARG

xkb-switch -l|—list Displays all layout groups

xkb-switch -h|—help Displays this message

xkb-switch -v|—version Shows version number

xkb-switch -w|—wait [-p] Waits for group change and exits

xkb-switch -W Infinitely waits for group change

xkb-switch -n|—next Switch to the next layout group

xkb-switch [-p] Displays current layout group

  • Быстро работает, при вызове этой программы нет задержки, в отличие от переключения setxkbmap.
  • Правильно переключает индикатор раскладки в области значков на панели задач. Индикатор не исчезает, не зависает и не перестает работать, как это происходит при setxkbmap.
  • Не отключает переключение раскладки клавиатуры на экране блокировки, предотвращая ввод правильного пароля, если перед блокировкой была выбрана неправильная раскладка (в отличии от того как делает это setxkbmap.
  • Не изменяет основные комбинации клавиш, такие как Ctrl-C, Ctrl-V. Все сочетания работают с одними и теми же клавишами, причем в разных раскладках.
  • Поддерживает механику компоновки Cinnamon, такую ​​как настройка использования одинакового языка для всех окон или же отдельного языка для каждого окна.
Читайте также:  Mark mitchell jeffrey oldham and alex samuel advanced linux programming

Возможно, для правильной работы xkb-switch потребуется настроенная переменная DISPLAY.

Еще есть информация о том, что xkb-switch примерно с 2017 года перестал работать в Unity и в Gnome 3. В этом случае можно использовать следующую команду:

qdbus org.gnome.SettingsDaemon.Keyboard /org/gnome/SettingsDaemon/Keyboard org.gnome.SettingsDaemon.Keyboard.SetInputSource 0

Взять исходники этой программы можно на GitHUb: https://github.com/grwlf/xkb-switch . Программа небольшая и должна легко собираться в любом Linux с X11 и установленнымии средствами разработки.

  • Перекодировка текста в Linux. Синтаксис программы iconv
  • Как в Linux перекодировать теги mp3 в UTF8
  • Утилита для перекодирования тегов в MP3 файлах tag2utf
  • Как из системы с кодировкой KOI8-R присоединиться через SSH к системе с UTF-8 в Ubuntu
  • Скрипт, который автоматически определяет кодировку файла и открывает редактор с перекодированным файлом
  • Переключение раскладки клавиатуры через консольную команду в Linux

Источник

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

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

Каждый пользователь, обладающий дистрибутивом Ubuntu, сталкивается с необходимостью переключения раскладки клавиатуры. В большинстве случаев это связано с тем, что обычный ввод осуществляется кириллицей, а терминальные команды полностью состоят из латинских символов. Однако иногда перед юзером появляются и более сложные задачи, например, добавление нового языка ввода с целью сделать так, чтобы переключение функционировало корректно. В рамках сегодняшнего материала мы как раз и хотим поговорить об этой теме, максимально детально расписав произведение поставленной цели в пошаговом представлении.

Переключаем раскладку в Ubuntu

Изначально в Убунту переключение раскладки происходит путем нажатия комбинации Super + Пробел. Клавиша Super представлена на клавиатуре в виде Windows (Пуск). Не все пользователи желают привыкать именно к такой комбинации, поскольку чаще всего это даже невозможно сделать из-за того, что она вовсе не удобна. Тогда юзер заходит в настройки и видит, что нет параметров, отвечающих за изменение горячей клавиши на Ctrl + Shift или Alt + Shift. Это способствует появлению еще одного вопроса. Далее мы постараемся разобраться со всеми поставленными задачами, а начнем с добавления нового языка ввода.

Читайте также:  Файловый сервер linux настройка

Шаг 1: Добавление нового языка ввода

Еще на стадии инсталляции Ubuntu пользователю предлагается добавить неограниченное количество языков ввода, которые он будет задействовать при смене раскладки. Однако некоторые юзеры пропускают этот шаг или забывают включить какой-либо язык. Тогда придется обращаться к «Параметрам» операционной системы, что выглядит следующим образом:

Переход к параметрам для добавления нового источника ввода в Ubuntu

    Откройте главное меню приложений и выберите там значок «Параметры».

  • Воспользуйтесь левой панелью, чтобы переместиться в раздел «Регион и язык». Переход к настройкам языков для добавления источника ввода Ubuntu
  • Здесь вас интересует пункт «Источники ввода». Кликните по значку в виде плюса, чтобы добавить новый язык. Кнопка для добавления нового источника ввода в Ubuntu
  • Выберите один из вариантов в таблице, а затем щелкните на «Добавить». Выбор нового источника ввода из таблицы для добавления в Ubuntu
  • Теперь вы можете выбрать раскладку и просмотреть параметры. Переход к параметрам источника ввода в Ubuntu
  • Доступно использование одного источника для всех окон или автоматическое сохранение каждого для отдельных приложений, что позволит лишний раз не зажимать горячую клавишу. Настройка параметров источника ввода в Ubuntu
  • Если при поиске раскладки в таблице вы не нашли необходимый результат, придется включить отображение дополнительных языков через консоль. Для этого откройте меню приложений и запустите «Терминал». Запуск терминала для настройки списка доступных источников ввода Ubuntu
  • Введите в нем команду gsettings set org.gnome.desktop.input-sources show-all-sources true , а затем нажмите на Enter для подтверждения. Команда для включения дополнительного списка источников ввода в Ubuntu
  • Появившаяся новая строка для ввода свидетельствует о том, что настройка прошла успешно. Можете вернуться к таблице и выбрать нужный источник ввода. Успешное включение дополнительного списка источников ввода Ubuntu
  • Перемещайте пункты в списке с помощью специально отведенных стрелок, чтобы настроить их расположение при переключении раскладки. Перемещение раскладок по списку для порядка переключения в Ubuntu
  • Точно таким же образом вы можете добавлять неограниченное количество источников ввода, чтобы в будущем переключаться между ними с помощью горячих клавиш или специальных кнопок. Именно об этом и пойдет речь далее.

    Шаг 2: Настройка комбинации для переключения раскладки

    Как уже было сказано в начале данной статьи, далеко не всех устраивает стандартный метод переключения раскладки в Ubuntu, поэтому возникает потребность изменения этой настройки. Сегодня мы хотим представить два доступных варианта осуществления этой цели. Первый будет сосредоточен на изменении стандартных комбинаций, а второй позволит использовать Ctrl + Shift или Alt + Shift.

    Вариант 1: Настройка через «Параметры»

    В предыдущем шаге мы уже затрагивали тему взаимодействия с меню «Параметрами». Сейчас снова вернемся к нему, чтобы просмотреть конфигурацию клавиатуры и изменить ее некоторые параметры в пользу удобства комбинаций для переключения раскладки.

    1. Через левую панель перейдите в раздел «Устройства». Переход к настройкам устройств через Параметры в Ubuntu
    2. Здесь переключитесь в раздел «Клавиатура». Переход к настройке клавиатуры в стандартных параметрах Ubuntu
    3. В категории «Ввод» обратите внимание на два присутствующих параметра. Именно они отвечают за переключение между источниками ввода. Просмотр текущей комбинации для изменения раскладки в Ubuntu
    4. Если вы дважды кликнете по одной из строк, откроется форма ввода. Зажмите новое сочетание, чтобы задать изменения. Изменение стандартной комбинации для раскладки в Ubuntu
    Читайте также:  Linux как проверить версию пакета

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

    Вариант 2: Утилита Gnome Tweaks

    Дополнительная утилита Gnome Tweaks для Ubuntu пользуется огромной популярностью, поскольку добавляет в ОС множество самых разнообразных полезных функций. Мы советуем ее задействовать в тех случаях, когда необходимо гибко настроить комбинацию для переключения раскладки клавиатуры. Начать следует с инсталляции утилиты.

    1. Откройте меню и запустите «Терминал». Запуск терминала для установки средства управлением клавиатурой Ubuntu
    2. Используйте команду sudo apt install gnome-tweaks для запуска инсталляции. Команда для установки средства управления клавиатурой в Ubuntu
    3. Обязательно нужно подтвердить права суперпользователя, введя пароль в новой строке при запросе. Символы, вводимые таким образом, не отображаются на экране. Учитывайте это при написании. Ввод пароля для подтверждения установки средства управления клавиатурой Ubuntu
    4. Вам также потребуется подтвердить скачивание архивов, а по завершении активируйте команду gnome-tweaks для запуска утилиты. Запуск средства управления клавиатурой в Ubuntu
    5. В ней перейдите в раздел «Клавиатура и мышь». Переход к настройкам клавиатуры через стороннюю утилиту Ubuntu
    6. Среди настроек клавиатуры найдите кнопку «Дополнительные параметры раскладки». Переход к изменению комбинаций клавиатуры через стороннюю утилиту в Ubuntu
    7. Разверните список «Переключение на другую раскладку». Список доступных комбинаций для переключения раскладки в Ubuntu
    8. Отметьте галочкой интересующую вас комбинацию, чтобы все изменения сразу же вступили в силу. Установка кастомной комбинации для переключения раскладки клавиатуры в Ubuntu

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

    Шаг 3: Переключение раскладки

    Все предыдущие этапы были сосредоточены на подготовительных работах, которые делают процесс переключения раскладки максимально комфортным. Сейчас давайте вкратце рассмотрим способы, которые позволяют изменять источник ввода.

    1. Весь этот материал мы говорили о комбинациях, следовательно, это самый удобный метод изменения раскладки. Используйте стандартное или вручную установленное сочетание, чтобы в любой момент быстро переключить язык ввода.
    2. На верхней или нижней панели рабочего стола вы будете видеть текущий язык. Значок сразу же поменяется после изменения раскладки. Изменение значка при переключении раскладки клавиатуры в Ubuntu
    3. Вы можете нажать на этот значок, чтобы с помощью мыши переключить источник ввода, отметив галочкой соответствующий пункт. Переключение раскладки клавитары через кнопки мыши в Ubuntu
    4. Это функционирует точно так же в том моменте, когда авторизация в системе еще не выполнена. Изменение раскладки клавиатуры при входе в систему Ubuntu

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

    Источник

    Оцените статью
    Adblock
    detector