Communities

Writing
Writing
Codidact Meta
Codidact Meta
The Great Outdoors
The Great Outdoors
Photography & Video
Photography & Video
Scientific Speculation
Scientific Speculation
Cooking
Cooking
Electrical Engineering
Electrical Engineering
Judaism
Judaism
Languages & Linguistics
Languages & Linguistics
Software Development
Software Development
Mathematics
Mathematics
Christianity
Christianity
Code Golf
Code Golf
Music
Music
Physics
Physics
Linux Systems
Linux Systems
Power Users
Power Users
Tabletop RPGs
Tabletop RPGs
Community Proposals
Community Proposals
tag:snake search within a tag
answers:0 unanswered questions
user:xxxx search by author id
score:0.5 posts with 0.5+ score
"snake oil" exact phrase
votes:4 posts with 4+ votes
created:<1w created < 1 week ago
post_type:xxxx type of post
Search help
Notifications
Mark all as read See all your notifications »
Q&A

What desktop environment am I running?

+4
−0

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?

History
Why does this post require attention from curators or moderators?
You might want to add some details to your flag.
Why should this post be closed?

2 comment threads

Window manager vs. desktop environment (2 comments)
Not for myself (1 comment)
Show more

3 answers

You are accessing this answer with a direct link, so it's being shown above all other answers regardless of its score. You can return to the normal view.

+1
−0

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.

  1. Open a terminal window.
    • Often this is on the keyboard shortcut ctrl alt t. Hold down the keys ctrl and alt, then type one t 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.
  2. 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.
  3. 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.
  4. 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.
  5. 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 and q to quit.
  6. 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.
  7. 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.
  8. 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.
  9. There is nothing secret in the output of this command. (In others, there might be.)
  10. 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 for exit, 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.
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.

History
Why does this post require attention from curators or moderators?
You might want to add some details to your flag.

1 comment thread

Meta (4 comments)
+4
−0

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.

login screen from POP!OS showing the session selection menu in the lower right corner

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).

History
Why does this post require attention from curators or moderators?
You might want to add some details to your flag.

2 comment threads

X11 and Wayland are window server protocols, not DEs (3 comments)
Pop is Gnome (1 comment)
+3
−0

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.

History
Why does this post require attention from curators or moderators?
You might want to add some details to your flag.

1 comment thread

`inxi` is not available by default (1 comment)

Sign up to answer this question »