Чтобы изменить его навсегда через терминал, запустите это:
Для US:
L='us' && sudo sed -i 's/XKBLAYOUT=\"\w*"/XKBLAYOUT=\"'$L'\"/g' /etc/default/keyboard
Для французского языка:
L='fr' && sudo sed -i 's/XKBLAYOUT=\"\w*"/XKBLAYOUT=\"'$L'\"/g' /etc/default/keyboard
Для немецкого языка: [ ! d3]
L='de' && sudo sed -i 's/XKBLAYOUT=\"\w*"/XKBLAYOUT=\"'$L'\"/g' /etc/default/keyboard
и т. д. ...
Протестировано на Ubuntu 16.04 64 бит.
Чтобы временно изменить его, вы можете использовать setxkbmap mylayout ...
# US
setxkbmap us
# French
setxkbmap fr
# German
setxkbmap de
В режиме терминала вам нужно использовать loadkeys вместо setxkbmap
# US
loadkeys us
# French
loadkeys fr
# German
loadkeys de
Потенциально, да. Они используют DBus как транспортный механизм, и это доступно, например, для Windows. Таким образом, вы должны написать значок уведомления Windows, который отобразился на основе данных DBus, и индикатор появится как обычный значок уведомлений Windows. То же самое верно для OS X.
Индикатор приложения возвращается к использованию GtkStatusIcon, который будет работать на других ОС. Вам не понравится интеграция с меню, как то, что у вас есть на Ubuntu, но оно должно работать. Теперь все, что приходит с предупреждением о том, что у меня нет копии Windows для тестирования.
Я написал свою собственную замену Python для appindicator, когда я разрабатывал StackApplet. Он работает на любой платформе с установленным PyGTK (включая Windows).