Який взаємозв'язок між .gconf, .gnome2, .cache, .local та іншими ієрархіями точкових файлів у моєму домашньому каталозі?


14

У відповідності з цією відповіддю , .local .cacheі .configякі, за угодою, місця зберігання конфігурації , прийнятої Gnome і Ubuntu.

Існують .gnome .gnome2і .gconfтому каталоги спадщини конфігурації, або вони повинні співіснувати?
І чи зміна прийняття dconf змінює ці конвенції про конфігурацію додатків з точковими файлами?

Нарешті, яке відношення параметрів даних gconf-редактора до цих каталогів? Чи містять .gnome / .gconf ту саму інформацію, до якої доступ до редактора gconf?

Оновлення: 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насправді застаріли і не повинні використовуватися. Їх використовував модуль 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 FreeDesktop, http://standards.freedesktop.org/basedir-spec/basedir-spec-latest.html .

Специфікація базового каталогу XDG є стандартом, за нею слідують 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.