70

or maybe something else?

I am using Redhat OS.

2
  • 1
    done :) I'd also wish the OP had pointed out what version of redhat he's using, since unless its RHEL, there hasn't been a redhat release in ages
    – Journeyman Geek
    Jan 15, 2010 at 13:27
  • No need to distinguish: knome.org
    – imsodin
    Apr 1, 2020 at 12:32

19 Answers 19

21

Have a look at your installed applications. If a lot of them start with K - you're on KDE. If a lot of them start with G, you're on Gnome. Seriously. (Not very accurate if you have both installed though).

If you go to the About page of your computers settings panel, that should give you some clues.

Alternatively, look around on Google Images for screenshots of Gnome or KDE. It should be obvious once you have seen the basic look of the desktop environment.

3
  • 7
    Since you can have both Gnome and KDE installed on the machine, and have access to both sets of programs in your menus, the first suggestion is not a foolproof method. The About panel is most likely the useful answer. Jan 20, 2010 at 8:34
  • My about panel says Gnome I have a few gnome apps installed, yet according to other answer nowadays gnome rather resembles the screenshot of unity
    – FantomX1
    Sep 11, 2020 at 15:56
  • The place I had too look was in Applications | Accessories where I found MATE calculator, font viewer and search tool.
    – PatS
    Jun 10, 2021 at 17:03
111

Open a terminal and type:

echo $DESKTOP_SESSION
11
  • 29
    Not always true, as for someone could be just "default"
    – dag729
    Jan 18, 2010 at 0:55
  • 15
    doesnt work for all cases.. i have ubuntu 12 and the above command gave just "ubuntu" as output. the command given by @Shannon Nelson worked. Dec 20, 2012 at 7:36
  • 4
    l1zard@Marvin:~$ echo $DESKTOP_SESSION results in default which is not very useful
    – l1zard
    Apr 16, 2013 at 17:27
  • 11
    Mine just says 'ubuntu', when sending this command :/ Jan 20, 2015 at 9:29
  • 1
    I have only ubuntu in this variable.. Oct 31, 2017 at 10:46
44

I'll show you a short selection and description of the most common desktop environments.

Unity

Unity

Unity is developed by Canonical. It has a bar at the top which contains the clock at the right and a button on the left which will bring up a search/menu window. There's a launcher on the left of the screen.

The default theme colors are purple/orange/brown.

The logo is the same as the Ubuntu logo.

Gnome 3

Gnome 3

Gnome 3 is the third iteration in the Gnome desktop environment. It features a bar at the top with a clock and a menu button on the left which will bring up a fullscreen window containing most applications.

The default theme is rather dark with much black in the general elements, but the windows are light gray.

The logo is a foot. with four toes.

MATE (a fork of Gnome 2)

MATE

MATE is a fork of Gnome 2. It features two bars, one on the top of the screen, one at the bottom. The top one contains the main menu (dropdown with three items, Applications, Places and System), some starters and the clock on the far right. The lower bar holds the window list and the desktop switcher. Unlike the first three it has icons (Computer, Home, Trash and also removable media) on the desktop in the default configuration. An about dialog might be found in the System menu.

The default theme is a light theme with either green or blue accents.

The logo are two circles with an arrow intersecting them.

XFCE

XFCE

XFCE has always been seen as the small brother of Gnome 2, but it shouldn't be called that. It is very similar to MATE/Gnome 2 and might easily be confused with the two. The default configuration is similar to MATE/Gnome 2 except that the menu in the upper bar is only an icon, but is similarly structured.

The logo is a mouse.

KDE

KDE

KDE is one of the oldest desktop environments. It features a bar at the bottom of the screen which contains the main menu (as icon), the window list and a clock. The main menu is a big dropup menu sorted in categories.

The default theme is very light and looks like polished glass.

The logo is a "K", sometimes a dragon.

Cinnamon

Cinnamon

