g3kb-switch
g3kb-switch copied to clipboard
Не работает на Debian на оболочке budgie (DBus.Error.UnknownMethod)
На ввод замысловатой команды:
gdbus call --session --dest org.gnome.Shell --object-path /org/gnome/Shell --method org.gnome.Shell.Eval "imports.ui.status.keyboard.getInputSourceManager().currentSource.id"
отвечает:
Ошибка: GDBus.Error:org.freedesktop.DBus.Error.UnknownMethod: No such method “Eval”
Дополнительная информация:
gsettings get org.gnome.desktop.input-sources sources
выводит
[('xkb', 'us'), ('xkb', 'ru')]
budgie-desktop 10.5
А есть в Budgie подобная команда gdbus для смены раскладки? Дело в том что Eval
здесь необходим, и если этого метода нет, то Gnome Shell в Budgie, по всей видимости, имеет урезанную функциональность, и надо понять, есть ли там какой-то аналог команды gdbus для смены раскладки без Eval
.
Спасибо за ответ.
Все, что пока смог "накопать":
gsettings set org.gnome.desktop.input-sources current 0
переключает раскладку на англ.
gsettings set org.gnome.desktop.input-sources current 1
в рус. соотв...
Не то?
Или, может есть способ доустановить нужный функционал?
Не то, этот свитчер использует dbus и Gnome Shell, надо копать в направлении почему в Gnome Shell из Budgie нет поддержки Eval. Кстати, а сам Gnome Shell в Budgie есть?
~gnome-shell --version
GNOME Shell 3.30.2
Ок, тогда нужно узнать, почему в нем нет Eval.
Смотрите здесь: https://itsfoss.com/budgie-11-changes/
Особенно интересная часть
To display device & volume notifications, the GNOME Settings Daemon sends a message to the ‘org.gnome.Shell’ name on D-BUS. In our case this has to be ‘budgie-wm’, which has to pretend to be ‘org.gnome.Shell’ for keyboard layouts and shortcuts to work with GNOME Settings Daemon
(Это относится к Budgie 10, в Budgie 11 они вообще хотят перейти на Qt.)
Получается, что org.gnome.shell это фейковый запрос в Budgie. Реальный получатель - budgie-wm, а в нем наверняка нет никакого JS интерфейса и соответственно Eval тоже. В общем, подход, реализованный в данном переключателе не будет работать в Budgie.
Аналогичная история. Ubuntu 22.04
gnome-shell --version GNOME Shell 42.4
g3kb-switch -n Failed to build keyboard layouts map: GDBus.Error:org.freedesktop.DBus.Error.UnknownMethod: ?????? ?? ???? ?/org/g3kbswitch/G3kbSwitch? ?? ??????????
подскажите что поправить?
Аналогичная история. Ubuntu 22.04
gnome-shell --version GNOME Shell 42.4
g3kb-switch -n Failed to build keyboard layouts map: GDBus.Error:org.freedesktop.DBus.Error.UnknownMethod: ?????? ?? ???? ?/org/g3kbswitch/G3kbSwitch? ?? ??????????
подскажите что поправить?
Нужно установить G3kbSwitch Gnome extension как описано в README.