Hey everyone! I’m not sure if this is an issue specific to Fedora 42 or a GNOME 48 problem, but my custom keyboard shortcuts disappear after every system update. Any ideas?
Hi and welcome to !
GNOME stores use-set keyboard shortcuts in the user’s dconf
db, schema org.gnome.shell.keybindings
. What you’re saying is that you’re setting keyboard shortcuts in GNOME Settings → Keyboard → Keyboard Shortcuts, and they get reset after a system upgrade[1]? I didn’t experience that.
You can check if the user-set keyboards are there (before and after the system-upgrade) with gsettings list-recursively org.gnome.shell.keybindings
.
As in from one Fedora version to another, e.g. 41 to 42. ↩︎
Yeah, that’s it — but only the custom shortcuts, even though not all of them. For example, my shortcut to open the terminal still works, but the rest get reset. They don’t appear in the list when I run `gsettings list…
When exactly did they get reset? Can you give some example of shortcuts that got reset? Were all of them saved via GNOME Settings, hence in dconf
db under the above mentioned schema?
Yes, all of them were saved via GNOME Settings → Keyboard → Keyboard Shortcuts → Custom Shortcuts. They’ve gotten reset after I update my system (it has happened twice), and one of them is ‘nautilus /home/user/Downloads’. The others are for launching VS Code, Spotify, and a few other apps.
While it’s problematic to identify the cause, mitigating the effect is entirely possible:
# Back up settings
dconf dump /org/gnome/settings-daemon/plugins/media-keys/ > shortcuts.dconf
# Restore settings
dconf load /org/gnome/settings-daemon/plugins/media-keys/ < shortcuts.dconf
See also: Configuring Custom Default Values | dconf | Red Hat Documentation
I wonder if the issue is related to the fact that the user-created custom shortcuts are stored as relocatable schemas in dconf
.
A GNOME Shell version upgrade might involve recreating/parsing the dconf
db, and in order to read these relocatable schemas, the custom-keybindings
key of the non-relocatable schema org.gnome.settings-daemon.plugins.media-keys
has to be read first, but it somehow fails? This is just a supposition, I didn’t find any resources on this matter.
For relocatable schemas, the command is a bit different:
$ gsettings get org.gnome.settings-daemon.plugins.media-keys custom-keybindings
$ gsettings list-recursively org.gnome.settings-daemon.plugins.media-keys.custom-keybinding:/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom0/
$ gsettings list-recursively org.gnome.settings-daemon.plugins.media-keys.custom-keybinding:/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom1/
[...]
I had the same thing happen:
- only custom shortcuts were affected.
- one shortcut was not deleted:
Hyper + 2
→/home/damir/Applications/cursor/cursor.AppImage
- the ones deleted were just running one command like
Hyper + 3
→slack
I’ll re-add them again and post if I find other patterns.
I’m experiencing the same issue on Fedora 42 Workstation:
- The shortcut for Discord (
flatpak run com.discordapp.Discord
, triggered withShift+Ctrl+D
) still works after the upgrade. - However, the shortcuts for uLauncher (
ulauncher-toggle
,Ctrl+Space
) and for opening a new Terminal window (ptyxis --new-window
,Super+Return
) have disappeared after the upgrade.
Are those shortcuts used by other applications or something that is default in Gnome?
I don’t think so, but I’m not sure (I’ve checked GNOME settings and I didn’t found any shortcuts used by him, but I didn’t check all the settings of all the apps).