Я решил это примерно так:
- Запускаем ibus-setup и снимаем там на первой вкладке галочку «показывать значок в области уведомлений», т.к. в нашей ситуации он бесполезен более, чем полностью.
- Заходим на вкладку «дополнительно» и выставляем там галочку «использовать системную раскладку клавиатуры». Вот теперь система будет использовать xkb и слушаться вас.
После этого стандартный индикатор раскладки в ubuntu станет бесполезным, т.к. он не будет отображать того, какая на самом деле выбрана раскладка. Поэтому, его тоже можно скрыть. Для этого нужно открыть приложение «ввод текста» и снять там галочку «показывать текущий источник ввода в панели меню». - Далее, прописываем параметры xkb через setxkbmap. Мой конфиг выглядит так:
setxkbmap -option -option 'grp:caps_toggle,grp:switch,grp_led:scroll,compose:menu' -layout 'us,ru'
- Осталось сделать так, чтобы раскладка запоминалась в приложениях. Для этого устанавливаем пакет kbdd и запускaем его.
- Если вы хотите, чтобы эти параметры вступали в силу при каждом запуске системы, откройте «автоматически запускаемые приложения» и добавьте там команду для setxkbmap (пример выше) и для kbdd.
Отсюда.
Правда при выходе из спящего режима приходится заново выполнять setkxbmap. С этим ещё не рзаобрался. Возможно, проще будет уже просто прописать конфиг в /etc/X11/xorg.conf. При этом, верные настройки прописаны в /etc/default/keyboard. Прописаны, но не работают.