Как получить версию GNOME?

39

Есть ли авторитетный способ получить версию GNOME , если у меня работает рабочий стол GNOME (любая версия)? Некоторые из этих предложений не работают в моей системе, потому что исполняемые файлы и / или пакеты просто не существуют или пункт меню недоступен.

l0b0
источник

Ответы:

49

GNOME 3 версия хранится в этом файле:

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

содержание (в моей системе):

<?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>

Файл является частью исходного пакета, который называется gnome-desktop(обратите внимание, что некоторые дистрибутивы разделяют его на несколько пакетов, поэтому в вашем дистрибутиве файл может оказаться в пакете с другим именем ...)

GNOMEразработчики используют этот файл, чтобы получить номер версии DE и отобразить его в System Settings(aka gnome-control-center). Поэтому получение GNOMEверсии «официальный путь» означает разбор указанного файл и извлечение platform, minorи microзначение.

Если вы играете с этим файлом, вы можете сразу увидеть результаты :)

введите описание изображения здесь

В GNOME 2рассматриваемом файле есть:

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

(хотя этот файл может отсутствовать в некоторых старых Gnome 2версиях IIRC)


И нет, вы не должны использовать такие команды , как gnome-session --version, gnome-shell --version, и gdm --versionт.д. Это GNOME настольные компоненты , они являются отдельными пакеты (с различным кодом, истории / журнала изменений и сопровождающими) и как таковые их версии могут быть различными. Они сообщат правильную GNOMEверсию, только если они имеют ту же версию, что и gnome-desktop(что не всегда так).

don_crissti
источник
1
Дружественное обновление: на момент написания статьи Debian Stretch (Testing), по-видимому, предоставляет файл /usr/share/gnome/gnome-version.xml в пакете gnome-desktop3-data. Чтобы просмотреть историю установки, в Debian: zgrep «установлен» /var/log/dpkg.log* | grep "gnome-desktop3-data" | cut -d ':' -f2- | sort -r
iokevins
1
@iokevins - возможно ... но я не использую Debian / Ubuntu / производные, и мой пост не является дистрибутивным: в апстриме есть только один пакет, и это gnome-desktop; некоторые дистрибутивы могут разделить пакет и назвать части как угодно. Я отредактирую свой пост, чтобы быть более конкретным.
don_crissti
Я вижу это сейчас - оцените разъяснения; Спасибо!
iokevins
здесь является bashпримером использования XMLStarlet для запроса XML в файлах , к которым @don_crissti точек.
TomRoche
1
Спасибо, @don_crissti. Вот скрипт Python 3 для извлечения информации из этого XML: gnome-version.py
Лучано Рамальо,
3

Если вы запускаете, gnome-system-monitorон показывает версию в диалоговом окне:

% gnome-system-monitor

Моя стареющая коробка Fedora 14

            ss монитора диалоговое окно fedora

Ubuntu 12.04

             диалоговое окно монитора Ubuntu

SLM
источник
2

Попробуй gnome-session --version. Для этого в моем Debian есть страница GNOME-SESSION(1)руководства (а именно ), но эта --versionопция не указана. Ну, для меня это говорит gnome-session 3.4.2.1.

Вы можете запустить его в консоли

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

(возможно, придется изменить дисплей).

Эмануэль Берг
источник
Это сообщает 3.2.1, и gnome-system-monitorсообщает 3.4.2, так что это выглядит неправильно. И мой дистрибутив полностью обновлен.
10
Смотрите ответ don_crissti. В моей системе /usr/share/gnome/gnome-version.xml содержит 3.4.2. отчеты gnome-session --version 3.4.2. отчеты gnome-system-monitor 3.4.1. на основании этого и грубого утра я бы сказал, что gnome-system-monitor - мусор. Дальнейшее изучение показывает, что версия gnome-system-monitor (а не версия gnome) - 3.4.1 .... так вот что сообщает. Дальнейшее исследование в моем менеджере пакетов показывает, что у меня даже с современной системой есть смесь 3.4.0 (gnome-common), 3.4.1 (gnome-shell) и 3.4.2 (gnome-desktop3) гном-сессия и т. д.).
SuperMagic
@SuperMagic: Эти цифры довольно последовательны, хотя раздражает отсутствие возможности получить определенный ответ. Мой /usr/share/gnome/gnome-version.xmlговорит 3.4.2, но gnome-session --versionговорит, 3.4.2.1что это вроде правильно (?). Может быть, мораль всего этого состоит в том, что версия не свята; это просто номер.
Эмануэль Берг
2
$ apt-cache show gnome-shell | grep Version

(Яркий или хитрый)

штифтик
источник
3
Как я уже говорил в своем посте, gnome-shellэто просто gnome компонент, поэтому этот метод ненадежен. Используйте то, что используют разработчики гномов.
don_crissti