Я ищу способ изменить язык клавиатуры с помощью терминала.
Уже есть некоторые обходные пути, такие как setxkbmap us
, упомянутые здесь .
Но это обходной путь, и он не делает определенные вещи (например, Ctrl kbd> + S kbd> перестает работать на неанглийских клавиатурах, а значок языка в правый верхний угол гнома не меняется, поэтому setxkbmap
не является решением).
Уже добавленные разметки:
, Если Вы уже добавили входные источники через GUI.. получите список с ниже Примера команды
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