Keyboard Autoswitch ceases to work after each and every reboot

I have Keyboard Autoswitch added to a panel and it does work the way it is intended as long as I don’t shut the computer down. After any reboot the the applet is still present among the panel items but does not function. I have to delete it from the panel and re-add in order to make it work.
This has been happening for several months on two different computers, each on Ubuntu Budgie 20.04 with no additional PPAs related to Budgie activated. Am I the only one to experience such problems?

1 Like

No one has reported this issue.

I’m just wondering if this is a related issue. https://github.com/UbuntuBudgie/budgie-extras/pull/360

When you reboot and it fails to work - run the following in a terminal

dmesg | grep -i 'dbus.exceptions.DBusException'

What is the output if anything?

Also - if you restart the panel after login - does the issue resolve itself?

nohup budgie-panel --replace &

Many thanks for your quick response, @fossfreedom! I just tried on one machine and got no output to the dmesg-command as you had probably expected. Restarting budgie-panel did, however, solve the issue.

ok - restart again - this time run

dmesg | grep -i budgie

What is the output?

Sorry for the delay, I was busy. The output is empty, also after restarting budgie-panel.

That doesnt sound right - there should be all sorts of budgie related stuff being reported - logon events and other stuff.

Please copy and paste into a terminal rather than typing.

Also another method of listing system events related to budgie is

journalctl -ae --full | grep -i budgie

I see what you mean, and I was a bit surprised by the result, too. However the output is none, even if typed and if cautiously prepending it with an unnecessary sudo. The journalctl output is more wordy:

