Обычно у меня две раскладки, а иногда надо добавлять третью и даже четвертую, но не так часто, чтоб держать их постоянно и через них переключаться.
Раньше в принципе все было просто setxkbmap -layout «us,ru,de», например, ну и обратно. Вешается на хоткей и все довольны.
В новой убунте вначале поломали переключение, но сейчас вроде даж починили - по крайней мере с виду работает, но как понимаю оно полностью игнорирует xkb.
По крайней мере добавление через setxkbmap никак на него не влияет.
Вопрос: как теперь ему добавить раскладку из консоли? Куда он все это кладет и откуда берет?
Я пробовал делать gsettings set org.gnome.desktop.input-sources sources и оно добавляет раскладку в индикатор, но только сам ввод от этого никак не меняется. Ты можешь переключиться на третью раскладку, но переключается только индикатор, ввод остается от второй. Если зайти в настройки ввода, то там третью тож не видно при таком действии . Пробовал сделать gsettings set org.gnome.libgnomekbd.keyboard layouts - оно вообще не влияет ни на что с виду.
Если сделать gsettings monitor org.gnome.desktop.input-sources sources, то видно, как оно меняет его при добавлении и удалении раскладки. Судя по всему надо менять еще что-то или заставлять его перезачитать настройки.
Сделал diff между gsettings list-recursively до добавления языка из панельки и после, разница только:
< org.gnome.desktop.input-sources sources [('xkb', 'us'), ('xkb', 'ru')] ---
> org.gnome.desktop.input-sources sources [('xkb', 'us'), ('xkb', 'ru'), ('xkb', 'al')]
diff по gconftool-2 --recursive-list / до и после добавления не дает вообще никакой разницы, так что скорее всего надо просто заставить нечто перезачитать gsettings.
Вопрос - как? Или вообще ему надо что-то другое, если так, то что?