Ubuntu 18.04: как изменить раскладку клавиатуры из сценария?

В Ubuntu 16.04 работала следующая вещь:

/usr/bin/gsettings set org.gnome.desktop.input-sources current 0

Но после обновления до 18,04, это больше не работает.

2
задан 24 May 2018 в 22:29

2 ответа

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

gdbus call --session --dest org.gnome.Shell \
    --object-path /org/gnome/Shell \
    --method org.gnome.Shell.Eval \
    "imports.ui.status.keyboard.getInputSourceManager().inputSources[1].activate()"

(кредиты: https://www.mail-archive.com/gnome-shell-list@gnome.org/msg08988.html)

Число в inputSources[1] определяет, какое расположение Вы хотите. Так, если у Вас будет две различных настроенные разметки, то это будет 0 или 1. Можно получить список настроенных разметок при помощи этой команды:

$ gsettings get org.gnome.desktop.input-sources sources
[('xkb', 'us+intl-unicode'), ('xkb', 'us')]
2
ответ дан 2 December 2019 в 02:13

Ответ Sebastian является большим, я могу подтвердить, что он работает намного быстрее, чем предыдущий метод, который я использовал:

gsettings set org.gnome.desktop.input-sources sources "[('xkb', 'us')]"
gsettings set org.gnome.desktop.input-sources sources "[('xkb', 'us'), ('xkb', 'ru'), ('ibus', 'googlepinyin')]"

К clearify его ответ, число в квадратных скобках (inputSources[1]) запускается от 0, в моем случае 0 будем нас, 1 рутений и 2 системы транслитерации китайских иероглифов в следующем коде:

#!/bin/bash
gdbus call --session --dest org.gnome.Shell \
    --object-path /org/gnome/Shell \
    --method org.gnome.Shell.Eval \
    "imports.ui.status.keyboard.getInputSourceManager().inputSources[1].activate()"

Можно сохранить сценарии оболочки для каждого переключателя языка в корневом каталоге, например,/home/user_name/.keyboard/langxx.sh. Не забудьте позволять выполнять их.

Затем необходимо добавить ярлыки в Ярлыках Настроек/Устройств/Клавиатуры/Пользовательских: Снимок экрана

2
ответ дан 2 December 2019 в 02:13

Другие вопросы по тегам:

Похожие вопросы: