Вопрос или проблема
Я ищу способ переключать язык клавиатуры с помощью терминала.
Существуют обходные решения, такие как setxkbmap us
упомянуто здесь.
Но это обхождение, и оно не выполняет определенные функции (например, Ctrl+S перестает работать на клавиатурах не на английском языке, и иконка языка в правом верхнем углу GNOME не меняется. Вот почему setxkbmap
не является решением).
Уже добавленные раскладки:
Если вы уже добавили источники ввода через графический интерфейс.. получите список с помощью следующей команды
gsettings get org.gnome.desktop.input-sources sources
Пример:
pratap@pratap:~$ gsettings get org.gnome.desktop.input-sources sources
[('xkb', 'se'), ('xkb', 'us'), ('xkb', 'ru'), ('xkb', 'de')]
pratap@pratap:~$
Считайте с 0, 1, 2 и 3. Как только вы запомните нумерацию.. используйте следующую команду, чтобы изменить источники ввода (замените номер на ваш выбор)
gdbus call --session --dest org.gnome.Shell --object-path /org/gnome/Shell --method org.gnome.Shell.Eval "imports.ui.status.keyboard.getInputSourceManager().inputSources[2].activate()"
Пример:
pratap@pratap:~$ gdbus call --session --dest org.gnome.Shell --object-path /org/gnome/Shell --method org.gnome.Shell.Eval "imports.ui.status.keyboard.getInputSourceManager().inputSources[2].activate()"
(true, '')
pratap@pratap:~$
чтобы добавить новые раскладки:
Аналогично, вы можете добавить новые источники ввода с помощью команды gsettings set
, в указанном вами порядке и считайте с 0, 1, 2 и 3 и так далее..
и выполните команду gdbus
, чтобы переключаться между источниками ввода..
Список всех возможных языков:
gsettings get org.gnome.desktop.input-sources sources
Вывод:
[('xkb', 'se'), ('xkb', 'us'), ('xkb', 'ru'), ('xkb', 'de')]
Чтобы переключить язык на ‘se’ (0 – индекс языка, в данном случае возможные индексы 0-3):
gsettings set org.gnome.desktop.input-sources current 0
Ответ или решение
Переключение языков клавиатуры с помощью CLI в GNOME на Ubuntu 24.04
Введение
В данной статье будет рассмотрен способ переключения языков клавиатуры в GNOME на Ubuntu 24.04 при помощи командной строки (CLI), особенно в контексте использования среды Wayland. Также будут предоставлены команды для добавления и управления языковыми раскладками.
Просмотр доступных раскладок клавиатуры
Для начала нужно узнать, какие раскладки языков уже добавлены. Это можно сделать с помощью следующей команды:
gsettings get org.gnome.desktop.input-sources sources
Пример вывода:
[('xkb', 'se'), ('xkb', 'us'), ('xkb', 'ru'), ('xkb', 'de')]
Вывод показывает список текущих источников ввода, а раскладки могут быть обозначены по индексу, например:
- 0 – коммутатор на ‘se’ (шведский)
- 1 – коммутатор на ‘us’ (английский)
- 2 – коммутатор на ‘ru’ (русский)
- 3 – коммутатор на ‘de’ (немецкий)
Переключение раскладок клавиатуры
Для переключения на нужную раскладку клавиатуры используйте следующую команду, заменив N
на индекс нужного языка:
gdbus call --session --dest org.gnome.Shell --object-path /org/gnome/Shell --method org.gnome.Shell.Eval "imports.ui.status.keyboard.getInputSourceManager().inputSources[N].activate()"
Например, если вы хотите переключиться на русский (индекс 2), выполните:
gdbus call --session --dest org.gnome.Shell --object-path /org/gnome/Shell --method org.gnome.Shell.Eval "imports.ui.status.keyboard.getInputSourceManager().inputSources[2].activate()"
Команда должна вернуть true
, что подтвердит успешное переключение:
(true, '')
Добавление новых раскладок
Если вы хотите добавить новые раскладки, вы можете сделать это с помощью команды gsettings set
. Например, чтобы добавить раскладку fr
(французский), выполните:
gsettings set org.gnome.desktop.input-sources sources "[('xkb', 'se'), ('xkb', 'us'), ('xkb', 'ru'), ('xkb', 'de'), ('xkb', 'fr')]"
После добавления новой раскладки, не забудьте обновить порядок индексации и использовать команду gdbus
для активации раскладки по желаемому индексу.
Заключение
В данной инструкции описана последовательность действий для переключения раскладок клавиатуры через терминал в GNOME на Ubuntu 24.04. Этот подход удобен для пользователей, которые предпочитают работать с клавиатурой и терминалом. Переключение через CLI обеспечивает гибкость и возможность быстрого редактирования раскладок.
Если вы столкнулись с проблемами или у вас есть вопросы, не стесняйтесь обращаться за помощью в специализированные форумы или сообщества Ubuntu.