Updated one of my 24.04 machines to Plucky (24.04 → 24.10, 24.10 → 25.04). It worked, but now, under both Unity and GNOME, pressing the hotkey for a terminal window opens Xterm.
My default terminal emulator is the Xfce Terminal. That’s there and works fine. Using this command to check the default:
I am using the Unity desktop, but GNOME got auto-installed during an update years ago. This installation is about 12 years old. I think it started out as Ubuntu 13.10 “Saucy Salamander” and back then Unity was the default. Normally I never use GNOME. (And if anyone has a script to uninstall GNOME without nuking Unity, I’d love to know about it!)
I have not tested this for a very long time, but it should work still:
List all GNOME-related packages:
dpkg -l | grep .gnome
This is on mine (XFCE4) that i will keep:
dpkg -l | grep .gnome
ii gnome-accessibility-themes 3.28-4 all High Contrast GTK 2 theme and icons
ii gnome-disk-utility 46.1-1ubuntu1 amd64 manage and configure disk drives and media
ii gnome-keyring 48.0-1 amd64 GNOME keyring services (daemon and tools)
ii gnome-keyring-pkcs11:amd64 48.0-1 amd64 GNOME keyring module for the PKCS#11 module loading library
ii gnome-themes-extra:amd64 3.28-4 amd64 Adwaita GTK 2 theme — engine
ii gnome-themes-extra-data 3.28-4 all Adwaita GTK 2 theme and Adwaita-dark GTK 3 theme — common files
ii language-pack-gnome-en 1:25.04+20250410 all GNOME translation updates for language English
ii language-pack-gnome-en-base 1:25.04+20250410 all GNOME translations for language English
ii libpam-gnome-keyring:amd64 48.0-1 amd64 PAM module to unlock the GNOME keyring upon login
ii network-manager-gnome 1.36.0-3ubuntu2 amd64 transitional package for network-manager-applet and nm-connection-editor
ii pinentry-gnome3 1.3.1-2ubuntu3 amd64 GNOME 3 PIN or pass-phrase entry dialog for GnuPG
This command lists all packages with “gnome” in their names, which are likely GNOME-related packages.
Remove the GNOME packages:
sudo apt-get remove --purge gnome*
This command will remove all packages that start with “gnome”, which are typically GNOME-related packages.
Clean up any unused dependencies:
sudo apt-get autoremove
This command removes any unused dependencies that were installed alongside GNOME.
Ensure that the Unity Display Manager (LightDM) is still installed and configured:
apt-get -s remove --purge gnome*
NOTE: This is only a simulation!
apt-get needs root privileges for real execution.
Keep also in mind that locking is deactivated,
so don't depend on the relevance to the real current situation!
Why not simply sudo apt purge xterm ? (nothing in a default install should depend on it anymore, it has been moved to universe a long time ago, if something you installed does depend on it anyway you can indeed always stop the removal, apt asks )
Turns out this is now on a per-user basis, determined by ~/.config/xdg-terminals.list… but this does not point to a binary or anything. The existing value was some GNOME variable: org.gnome.Terminal.desktop.
This, it emerges, is somehow linked to .desktop files in /usr/share/applications.
In my case it needed to point to /usr/share/applications/xfce4-terminal.desktop.
Now it’s working.
EDIT:
But the global menu bar isn’t. Some environment variable isn’t being passed through this way. As my screen is only 1366x768 I need all the space I can get…
Well that’s out of the way, but the below this is a new for me:
Dang so would I… Just the standard suggestions, check the graphics drivers, monitor settings, or try different monitor connections . That last one is kind of a mute point though.
I know it wanted to un-install all nvidia on my end.
I also have nothing but Lenovo laptops Thinkpads (intel and nvidia)
Type: Laptop System: LENOVO product: 82JW v: Legion 5 15ACH6 is the only one not a Thinkpad
I will say cherry picking left over’s from Gnome is no small deed!
If I launch xfce4-terminal with Ctrl+Alt+T it has menus in the window, not in the global menu bar.
If I launch with Super+A for the apps lens, then type “term” or pick it from recent items, it correctly uses the menu bar. No menus in the window.
If it’s already open, then a new window either way launches with the same settings as the existing copy. It’s not running a new instance, just opening another window. But I don’t think that helps.
I will say cherry picking left over’s from Gnome is no small deed!
Given that Unity is actually GNOME (it is just replacing the shell), you can indeed not remove GNOME…
You could get rid of gnome-shell itself though, but Unity uses all the other GNOME infrastructure bits.
You could also look at the original Unity desktop seed (no idea where that lives nowadays, I guess some of the flavor maintainers know though) to see which bits are actually required and do some fine grained removal …
IIRC the handling of that is managed through an ugly hack that uses LD_PRELOAD to preload some override lib to handle menus differently and re-locate them to the top bar … Most likely the preload env var is not available when you use the key combo…