Добавить / удалить раскладку клавиатуры консольной командой

После обновления до 13.10 похоже, что мы больше не имеем дела с XKB для настроек макета и переключения языка ввода, поэтому у меня есть вопрос.

Иногда мне нужно добавить еще один или два языка ввода и удалить их через некоторое время. Это часто операция, и в прошлом был способ сделать это простым, например:

setxkbmap -layout "us,ru,de"

Так что я смог связать такую ​​команду с горячими клавишами и добавить или удалить нужный язык очень быстро и легко.

на данный момент setxkbmap никак не влияет на laout, так что я могу сделать?

Я попытался сделать что-то вроде:

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

И это действительно добавило раскладку к индикатору клавиатуры, но я не буду менять входные данные вообще, поэтому, если я открою инструмент настройки GUI, я не найду там новый язык.

Я также пытался сделать:

gsettings set org.gnome.libgnomekbd.keyboard layouts "['us', 'ru', 'de']"

Но это никак не отразилось.

diff между gsettings list-recursively перед добавлением нового макета из GUI и после этого не показывает никакой разницы, кроме как в org.gnome.desktop.input-sources sources, diff между gconftool-2 --recursive-list до и после не показывает никаких отличий вообще.

1112 Дайте мне, пожалуйста, любое решение, чтобы заставить это работать. Консольная команда или даже API-вызов для этого. Я думаю, что написание простого приложения не проблема.

2
задан 1 November 2013 в 09:57

1 ответ

Я нашел, что это было. Это проблема с именами. Арабский язык должен быть ('xkb', 'ara') НЕ ар. Странно, что есть разница с нотацией setxkbmap.

0
ответ дан 1 November 2013 в 09:57

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

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