Personally I prefer Super+T as my primary shortcut for opening the terminal from anywhere in my desktop environment. However, how can I replace the existing terminal application in GNOME so that the keyboard shortcut setting applies to an alternative terminal emulator?
Well, turns out that
gsettings is the answer once again. The default is this on (vanilla) GNOME:
org.gnome.desktop.default-applications.terminal exec-arg '-e' org.gnome.desktop.default-applications.terminal exec 'x-terminal-emulator'
If you use other GNOME-based desktop environments (
gsettings normally only applies to those), the prefix (org.gnome) may be different and it’s best first to figure out the setting that applies to your system by inspecting the output of
As an example, on Cinnamon you’d use
org.cinnamon.desktop instead of
org.gnome.desktop for those keys.
In my case I was setting it as follows:
gsettings set org.gnome.desktop.default-applications.terminal exec alacritty gsettings set org.gnome.desktop.default-applications.terminal exec-arg ''
These settings only apply to the current user running these commands.
If you wanted to change the default terminal emulator at a system-global level and your alternative was a packaged application, known by
update-alternatives to belong to the group
x-terminal-emulator, you could use this (as superuser, e.g. with
update-alternatives --config x-terminal-emulator
Last but not least you could manipulate the
PATH variable in a way that places your favorite terminal emulator first and under the name
x-terminal-emulator. This solution is still somewhat hacky as it assumes that whatever arguments get normally passed to the default terminal emulator are understood by your favorite one. But it’s generally viable.