Какова связь между .gconf, .gnome2, .cache, .local и другими иерархиями точечных файлов в моем домашнем каталоге?


14

Согласно этому ответу , .local .cacheи .config, по соглашению, хранилища конфигураций приняты Gnome и Ubuntu.

Существуют ли .gnome .gnome2и, .gconfследовательно, устаревшие каталоги конфигурации, или они должны сосуществовать?
И изменяет ли принятие dconf эти соглашения о настройке приложения для работы с точечными файлами?

Наконец, как соотносятся параметры данных gconf-editor с этими каталогами? Содержат ли .gnome / .gconf ту же информацию, к которой обращается gconf-editor?

Обновления: XDG была указана как причина для .cache, .local и .config.

Этот вопрос о dconf говорит о том, что dconf будет заменой gconf, как описано на Gnome.org . Кроме того, Жоао говорит, что dconf - это

Технология GNOME используется для хранения настроек приложения. [...] dconf - это замена GNOME3 для gconf, которая не поддерживалась в течение некоторого времени. Также ожидается, что dconf принесет улучшение производительности по сравнению с gconf (актуально для запуска приложений).

Я ожидаю, исходя из этого, что будет несколько анархичный путь перехода от настроек gconf к dconf. Я хотел бы услышать любые дополнительные перспективы.

Ответы:


16

.local, .cacheИ .configявляются частью FreeDesktop базовой спецификации Справочника . Они не должны быть на самом деле жестко , но вместо того, чтобы использовать переменные окружения (т.е. $XDG_DATA_HOME, $XDG_CACHE_HOMEи $XDG_CONFIG_HOME). Существуют обертки GLib и Python для спецификации, которые также могут быть полезны. Вот пример в Python:

>>> import xdg.BaseDirectory
>>> print xdg.BaseDirectory.xdg_data_home
/home/andrew/.local/share
>>> print xdg.BaseDirectory.xdg_config_home
/home/andrew/.config
>>> print xdg.BaseDirectory.xdg_cache_home
/home/andrew/.cache

.gnomeи .gnome2действительно устарели и не должны использоваться. Они использовались модулем libnome- gnome-config .

.gconfдействительно содержит настройки, которые gconf-editorдоступны как XML-файлы. Например, сравните вывод следующих команд:

gconftool -a /desktop/gnome/applications/browser

cat ~/.gconf/desktop/gnome/applications/browser/%gconf.xml

Я наткнулся на ваш ответ, когда пытался найти, как найти каталог конфигурации из приложения GTK. Для других программистов, которые приходят за мной, есть оболочка gtk (glib), которая использует XDG в Linux, а также обрабатывает MS Windows. Конкретная информация здесь: developer.gnome.org/glib/2.30/…
teambob

Вы правы. Я в основном просто описывал этот ответ, не предоставляя примеров программисту. Я обновлю ответ, чтобы добавить немного больше информации для тех, кто наткнулся на это.
Andrewsomething

5

Правильная формулировка должна заключаться в том, что .local, .cache и т. Д. Являются частью спецификации XDG Base Directory FreeDesktop, http://standards.freedesktop.org/basedir-spec/basedir-spec-latest.html .

XDG Base Directory Specification является стандартом, за ним следуют KDE и другие совместимые среды.


Что значит быть послушным? Существует ли мандат на преобразование приложений, использующих другую спецификацию, в спецификацию XDG или иное, чтобы исключить их из базовой установки Gnome / KDE? Если да, будет ли мандат исполнен? Отмечены ли кем-либо несоответствующие сторонние приложения или существуют различные условные обозначения / каталоги, которые считаются заданными, то есть что-то, что будет продолжаться до тех пор, пока все разработчики экосистем добровольно не откажутся? У меня не установлен KDE, но базовая версия Ubuntu / Gnome для моей системы 10.10 содержит каталоги XDG, о которых вы упомянули. Возможно, это добровольное соблюдение?
belacqua

2
По большей части это добровольное соответствие, но в прошлом обсуждался вопрос о том, как сделать соответствие XDG «целью» для всех приложений при установке по умолчанию.
Andrewsomething

1
Это добровольное соответствие, но пользователи могут (и многие это делают) заполнять отчеты об ошибках в несовместимых приложениях с просьбой придерживаться стандарта. Разгромление их папки $ HOME - одно из величайших преимуществ стандарта XDG, поэтому пользовательское давление, как правило, довольно велико в старых приложениях.
MestreLion
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.