Why is xterm installed when trying to uninstall gnome-terminal?

I use Alacritty as my main terminal emulator. I tried to uninstall the gnome-terminal package, but when I type apt remove gnome-terminal, it says:

The following additional packages will be installed:
libutempter0 xterm

And proceeds to install the packages.

What does gnome-terminal or xterm do that is necessary, that Alacritty does not?


That's because of dependencies. On a standard Ubuntu installation, the Ubuntu Desktop depends on X.Org which further depends on either GNOME terminal or XTerm or X term emulator which is basically a virtual package.

If you run

aptitude why gnome-terminal

the output will be

i   ubuntu-desktop Depends xorg
i A xorg           Depends gnome-terminal | xterm | x-terminal-emulator

Here i means package is installed, A is automatic and | is OR.

Arguably a terminal shouldn't be a dependency of display server such as X.Org. This has been already reported on launchpad as Bug #1116791 in 2013.

According to Comment #7 by Bryce Harrington:

For the xorg source package it looks like the dependency was added long ago just as a convenience to ensure a terminal program was included. Possibly there might be a debian failsafe session that pops it up, but I'm not spotting evidence of such; in any case that wouldn't be important to us.

Moreover, as per Oliver Grawert's comment #8:

i guess at least using x-terminal-emulator as the dep would help so it is enough to have only one terminal installed

Bryce Harrington later changed the status of the bug to triaged stating

Perhaps that's a good thing to experiment with in S? I'm reticent to drop it from raring given how late in the game we are, since we don't know exactly what that'd break...

And then it's status was never updated. However in May 2019, Daniel van Vugt changed the status to won't fix just because 13.04 reached EOL in 2014. I believe that wasn't specific to the release version any way.

On the other hand, as pointed out by Jörg W Mittag in their comment, Alacritty should also provide X term emulator. But Alacritty isn't maintained and provided by Ubuntu, so I'm not sure if it is a bug or intended to work like that. As of now, according to x-terminal-emulator - Ubuntu Packages, x-terminal-emulator virtual package is provided by 22 packages.