39

Is there an authoritative way to get the GNOME version, as long as I have a working GNOME desktop (any version) running? Several of these suggestions don't work on my system, either because the executables and/or packages simply don't exist or the menu item isn't available.

49

GNOME 3 version is stored in this file:

/usr/share/gnome/gnome-version.xml

content (on my system):

<?xml version="1.0" encoding="UTF-8"?>
<gnome-version>
 <platform>3</platform>
 <minor>6</minor>
 <micro>2</micro>
 <distributor>Arch Linux</distributor>
 <date>2012-11-13</date>
</gnome-version>

The file is part of the upstream package called gnome-desktop (note that some distros split it into several packages so on your distro the file may end up in a package with a different name...)

GNOME developers use this file to get the DE version number and display it in System Settings (aka gnome-control-center). So getting GNOME version "the official way" means parsing the said file and extracting platform, minor and micro values.

If you play with that file you can instantly see the results :)

enter image description here

In GNOME 2 the file in question is:

/usr/share/gnome-about/gnome-version.xml

(though this file might be missing on some older Gnome 2 versions IIRC)


And no, you shouldn't use commands like gnome-session --version, gnome-shell --version, gdm --version etc. Those are GNOME desktop components, they are separate packages (with different code, history/changelog and maintainers) and as such their version may be different. They'll report the right GNOME version only if they have the same version as gnome-desktop (which is not always the case).

  • 1
    A friendly update: as of this writing, Debian Stretch (Testing) seems to provide file /usr/share/gnome/gnome-version.xml in package gnome-desktop3-data . To see installation history, on Debian: zgrep " installed" /var/log/dpkg.log* | grep "gnome-desktop3-data" | cut -d':' -f2- | sort -r – iokevins May 30 '16 at 18:36
  • 1
    @iokevins - possible... but I'm not using debian/ubuntu/derivatives and my post isn't distro-specific: upstream, there is only one package and that is gnome-desktop; some distros may chose to split the package and call the parts whatever. I'll edit my post to be more specific. – don_crissti May 30 '16 at 19:39
  • I see it now--appreciate the clarification; thank you! – iokevins Jun 2 '16 at 21:57
  • here is a bash example using xmlstarlet to query the XML in the files to which @don_crissti points. – TomRoche Feb 7 '17 at 3:44
  • 1
    Thanks, @don_crissti. Here is a Python 3 script to retrieve the info from that XML: gnome-version.py – Luciano Ramalho Apr 30 '17 at 1:45
3

If you launch gnome-system-monitor it shows the version in the dialog:

% gnome-system-monitor

My aging Fedora 14 box

            ss of monitor dialog fedora

Ubuntu 12.04

             ss of monitor dialog ubuntu

2

Try gnome-session --version. There is a man page for it on my Debian (namely GNOME-SESSION(1)) but the --version option is not listed. Well, for me it says gnome-session 3.4.2.1.

You can run it in the console

DISPLAY=":0" gnome-session --version

(possibly having to change the display).

  • This reports 3.2.1, and gnome-system-monitor reports 3.4.2, so it doesn't look right. And my distro is fully up to date. – l0b0 Apr 22 '13 at 5:33
  • See don_crissti's answer. On my system, /usr/share/gnome/gnome-version.xml has 3.4.2 in it. gnome-session --version reports 3.4.2. gnome-system-monitor reports 3.4.1. based on that and a rough morning I'd say gnome-system-monitor is junk. Further exploring shows that the gnome-system-monitor version (not the gnome version) is 3.4.1.... so that's what that's reporting. Further exploration in my package manager, shows that I have, even with an up-to-date system, a mixture of 3.4.0 (gnome-common), 3.4.1 (gnome-shell) and 3.4.2(gnome-desktop3, gnome-session etc.) components. – SuperMagic Apr 22 '13 at 11:47
  • @SuperMagic: Those numbers are fairly consistent, although it is irritating not to be able to get a definite answer. My /usr/share/gnome/gnome-version.xml says 3.4.2, but gnome-session --version says 3.4.2.1 so that's sort of correct (?). Maybe the morale of all of this is that the version isn't holy; it is just a number. – Emanuel Berg Apr 22 '13 at 22:39
2
$ apt-cache show gnome-shell | grep Version

(Vivid or Wily)

  • 3
    As I said in my post, gnome-shell is just a gnome component so this method is unreliable. Use what the gnome devs use. – don_crissti Sep 3 '15 at 18:46

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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