Cinnamon is heavily based on Gnome 3. It features a lower bar similar to KDE, as it contains the menu button, the window list and the clock. The main menu is also a dropup with categories.

The default theme is very greenish.

Others

Luckily, there are a lot more desktop environments out there, but this should give you a quick overview over the most commonly used ones.

8
  • 5
    Downvoted - not because it's a bad answer (it's not) but because the screenshots are increasingly out of date. The command line alternatives are better.
    – Andrew M
    May 14, 2014 at 12:32
  • @AndrewM: True...though, I'm not sure if I should update it or expand it to something more generic...but doesn't get better than the other answers. I'll expand it for the time being and update it...
    – Bobby
    May 14, 2014 at 17:54
  • great edit - downvote reversed. Is it worth explaining the relationship between Unity and Gnome?
    – Andrew M
    May 15, 2014 at 14:05
  • @AndrewM: What realationship do you mean? That they both are using Gtk3? Or the love/hate between them? By the way, no worries about downvotes on my posts, downvotes are not negative in my opinion.
    – Bobby
    May 15, 2014 at 17:15
  • I thought Unity was Gnome (just a veneer on top)? I'm on unity and a lot of the other tests suggested on this question show up as Gnome (eg "ls /usr/bin/*session*" and the ps | grep style ones). I'll read up a bit as it's interesting.
    – Andrew M
    May 19, 2014 at 14:06
35

I use echo $XDG_CURRENT_DESKTOP

Not sure if it's a 100% working solution on every imaginable Linux distro, but proved to be good enough so far.

5
  • Useful for future googlers - returns "Unity" on ubuntu 13.10 (not gnome)
    – Andrew M
    May 14, 2014 at 10:35
  • @AndrewM: makes sense to me, Unity isn't exactly Gnome. And thanks for the info! May 14, 2014 at 12:19
  • Agree with @AndrewM, the other command-line solutions give gnome but I am running Unity and this works for me.
    – melston
    Jun 17, 2017 at 15:31
  • Works on KDE and GNOME :-)
    – Tinmarino
    Jul 15, 2020 at 13:12
  • worked for me in ubuntu 18.04 running in a Lenovo ThinkPad Dec 13, 2020 at 5:47
22

Quick way #1: if you have a "System" menu entry on the top line, and there's an item in the menu that says "About Gnome", you're probably running Gnome.

Quick way #2:

ps -ef | grep gnome
2
  • 5
    Shorter version: pgrep -f gnome
    – Demi
    Oct 27, 2013 at 23:04
  • What if the user is editing his autostart settings, using gnome-session-properties? Or if another user is logged in at the same time, but in a Mate session?
    – basic6
    Nov 21, 2015 at 20:54
15

I've tested the best tools I've found with

  1. GNOME under Linux Mint installed;
  2. GNOME under Linux Mint Live USB;
  3. MATE under Linux Mint;
  4. LXDE under Lubuntu;
  5. JWM under Puppy Linux (JWM is not a desktop environment but a stacking window manager).

My results:

  1. (so-so)
    env | grep DESKTOP_SESSION=

    1. DESKTOP_SESSION=gnome
    2. DESKTOP_SESSION=gnome
    3. DESKTOP_SESSION=default.desktop
    4. DESKTOP_SESSION=Lubuntu
    5. (nothing)
  2. (so-so)
    echo $GDMSESSION

    1. gnome
    2. gnome
    3. (nothing)
    4. Lubuntu
    5. (nothing)
  3. (well, but not perfect)
    pgrep -l "gnome|kde|mate|cinnamon|lxde|xfce|jwm"
    ps -A | egrep -i "gnome|kde|mate|cinnamon|lxde|xfce|jwm"

    1. (OK)
    2. (OK)
    3. (OK)
    4. (WRONG)
    5. (nothing) & (OK)
  4. (very well, but not perfect)
    HardInfo

    1. (nothing);
    2. GNOME 2.32.0
    3. MATE
    4. LXDE (Lubuntu)
    5. Unknown (Window Manager: JWM)

