Archlinux
cinnamon 3.0.1-1
Menu applet ([email protected]) does not respect default terminal set in settings for desktop entries using the terminal, e.g. htop. Instead gnome-terminal is always used.
I can confirm this issue. It tries gnome-terminal and if that's not installed it tries xterm. If xterm is not installed it does nothing.
Sure looks hard-coded to me.
Using Arch repositories and cinnamon 3.0.1
I wouldn't class this as a bug as menu applet uses gsettings for favorite apps (it's a user setting).
$ gsettings get org.cinnamon favorite-apps
['firefox.desktop', 'cinnamon-settings.desktop', 'org.gnome.Terminal.desktop', 'nemo.desktop']
Ahh it took me a while. You misunderstood. When a desktop file set the value for the key Terminal to true the implementation of the desktop entry specification (i.d. the menu applet) has to run the application in a terminal. This is done, well, but it uses always the gnome terminal. Not the one I set in the settings (terminator). A good generally available application for reference is htop.
Just to be clear, it doesn't respect the terminal you set in Cinnamon settings->preferred applications?
@JosephMcc - yes, this is exactly what happens. I have terminator set as my default in "Cinnamon settings->preferred applications", and alt+ctrl+t launches terminator, but launching htop form the menu as in @ManuelSchneid3r's example does indeed use gnome terminal to launch htop.
@JosephMcc Exactly.
False implication. Although opening xterm when gnome-terminal is not installed may be a hard-coded feature, this issue is still valid simply because this feature is not the topic of this issue.
This issue is about the top level user experience. Users dont care about glib2. The want the terminal to be opened which they set in the settings dialog.
Hello, everybody.
I recently experienced a similar issue. Basically, every time that I invoked x-terminal-emulator (from another terminal or programmatically from an applet's code), it launched terminator instead of gnome-terminal. The latter is the one that I have set up in Cinnamon settings -> Preferred Applications -> Terminal. To fix it, I had to use update-alternatives.
sudo update-alternatives --config x-terminal-emulator
...and choose /usr/bin/gnome-terminal.wrapper.
I don't know if the issue that I described is relevant to the issue on this topic. But, shouldn't x-terminal-emulator respect the setting Cinnamon settings -> Preferred Applications -> Terminal?
update-alternatives and x-terminal-emulator is a Debian-only concept. So not relevant to this issue. Stop distracting the devs. I want this to get fixed :wink:
org.cinnamon.favorite-apps is empty on my machine. Changing the terminal in Cinnamon settings->preferred applications changes (at least) the values org.cinnamon.desktop.applications.terminal.
@Odyseus this was rather joking.
This annoying problem is still there
Solved this by opening dconf-editor, path: org -> cinnamon -> favorite-apps and changed the string from org.gnome.terminal.desktop to yourterminal.desktop
@fabioul0us this just adds the terminal to the favorites in the menu and doesn't fix the bug at all, at least for me.
By the way, can confirm the bug is still present after almost 2 years. I don't have gnome-terminal nor xterm so when I try to open htop from the menu nothing happens.
Arch
cinnamon 3.6.7
Hey, @grayk79 can you try (using dconf-editor) navigating to /org/cinnamon/desktop/applications/terminal and changing exec value to your terminal bin? It seemed to have work for me. Also you might want to leave exec-arg empty since default value -x seems to be deprecated according to gnome-terminal -x so it's just something [that used] to work with the default gnome-terminal.
Edit: can confirm it has survived after Cinnamon restart also, just to make sure. (also on Arch with Cinnamon 3.6.7)
Please. Can somebody fix this. #8246
I have tried it neither on Linux Mint nor in Cinnamon but hard-linking the desired terminal to xterm solves the issue for me. I think this is a deeper issue which is not caused by Cinnamon. After searching on the Internet I found people from other dustributions with similar issues. The hard-link approach was the only one which worked for me. For the st terminal it would be:
sudo ln /usr/local/bin/st /usr/bin/xterm
@astier workaround works for me: Linux Mint 19.2, Cinnamon 4.2.4, and terminal emulator Terminator insted of gnome Terminal.
In /user/bin/ I backuped original gnome-terminal file and instead of it made a soft link to should-be emulator. In my case it becomes gnome-terminal -> ../share/terminator/terminator.
Works nicely.
For posterity's sake I'm going to link to the open report on glib:
https://gitlab.gnome.org/GNOME/glib/-/issues/338
Here is the relevant code:
https://gitlab.gnome.org/GNOME/glib/-/blob/master/gio/gdesktopappinfo.c#L2546-2584
It's simply not feasible to fix this in cinnamon (or mint for that matter). Yes we could fix it in the menu and other programs we control, but it would still be an inconsistent experience for the most part. We can't go and patch every program that ends up running this section of code.
Due to how that code works, and how the PATH variable works, you could make a ~/bin directory, and ln -s <path-to-your-terminal> ~/bin/gnome-terminal. Then you shouldn't have to worry about it again.