После обновления до 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-вызов для этого. Я думаю, что написание простого приложения не проблема.
Я нашел, что это было. Это проблема с именами. Арабский язык должен быть ('xkb', 'ara') НЕ ар. Странно, что есть разница с нотацией setxkbmap.