Sep 14 14:47:57 y260 gnome-session[1944]: gnome-session-binary[1944]: WARNING: Could not parse desktop file budgie-nemo.desktop or it references a not found TryExec binary
Sep 14 14:47:57 y260 gnome-session-binary[1944]: WARNING: Could not parse desktop file budgie-nemo.desktop or it references a not found TryExec binary
Sep 14 14:47:59 y260 dbus-daemon[1941]: [session uid=1000 pid=1941] Activating service name='ca.desrt.dconf' requested by ':1.62' (uid=1000 pid=2310 comm="budgie-panel " label="unconfined")
Sep 14 14:47:59 y260 budgie-wm.desktop[2291]: Window manager warning: Overwriting existing binding of keysym ff61 with keysym ff61 (keycode 6b).
Sep 14 14:47:59 y260 budgie-wm.desktop[2291]: Window manager warning: Overwriting existing binding of keysym ff61 with keysym ff61 (keycode 6b).
Sep 14 14:48:00 y260 budgie-panel[2310]: unable to open indicator service file directory: Fehler beim Öffnen des Ordners »/usr/share/unity/indicators«: Datei oder Verzeichnis nicht gefunden
Sep 14 14:48:00 y260 pkexec[2338]: stefan: Executing command [USER=root] [TTY=unknown] [CWD=/home/stefan] [COMMAND=/usr/lib/budgie-desktop/plugins/budgie-cpufreq-applet/budgie-cpufreq-modifier -f min:25]
Sep 14 14:48:01 y260 budgie-panel.desktop[2310]: Traceback (most recent call last):
Sep 14 14:48:01 y260 budgie-panel.desktop[2310]:   File "/usr/lib/python3/dist-packages/dbus/bus.py", line 177, in activate_name_owner
Sep 14 14:48:01 y260 budgie-panel.desktop[2310]:     return self.get_name_owner(bus_name)
Sep 14 14:48:01 y260 budgie-panel.desktop[2310]:   File "/usr/lib/python3/dist-packages/dbus/bus.py", line 361, in get_name_owner
Sep 14 14:48:01 y260 budgie-panel.desktop[2310]:     return self.call_blocking(BUS_DAEMON_NAME, BUS_DAEMON_PATH,
Sep 14 14:48:01 y260 budgie-panel.desktop[2310]:   File "/usr/lib/python3/dist-packages/dbus/connection.py", line 652, in call_blocking
Sep 14 14:48:01 y260 budgie-panel.desktop[2310]:     reply_message = self.send_message_with_reply_and_block(
Sep 14 14:48:01 y260 budgie-panel.desktop[2310]: dbus.exceptions.DBusException: org.freedesktop.DBus.Error.NameHasNoOwner: Could not get owner of name 'org.gnome.ScreenSaver': no such name
Sep 14 14:48:01 y260 budgie-panel.desktop[2310]: During handling of the above exception, another exception occurred:
Sep 14 14:48:01 y260 budgie-panel.desktop[2310]: Traceback (most recent call last):
Sep 14 14:48:01 y260 budgie-panel.desktop[2310]:   File "/usr/lib/budgie-desktop/plugins/budgie-keyboard-autoswitch/budgie-keyboard-autoswitch.py", line 65, in do_get_panel_widget
Sep 14 14:48:01 y260 budgie-panel.desktop[2310]:     return KeyboardAutoSwitchApplet(uuid)
Sep 14 14:48:01 y260 budgie-panel.desktop[2310]:   File "/usr/lib/budgie-desktop/plugins/budgie-keyboard-autoswitch/budgie-keyboard-autoswitch.py", line 147, in __init__
Sep 14 14:48:01 y260 budgie-panel.desktop[2310]:     self.session = self.bus.get_object("org.gnome.ScreenSaver", "/")
Sep 14 14:48:01 y260 budgie-panel.desktop[2310]:   File "/usr/lib/python3/dist-packages/dbus/bus.py", line 241, in get_object
Sep 14 14:48:01 y260 budgie-panel.desktop[2310]:     return self.ProxyObjectClass(self, bus_name, object_path,
Sep 14 14:48:01 y260 budgie-panel.desktop[2310]:   File "/usr/lib/python3/dist-packages/dbus/proxies.py", line 250, in __init__
Sep 14 14:48:01 y260 budgie-panel.desktop[2310]:     self._named_service = conn.activate_name_owner(bus_name)
Sep 14 14:48:01 y260 budgie-panel.desktop[2310]:   File "/usr/lib/python3/dist-packages/dbus/bus.py", line 182, in activate_name_owner
Sep 14 14:48:01 y260 budgie-panel.desktop[2310]:     self.start_service_by_name(bus_name)
Sep 14 14:48:01 y260 budgie-panel.desktop[2310]:   File "/usr/lib/python3/dist-packages/dbus/bus.py", line 277, in start_service_by_name
Sep 14 14:48:01 y260 budgie-panel.desktop[2310]:     return (True, self.call_blocking(BUS_DAEMON_NAME, BUS_DAEMON_PATH,
Sep 14 14:48:01 y260 budgie-panel.desktop[2310]:   File "/usr/lib/python3/dist-packages/dbus/connection.py", line 652, in call_blocking
Sep 14 14:48:01 y260 budgie-panel.desktop[2310]:     reply_message = self.send_message_with_reply_and_block(
Sep 14 14:48:01 y260 budgie-panel.desktop[2310]: dbus.exceptions.DBusException: org.freedesktop.DBus.Error.ServiceUnknown: The name org.gnome.ScreenSaver was not provided by any .service files
Sep 14 14:48:01 y260 budgie-panel[2310]: gtk_box_pack: assertion 'GTK_IS_WIDGET (child)' failed
Sep 14 14:48:01 y260 budgie-panel[2310]: gtk_container_child_set_valist: assertion 'GTK_IS_WIDGET (child)' failed
Sep 14 14:48:01 y260 budgie-panel[2310]: gtk_widget_get_parent: assertion 'GTK_IS_WIDGET (widget)' failed
Sep 14 14:48:01 y260 budgie-panel[2310]: gtk_container_remove: assertion 'GTK_IS_CONTAINER (container)' failed
Sep 14 14:48:01 y260 budgie-panel[2310]: gtk_container_add: assertion 'GTK_IS_WIDGET (widget)' failed
Sep 14 14:48:01 y260 budgie-panel[2310]: gtk_widget_queue_resize: assertion 'GTK_IS_WIDGET (widget)' failed
Sep 14 14:48:01 y260 budgie-panel[2310]: gtk_widget_get_parent: assertion 'GTK_IS_WIDGET (widget)' failed
Sep 14 14:48:01 y260 budgie-panel[2310]: gtk_container_child_set_valist: assertion 'GTK_IS_CONTAINER (container)' failed
Sep 14 14:48:01 y260 budgie-panel[2310]: BudgieMenuWindow.vala:190: Software has no parent directory, not adding to menu
Sep 14 14:48:01 y260 polkitd(authority=local)[1487]: Registered Authentication Agent for unix-session:c2 (system bus name :1.77 [budgie-polkit-dialog], object path /org/freedesktop/PolicyKit1/AuthenticationAgent, locale de_DE.UTF-8)
Sep 14 14:48:01 y260 budgie-wm.desktop[2291]: Window manager warning: Overwriting existing binding of keysym ff61 with keysym ff61 (keycode 6b).
Sep 14 14:48:01 y260 budgie-wm.desktop[2291]: Window manager warning: Overwriting existing binding of keysym ff61 with keysym ff61 (keycode 6b).
Sep 14 14:48:01 y260 budgie-wm.desktop[2291]: Window manager warning: Overwriting existing binding of keysym ff61 with keysym ff61 (keycode 6b).
Sep 14 14:48:01 y260 budgie-wm.desktop[2291]: Window manager warning: Overwriting existing binding of keysym ff61 with keysym ff61 (keycode 6b).
Sep 14 14:48:02 y260 budgie-wm.desktop[2291]: Window manager warning: Overwriting existing binding of keysym ff61 with keysym ff61 (keycode 6b).
Sep 14 14:48:02 y260 budgie-wm.desktop[2291]: Window manager warning: Overwriting existing binding of keysym ff61 with keysym ff61 (keycode 6b).
Sep 14 14:48:02 y260 budgie-extras-d[2434]: Binding '<Alt>grave' failed!
Sep 14 14:48:02 y260 budgie-extras-d[2434]: Binding '<Shift><Alt>dead_grave' failed!
Sep 14 14:48:02 y260 budgie-extras-d[2434]: Binding '<Alt>dead_grave' failed!
Sep 14 14:48:02 y260 budgie-extras-d[2434]: Binding '<Shift><Alt>grave' failed!
Sep 14 14:48:23 y260 budgie-panel[2310]: wnck_window_is_skip_pager: assertion 'WNCK_IS_WINDOW (window)' failed
Sep 14 14:48:23 y260 budgie-panel[2310]: wnck_window_is_skip_tasklist: assertion 'WNCK_IS_WINDOW (window)' failed
Sep 14 14:48:23 y260 budgie-panel[2310]: wnck_window_get_geometry: assertion 'WNCK_IS_WINDOW (window)' failed
Sep 14 14:48:40 y260 budgie-panel[2310]: manager.vala:1460: Replaced existing budgie-panel
Sep 14 14:48:41 y260 dbus-daemon[1471]: [system] Activating via systemd: service name='org.freedesktop.hostname1' unit='dbus-org.freedesktop.hostname1.service' requested by ':1.99' (uid=1000 pid=3840 comm="budgie-panel --replace " label="unconfined")
Sep 14 14:48:48 y260 budgie-wm.desktop[2291]: Window manager warning: Overwriting existing binding of keysym ff61 with keysym ff61 (keycode 6b).
Sep 14 14:48:48 y260 budgie-wm.desktop[2291]: Window manager warning: Overwriting existing binding of keysym ff61 with keysym ff61 (keycode 6b).
Sep 14 14:49:08 y260 snapd[1504]: storehelpers.go:438: cannot refresh: snap has no updates available: "cherrytree", "chromium", "core", "core18", "core20", "gnome-3-28-1804", "gnome-3-34-1804", "gnome-calculator", "gtk-common-themes", "gtk2-common-themes", "keepassxc", "scantailor-advanced", "signal-desktop", "teams-for-linux", "ubuntu-budgie-welcome", "validity-sensors-tools"
Sep 14 14:49:09 y260 snapd[1504]: storehelpers.go:438: cannot refresh: snap has no updates available: "cherrytree", "chromium", "core", "core18", "core20", "gnome-3-28-1804", "gnome-3-34-1804", "gnome-calculator", "gtk-common-themes", "gtk2-common-themes", "keepassxc", "scantailor-advanced", "signal-desktop", "teams-for-linux", "ubuntu-budgie-welcome", "validity-sensors-tools"
Sep 14 14:49:39 y260 budgie-wm.desktop[2291]: Window manager warning: Overwriting existing binding of keysym ff61 with keysym ff61 (keycode 6b).
Sep 14 14:49:39 y260 budgie-wm.desktop[2291]: Window manager warning: Overwriting existing binding of keysym ff61 with keysym ff61 (keycode 6b).
Sep 14 14:49:43 y260 budgie-wm.desktop[2291]: Window manager warning: Overwriting existing binding of keysym ff61 with keysym ff61 (keycode 6b).
Sep 14 14:49:43 y260 budgie-wm.desktop[2291]: Window manager warning: Overwriting existing binding of keysym ff61 with keysym ff61 (keycode 6b).
Sep 14 14:50:00 y260 budgie-wm.desktop[2291]: Window manager warning: Buggy client sent a _NET_ACTIVE_WINDOW message with a timestamp of 0 for 0x600000b
Sep 14 14:50:00 y260 budgie-wm.desktop[2291]: Window manager warning: Overwriting existing binding of keysym ff61 with keysym ff61 (keycode 6b).
Sep 14 14:50:00 y260 budgie-wm.desktop[2291]: Window manager warning: Overwriting existing binding of keysym ff61 with keysym ff61 (keycode 6b).
Sep 14 14:50:09 y260 budgie-wm.desktop[2291]: Window manager warning: Overwriting existing binding of keysym ff61 with keysym ff61 (keycode 6b).
Sep 14 14:50:09 y260 budgie-wm.desktop[2291]: Window manager warning: Overwriting existing binding of keysym ff61 with keysym ff61 (keycode 6b).
Sep 14 14:52:06 y260 budgie-wm[2291]: (../src/backends/meta-monitor.c:1541):meta_monitor_derive_current_mode: runtime check failed: (is_current_mode_known (monitor))
Sep 14 15:14:51 y260 budgie-wm[2291]: Could not create selection source for X11: Format TARGETS nicht unterstützt
Sep 14 15:40:14 y260 budgie-wm.desktop[2291]: Window manager warning: Overwriting existing binding of keysym ff61 with keysym ff61 (keycode 6b).
Sep 14 15:40:14 y260 budgie-wm.desktop[2291]: Window manager warning: Overwriting existing binding of keysym ff61 with keysym ff61 (keycode 6b).
Sep 14 15:40:30 y260 budgie-wm.desktop[2291]: Window manager warning: Overwriting existing binding of keysym ff61 with keysym ff61 (keycode 6b).
Sep 14 15:40:30 y260 budgie-wm.desktop[2291]: Window manager warning: Overwriting existing binding of keysym ff61 with keysym ff61 (keycode 6b).
Sep 14 15:41:44 y260 budgie-wm.desktop[2291]: Window manager warning: Overwriting existing binding of keysym ff61 with keysym ff61 (keycode 6b).
Sep 14 15:41:44 y260 budgie-wm.desktop[2291]: Window manager warning: Overwriting existing binding of keysym ff61 with keysym ff61 (keycode 6b).

Ah - good good - it really does look like the issue I pointed to at the beginning.

Ok - final thing - we need now to confirm that the fix that went in over the weekend really resolves your issue.

sudo add-apt-repository ppa:ubuntubudgie-dev/budgie-extras-daily
sudo apt upgrade

Logout and login and retest a few times

To revert back after testing:

sudo ppa-purge ppa:ubuntubudgie-dev/budgie-extras-daily

Logout and login

If you can confirm that it is indeed fixed - please file a bug on launchpad so that we can reference it when fixing for 20.04

ubuntu-bug budgie-extras

or if that doesn’t work

ubuntu-bug budgie-keyboard-autoswitch-applet

Sounds great, thanks a lot for your consideration! I shall not be able to work on that particular machine until Wednesday and will report back then.
Cheers!

Just as you predicted, @fossfreedom, the fix does indeed apply to this problem. With the daily repo, keyboard auto-switching works persistently across logout or reboots as opposed to without it.

I could only file a bug report against budgie-extras:

Thanks a lot for your efforts!

1 Like

Well I won’t help on that topic but just to say I notice the same on UBudgie 20.04 :

django@ASGARD:~$ dmesg | grep -i budgie
[   66.636378] systemd[1]: Mounting Mount unit for ubuntu-budgie-welcome, revision 221...
django@ASGARD:~$ 

…so on a system where all snap things had been discarded, that command would answer nothing.

Hi. I had the same problem, and I confirm than after enabling daily build ppa everything works good again.