CONCLUSION: A combination of HardInfo and the command

ps -A | egrep -i "gnome|kde|mate|cinnamon|lxde|xfce|jwm"

probably will give the desired answer.

3
  • What is 'HardInfo' ? Dec 7, 2014 at 0:17
  • Hmm, what exactly are we looking for in the output? I've got "gnome-keyring-d", "xfce4-volumed" and "kdeinit4". Some of this stuff will have been installed as dependencies. I'm not sure which of these is my main desktop environment.
    – AnnanFay
    May 25, 2015 at 14:30
  • why do you cross-post instead of linking the second response ?
    – ssc
    May 17, 2017 at 8:01
4

This command seems to be useful:

ls /usr/bin/*session*
  • in GNOME returns /usr/bin/gnome-session (and more)
  • in MATE returns /usr/bin/mate-session (and more)
  • in LXDE returns /usr/bin/lxsession (and more)
  • in XFCE returns /usr/bin/xfce4-session (and more)
  • in JWM returns /usr/bin/icewm-session (should be jwm-session, not?!)
2
  • 3
    It's not reliable because it only shows the installed session managers, not only the running one – and not all desktop environments actually have a matching *-session executable (as you noted for jwm), or any such program at all.
    – user1686
    Apr 15, 2013 at 1:01
  • this gives me /usr/bin/byobu-select-session /usr/bin/dbus-run-session on a server system with no desktop environment installed at all
    – ssc
    Feb 6, 2017 at 15:03
4

This is a good command to determine your GUI:

pgrep -l "gnome|kde|mate|cinnamon|lx|xfce|jwm"
1
  • 2
    Look at my outputs for this command: kdevtmpfs, gnome-keyring-d, lxsession, lxpanel, xfce4-power-man, gnome-pty-helpe. I am running Lubuntu Desktop. Dec 7, 2014 at 0:37
3
  1. Open shell terminal/console
  2. Type below statement and push enter

printenv XDG_CURRENT_DESKTOP

  1. Environment variable XDG_CURRENT_DESKTOP tells, which desktop you have
2
  • Doesn't work on RHEL 6.
    – Jeter-work
    Jan 24, 2018 at 14:15
  • 1
    Sorry for that but this command works for me in Ubuntu 1x.xx. Jan 31, 2018 at 18:24
2

A new user may not recognize the differences betwen KDE and Gnome in the screen captures above. Look at the position of the default panels (top with Gnome and bottom with KDE) not the color of the desktop or the apps that are open.

1
  • A late agreement. For a while RedHat was normalizing both Gnome and KDE to the Bluecurve theme, blurring the lines even more. Apr 15, 2013 at 1:23
2

In a terminal or console, you can run:

pgrep -l "gnome|kde|mate|cinnamon"

or

ps -A | egrep -i "gnome|kde|mate|cinnamon"

The item that appears in more lines should be the answer.

0

You can run HardInfo. It's ready by default at least in Linux Mint; or you could install it (from Synaptic, ...).

You can run it:

  1. from the main menu > Search box > hardinfo, or
  2. from the main menu > All applications > System Tools or Administration > System Information, or
  3. from the main menu > All applications > All > System Information, or
  4. from a terminal or console > hardinfo > Enter, or
  5. from the Run Application dialog (Alt+F2) > hardinfo > Enter.

Once HardInfo opens you just need to need to click on the "Operating System" item and look to the "Desktop Environment" line.

Nowadays, apart from GNOME and KDE, you could find MATE, Cinnamon, ...

0

I've been testing also with KDE and my conclusion is:

a) Graphical way, with HardInfo: the answer is normally in "Operating System" > "Desktop Environment", but if not you can look to "Environment variables". HardInfo is ready with all the tested distros, except the one with KDE, but it can be easily and quickly installed (only 2 packages in Linux Mint 13).

b) Command line, with this command:

ps -A | egrep -i "gnome|kde|mate|cinnamon|lx|xfce|jwm"

The item that appears in more lines should be the answer (if there is a draw the item with "session" should be the solution).

1
  • Since it has been more than 3 years ...I guess, OP has either found the answer by his own or somewhere else or decided to drop whole idea.
    – JackLock
    Apr 15, 2013 at 23:53
0

To know the version of the installed DE we can open Synaptic and put its name in the "Quick filter" box. Below "Installed Version" we have the answer. Next to it, below "Latest Version", we can see the highest to what we can update it to (at least if we have just clicked on "Reload" and considering only stable software -by default the access to the developing versions is usually disabled-). If instead of Synaptic the considered distro uses PackageKit or other a similar solution shoul be avaiable.

1
  • His question is about how to do this on RedHat OSes not Debian/Ubuntu!
    – slm
    Apr 17, 2013 at 12:56
0

Just open up the System Help guide (usually under the "System" menu) and see what the title is!

0

Install inxi and run inxi -Sxxx (or inxi -Sxx if your version of inxi isn't the latest):

$ inxi --version | head -1 && inxi -Sxxx                                                                                       
inxi 3.0.32-00 (2019-02-07)
System:    Host: kububb Kernel: 4.15.0-65-generic x86_64 bits: 64 compiler: gcc v: 7.4.0 Desktop: KDE Plasma 5.12.9 
           tk: Qt 5.9.5 wm: kwin_x11 dm: SDDM Distro: Ubuntu 18.04.3 LTS (Bionic Beaver) 
$ 

While installing inxi for just this purpose may seem overkill, inxi can be used to provide a lot more system information with inxi -Fxxxz (where -z masks stuff like your MAC address).

The homepage for inxi is here.


There's also neofetch which is a fork of screenfetch:

$ neofetch --stdout
dkb@kububb 
------------ 
OS: Ubuntu 18.04.3 LTS x86_64 
Host: Inspiron 15-3567 
Kernel: 4.15.0-65-generic 
Uptime: 8 hours, 58 mins 
Packages: 2389 
Shell: bash 4.4.20 
Resolution: 1366x768 
DE: KDE 
WM: KWin 
WM Theme: Breeze 
Theme: Breeze Dark [KDE], Breeze-Dark [GTK2], MyBreeze-Dark [GTK3] 
Icons: Breeze [KDE], Breeze [GTK2/3] 
Terminal: konsole 
Terminal Font: Hack 11 
CPU: Intel i3-6006U (2) @ 2.000GHz 
GPU: Intel HD Graphics 520 
Memory: 1665MiB / 7846MiB 
$   

The homepage for neofetch is here.

-1

The sysinfo package will show you which Gnome / other you're using:

sudo apt-get install sysinfo
sysinfo
-1

According to original post, the ideal solution for me (and hope someone else) is demonstrated with example:

which zenity  2>&1 >/dev/null && echo Have GTK
which kdialog 2>&1 >/dev/null && echo Have KDE

Because Mate and Cinemon are forks of gnome. It depends what you want to do lately. On Mageia linux you can have very easily both environments and also because of that script is written so.

-2

I have this function in my ~/.bash_aliases --

# open terminal function
open-terminal()
{
    # if gnome is running
    if [ $(pgrep -c gnome-panel) -gt 0 ]; then
            echo "running gnome"
            gnome-terminal
    # if xfce is running    
    elif [ $(pgrep -c xfce4-panel) -gt 0 ]; then
            echo "running xfce"
            xfce4-terminal
    fi
}
alias trm='open-terminal'
2
  • It does not answer to the question and there are better alternatives for your open-terminal function: askubuntu.com/questions/207442/…
    – air-dex
    Sep 20, 2015 at 12:32
  • well, the link you provided does not relate to this question at all, my script identifies the session by checking what kind of panel the os is currently running, I do not see any problem with that.
    – ramgorur
    Sep 21, 2015 at 23:02

Not the answer you're looking for? Browse other questions tagged or ask your own question.