
Existe ummaneira oficial de obter a versão do GNOME, contanto que eu tenha uma área de trabalho GNOME funcionando (qualquer versão) em execução? Muitos deessas sugestõesnão funciona no meu sistema, seja porque os executáveis e/ou pacotes simplesmente não existem ou o item de menu não está disponível.
Responder1
Para GNOME 4
, eles usam gnome-shell
versão.Se olharmos para o código fontepodemos ver que eles estão relatando a gnome-shell
versão como "versão GNOME" no painel Settings
> Info
:
static char *
get_gnome_version (GDBusProxy *proxy)
{
g_autoptr(GVariant) variant = NULL;
const char *gnome_version = NULL;
if (!proxy)
return NULL;
variant = g_dbus_proxy_get_cached_property (proxy, "ShellVersion");
if (!variant)
return NULL;
gnome_version = g_variant_get_string (variant, NULL);
if (!gnome_version || *gnome_version == '\0')
return NULL;
return g_strdup (gnome_version);
}
Há um debate agora se esta foi a coisa certa a fazer, veja
visão geral de informações: renomeie "Versão do GNOME" para "Versão do Shell do GNOME"
Observe que a introdução dessa discussão confirma o que venho dizendo o tempo todo:
A versão GNOME e a versão GNOME Shell não são a mesma coisa...
Não me surpreenderia se eles mudassem novamente no futuro. Até então, obter a versão Gnome DE significa obter a versão gnome-shell, então use
gnome-shell --version
ou
busctl --user get-property org.gnome.Shell /org/gnome/Shell org.gnome.Shell ShellVersion
Em GNOME 3
, a versão é armazenada neste arquivo:
/usr/share/gnome/gnome-version.xml
conteúdo (no meu sistema):
<?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>
O arquivo faz parte do pacote upstream chamadognome-desktop
(observe que algumas distros o dividem em vários pacotes, então na sua distribuição o arquivo pode acabar em um pacote com um nome diferente...)
GNOME
desenvolvedoresuse este arquivo para obter o número da versão DE e exibi-loem System Settings
(também conhecido como gnome-control-center
). Então, obtendo GNOME
a versão"a maneira oficial"significa analisar o referido arquivo e extrair e platform
valores .minor
micro
Se você brincar com esse arquivo, poderá ver os resultados instantaneamente :)
No GNOME 2
arquivo em questão está:
/usr/share/gnome-about/gnome-version.xml
(embora este arquivo possa estar faltando em algumas Gnome 2
versões mais antigas do IIRC)
Observe que para GNOME v.2 e v.3 comandos como gnome-session --version
, gnome-shell --version
, gdm --version
etc podem retornar números confusos. Esses são desktops GNOMEcomponentes, eles são pacotes separados (com código, histórico/changelog e mantenedores diferentes) e, como tal, sua versão pode ser diferente. Eles reportarão a GNOME
versão corretasomente se eles tiverem a mesma versãocomo gnome-desktop
(o que nem sempre é o caso).
Responder2
Se você iniciar, gnome-system-monitor
ele mostrará a versão na caixa de diálogo:
% gnome-system-monitor
Minha caixa Fedora 14 envelhecida
Ubuntu 12.04
Responder3
$ apt-cache show gnome-shell | grep Version
(Vívido ou Astuto)
Responder4
Paramuitonovos sistemas Gnome (> 40ish), o arquivo sugerido em Resposta de @don_crisstinão está mais aqui:
~$ cat /usr/share/gnome/gnome-version.xml
cat: /usr/share/gnome/gnome-version.xml: No such file or directory
Acho que o caminho mais seguro é seguir assugestão oficial do GNOME:
O que, no meu sistema, dá: