Finns det ett auktoritativt sätt att få GNOME-versionen , så länge jag har ett fungerande GNOME-skrivbord (vilken version som helst) som kör? Flera av dessa förslag fungerar inte på mitt system, antingen eftersom körbara filer och / eller paket helt enkelt inte finns eller om menyalternativet inte är tillgängligt.
Svar
GNOME 3
version lagras i den här filen:
/usr/share/gnome/gnome-version.xml
innehåll (på mitt 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>
Filen är en del av uppströmspaketet som heter gnome-desktop
(notera att vissa distros dela upp det i flera paket så på din distro kan filen hamna i ett paket med ett annat namn …)
GNOME
utvecklare använd den här filen för att få DE-versionsnumret och visa det i System Settings
(aka gnome-control-center
). Så att få GNOME
version ” det officiella sättet ” betyder att analysera filen och extrahera platform
, minor
och micro
värden.
Om du spelar med den filen kan du direkt se resultaten 🙂
I GNOME 2
är filen i fråga:
/usr/share/gnome-about/gnome-version.xml
(även om den här filen kanske saknas på vissa äldre Gnome 2
versioner IIRC)
Och nej, du bör inte använda kommandon som gnome-session --version
, gnome-shell --version
, gdm --version
etc. Det här är GNOME-skrivbords komponenter , de är separata paket (med annan kod, historik / ändringslogg och underhållare) och som sådan kan deras version vara annorlunda. De kommer att rapportera rätt GNOME
version bara om de har samma version som gnome-desktop
(vilket inte alltid är fallet).
Kommentarer
- En vänlig uppdatering: när detta skrivs verkar Debian Stretch (Testing) tillhandahålla fil / usr / share / g nome / gnome-version.xml i paketet gnome-desktop3-data. För att se installationshistorik, på Debian: zgrep " installerat " /var/log/dpkg.log* | grep " gnome-desktop3-data " | klipp -d ': ' -f2- | sortera -r
- @iokevins – möjligt … men jag ' använder inte debian / ubuntu / derivat och mitt inlägg är inte ' t distro-specifikt: uppströms, det finns bara ett paket och det är
gnome-desktop
; vissa distros kan välja att dela upp paketet och kalla delarna vad som helst. Jag ' Jag redigerar mitt inlägg för att vara mer specifikt. - Jag ser det nu – uppskattar förtydligandet; tack!
- här är ett
bash
-exempel med xmlstarlet för att fråga XML i filerna som @don_crissti pekar på. - Tack, @don_crissti. Här är ett Python 3-skript för att hämta informationen från den XML: gnome-version.py
Svar
Om du startar gnome-system-monitor
visas versionen i dialogrutan:
% gnome-system-monitor
Min åldrande Fedora 14-ruta
Ubuntu 12.04
Kommentarer
Svar
Försök gnome-session --version
. Det finns en mansida för det på min Debian (nämligen GNOME-SESSION(1)
) men alternativet --version
listas inte. Tja, för mig står det gnome-session 3.4.2.1
.
Du kan köra den i konsolen
DISPLAY=":0" gnome-session --version
(eventuellt måste du ändra skärmen).
Kommentarer
- Detta rapporterar 3.2.1 och
gnome-system-monitor
rapporter 3.4.2, så det <
ser inte rätt ut. Och min distro är helt uppdaterad.
/usr/share/gnome/gnome-version.xml
säger 3.4.2
, men gnome-session --version
säger 3.4.2.1
så att ' är rätt (?). Kanske är moralen med allt detta att versionen inte är ' t helig; det är bara ett nummer. Svar
$ apt-cache show gnome-shell | grep Version
( Vivid eller Wily)
Kommentarer
- Som jag sa i mitt inlägg är
gnome-shell
bara engnome
komponent så den här metoden är opålitlig. Använd vad gnome-devs använder.
gnome-system-monitor
vid standardinställning av Centos 7.5.