What desktop environment am I running?
I'm a complete beginner, and just installed Linux for the first time. I chose a popular distribution, but I've run into some issues, or have a few questions. However, I don't know if I have Gnome, Xfce, Cinnamon, Cosmic, or another desktop environment. How do I figure that out?
3 answers
Login screen
Check your login screen. Login Managers often give an option to select between different desktop environments. The last used entry is usually highlighted.
It is possible that your Login Manager doesn't show such a selection if only one entry is available. The location can vary depending on the Login Manager used. If you have either more than one desktop environments installed or if your DE provides different options (some provide X11/Wayland/Failback options) it should be somewhere (sometimes only after selecting the user to log in).
2 comment threads
By memory
If you installed Linux yourself, then you were almost certainly informed about this at some point in the process. Generally, you're either expected to choose a separate installer according to which desktop environment you want, or you don't get a choice and the desktop environment is just the one that your distro provides.
For example, when you go to any of the download or installation pages for Linux Mint (popular with beginners), you're expected to choose between the "Cinnamon edition", "Mate edition" and "XFCE edition" - those are named for the desktop environment they provide - or, in some cases, if you have newer hardware, the "Edge ISO" with a more recent Linux kernel. The Edge ISO uses Cinnamon and is described that way on the downloads page.
Of course, it's possible to install a different desktop environment later. But if you're in this position, you wouldn't need to ask the question.
From the command line
The inxi
command can show a lot of information about how your system is configured:
inxi is a command line system information script built for console and IRC. It is also used a debugging tool for forum technical support to quickly ascertain users' system configurations and hardware. inxi shows system hardware, CPU, drivers, Xorg, Desktop, Kernel, gcc version(s), Processes, RAM usage, and a wide variety of other useful information.
Information about desktop environments is accessed using the -S
(or --system
) flag. Additional information is available with more flags, but this is already enough. Just use
inxi -S
and you should see a few lines of output that include your desktop environment, labelled as Desktop:
.
Another option is to use a "fetch" program such as neofetch
(you may have to install one first). Typically these display more neatly formatted information designed to fill one screen of terminal output, and might include a logo that represents your distro.
Finally (thanks to samcarter for the idea), desktop environments (or the corresponding window managers) might set environment variables that can be used to "fingerprint" them. In particular, many desktop environments support the "X Desktop Group" (XDG) standard, in which case you may be able to do a check like:
$ echo $XDG_CURRENT_DESKTOP
X-Cinnamon
From your display manager's greeter
On typical setups, you'll have a graphical screen that you use to choose a user account and log in for a graphical session. This is implemented by a "greeter" program which is part of your system's display manager. For example, Linux Mint uses the LightDM
display manager, and provides a custom slick-greeter
for it.
Depending on what greeter you have, you may also be able to select a desktop environment, or a specific implementation of a desktop environment, before logging in. In the case of slick-greeter
, for example, inside the small rounded rectangle that lists a username and provides a field to enter your password, at the top right, there is an icon which you can click to make this choice. With Cinnamon (only) installed, this will present a menu with the choice to use Cinnamon normally or with software rendering (and on newer versions, the experimental implementation on top of Wayland).
(Please keep in mind that trying to use the same user account with multiple desktop environments can cause problems, due to conflicts between config files.)
Other tools
Depending on your distro, you may also have GUI tools included that provide system information, including the name of the desktop environment. For example on Linux Mint, the "System Reports" program (also called mintReport
) has a "System information" tab which you can click to see detailed system info (it grabs detailed output from inxi
and displays it in a scrollable text panel). The "System" section of inxi
output will be at the top, so you can read the desktop environment information immediately. There's also, separately, a "System Info" program that displays a different set of information, more directly; this also includes the desktop environment info.
There will be various clues, but sometimes they can mislead. "I'm on Gnome" means something very different in a modern Ubuntu vs one still hanging around from 10 years ago. (best not to do that)
Start with universal
There are many graphical environments, but the underlying command line has a continuity and consistency which is valuable here.
Let's start with something basic, simple and safe. Something that is almost guaranteed to work everywhere, without installing extra tools.
If it helps you start building some skills then it's a bonus for later.
- Open a terminal window.
- Often this is on the keyboard shortcut
ctrl alt t
. Hold down the keysctrl
andalt
, then type onet
and release the other keys. - You may also find it in the menu system or list of apps as Xterm, Console, Terminal, rxvt, Command Line or Command Prompt. It might have an icon like
>_
- If you search thoroughly and cannot find a command prompt, you may have some kind of "kiosk" computer that is deliberately restricted to prevent access to running commands.
- Often this is on the keyboard shortcut
- You should see a blank window with a line like
myname@computer:~$
but they can vary. This is the command prompt. It is a powerful tool, and like any tool you want to know that you're going to be safe using it. - If you have very little confidence and knowledge with such things, do remember that this is a place to be cautious. You want to be sure that advice you follow is trying to help you, not trying to steal your banking details.
- Enter
lsb_release -a
and press Enter. You will get a few lines of output.- Spell it right or it won't work. The spaces, underscore
_
and hyphen-
all need to be just so; as does other punctuation you may see later. - Yes, you can copy-paste the command from a web page to a terminal, but there are good reasons to cultivate a habit of not doing that. A question for another day.
- Spell it right or it won't work. The spaces, underscore
- Later you may want to find out what it will do before running it. You can use
man lsb_release
and press Enter to see the manual page. Press space to scroll down andq
to quit. - The output should look similar to
mcast@beeep:~$ lsb_release -a No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 24.04.2 LTS Release: 24.04 Codename: noble
- Now you know that it is Ubuntu 24, and a web search for "ubuntu noble" will take you to the release information.
- If you got an error message instead, another safe universal command is
uname -a
- Keep the error message. Even if you don't understand it yet, it's useful to show to anyone who might help you.
- It works on many more types of computer - really old Linux, Android (if you can reach it), MacOS, other BSDs and more...
- It is an almost universally accepted command giving a short, distinctive answer.
- Except on Microsoft Windows where if it works it could mislead.
- The rest of the information is useful to paste into questions you may ask later, even if it didn't help you it will help guide the answers people may offer you.
- There is nothing secret in the output of this command. (In others, there might be.)
- When you've finished, you can close the window with any of
- type
exit
and press Enter, or - type
ctrl d
which in this context on a blank line is a shortcut forexit
, because it means "end of input", or - use the usual window close button. People who "live" on the command line make a habit of avoiding that, question for another day.
- type
More examples of output
mcast@baked:~$ lsb_release -a
No LSB modules are available.
Distributor ID: Debian
Description: Debian GNU/Linux 12 (bookworm)
Release: 12
Codename: bookworm
mcast@baked:~$ uname -a
Linux baked 6.1.0-32-cloud-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.129-1 (2025-03-06) x86_64 GNU/Linux
mcast@toffeepi:~ $ lsb_release -a
No LSB modules are available.
Distributor ID: Raspbian
Description: Raspbian GNU/Linux 11 (bullseye)
Release: 11
Codename: bullseye
mcast@toffeepi:~ $ uname -a
Linux toffeepi 5.10.103-v7+ #1529 SMP Tue Mar 8 12:21:37 GMT 2022 armv7l GNU/Linux
These are not Ubuntu but Debian and Raspbian; not Noble Numbat but Bookworm and Bullseye. It happens that I like these flavours best in recent years.
The next command you need to run work the same way on these, but other distros are different. That's why we ask lsb_release -a
first.
Ask it what desktop package is installed
The different Linux distributors have their own ways to list package information, which is why the above it the first place to start. Some (such as Ubuntu and Debian) share a lot of tools.
The different release versions also have their own ways of collecting a desktop operating system into different packages, and these have changed over time.
Individual releases of any Linux distribution, especially the larger ones, may have multiple desktop environments. You might have a desktop environment for a large or small computer; a KDE one or a Gnome one. The questions you ask later will depend on these next answers.
Distributor | Query command |
---|---|
Debian, Ubuntu, Raspbian / Raspberry Pi OS |
dpkg -l '*desktop*' dpkg -s ubuntu-desktop
|
Red Hat, Fedora | (um, some rpm -q thing but I don't have one here to test) |
These should produce a table with quite a few lines of output, some of which is irrelevant. I suggest these commands because they are safe, reasonably likely to cover the necessary information, and always available.
At this point it starts to get complicated, and what is needed next (which I don't have) would be a good overview of the names of metapackages or key dependencies for a wide range of desktop environments on the major distros.
However I believe this answer puts the OP in a much better position for asking a more specific question which can get better results.
2 comment threads