Почему некоторые приложения используют ~/.config/appname для их данных конфигурации, в то время как другие используют ~/.appname?

Компиляция Вашего собственного ядра позволяет Вам участвовать в процессе разработки ядра, является ли это простым материалом, таким как предоставление идентификаторов PCI/USB-устройства для существующего драйвера, который может заставить более новое устройство работать на Вас к связыванию глубоко с дракой базовой разработки ядра.

Это также позволяет Вам тестировать ядра разработки на своих аппаратных средствах и обеспечивать обратную связь, если Вы замечаете какие-либо регрессии. Это может быть особенно полезно Вам и другим, если у Вас есть редкая часть аппаратных средств. Если Вы ожидаете ядра дистрибутива, оно может занять время для мер от Вашей проблемы, сообщает для фильтрации в новый выпуск ядра дистрибутива.

Мне также лично нравится компилировать мои собственные ядра для включения поддержки только аппаратных средств, которые я имею. Когда Вы выполняете ядра дистрибутива и смотрите на вывод lsmod(8), Вы видите много модулей, загруженных для аппаратных средств, которые Вы не имеете. Это может загрязнить список модулей,/proc,/sys и Ваши журналы, таким образом что при поиске чего-то, которое он может быть скрыт среди шума; Вы также не можете быть на 100% уверены, что те модули не способствуют проблеме, которую Вы пытаетесь диагностировать.

37
11.11.2011, 04:20
3 ответа

Поскольку те приложения то место конфигурационные файлы в $HOME игнорируют Спецификацию Базового каталога XDG, особенно:

Существует единственный базовый каталог, относительно которого должны быть записаны определенные для пользователя конфигурационные файлы. Этот каталог определяется $XDG_CONFIG_HOME переменной среды...

Если $XDG_CONFIG_HOME или не установлен или не пуст, значение по умолчанию, равное $HOME/.config, должно использоваться.
24
27.01.2020, 19:36
  • 1
    Похож на мой (значение по умолчанию XUbuntu 11.10) $XDG_CONFIG_HOME установлен на ~/, но существует все еще много использований приложений ~/.config/ –  Ivan 11.11.2011, 03:54
  • 2
    Этот ответ совсем не завершен. А именно, это, кажется, подразумевает, что спецификация была там со дня один, и это - просто приложения, которые проигнорировали его с начала. Но на самом деле существуют некоторые приложения, которые были вокруг для намного дольше, чем XDG с его спецификацией. –  Ruslan 08.06.2016, 10:17
  • 3
    версия 0.7 стандарт Poettering. Это должно быть действительно важно. Кто-либо может объяснить, какую проблему стандарт решает? –  ceving 21.07.2017, 10:55
  • 4
    @Ruslan: это было там с 2003. Это 15 лет назад! Правда, это не день один и многие, программное обеспечение было создано перед этим. Но любое такое программное обеспечение, скорее всего, имело много обновлений для тихого использований сегодня, так смело можно сказать, те, которые не мигрировали на стандарт XDG, сознательно принял решение проигнорировать его. –  MestreLion 14.03.2018, 06:34
  • 5
    @ceving: это решает проблему организации директоров пользователя тот же путь /организован: не смешивание данных с исполняемыми файлами с конфигурацией. ~/.config дубликат пользователя /etc, и это помогает чрезвычайно в резервных копиях, например. Без /.config, любое резервное копирование настроек должно было бы или вручную включать всех директоров приложений или вручную исключить всех пользовательских директоров "больших данных" (Видео, Музыка и любые другие персональные директора, которых он, возможно, создал). –  MestreLion 14.03.2018, 07:04

Дополнение к большому ответу jasonwryan, решая некоторые Ваши проблемы:

  • Ваш $XDG_CONFIG_HOME не установлен на ~/. Это просто не установлено. Таким образом, приложения, которые следуют за Спецификацией XDG, используют значение по умолчанию ~/.config

  • Директора внутри /.config не скрыты, потому что они не имеют к. Смысл использования a ~/.config dir должен не создать помехи пользователю $HOME. Так как они уже находятся в отдельном, скрытом dir, нет никакой потребности, которая будет скрыта внутри там.

  • Программное обеспечение, которое не следует за спецификацией (к сожалению, все еще подавляющее большинство) использует скрытый dir для их настроек (как ~/.myapp) как попытка не создать помехи пользователю $HOME. Это (своего рода) работы, но это - все еще плохой подход, когда, например, Вы пытаетесь скопировать свои настройки и свои "большие данные" (как Изображения, Видео, Музыка) отдельно. Наличие всех настроек в единственном месте, не смешиваясь с данными пользователя, является намного лучшим подходом

  • Что касается "наличия постоянных имен, независимо от где XDG_CONFIG_HOME точки к", они уже делают: это appname без ведущей точки.Помните: те использование $HOME/.appname те, которые игнорируют Спецификацию XDG. Они используют путь hardcoded.

  • Что касается Ваших приложений, используйте Стандарт XDG! Я прошу Вас, и Ваши пользователи скажут спасибо за Вас не создание помех их $HOME дальше.

44
27.01.2020, 19:36
  • 1
    Просто хочу сказать, что Ваш ответ является самым превосходным! Расхожее мнение особенно полезно, и Ваши идеи очень хорошо объясняются :) Спасибо! –  Steve Benner 23.01.2016, 14:19
  • 2
    Где имеет различие между списком скрытых файлов в Корневом каталоге и списком не скрытые файлы в скрытом каталоге конфигурации? Для меня это настолько же широко, как это длинно. –  ceving 21.07.2017, 10:58
  • 3
    @ceving: Я вижу 2 основных отличий, косметику и практический: от Вашего $HOME точка зрения, это - сингл ~/.config запись вместо нескольких, возможно, десятки из них. И это делает резервные копии из Ваших настроек (или, исключая их) намного намного легче! Как можно сказать независимо параметры настройки программного обеспечения от, скажем, Вашего ~/Documents или Ваш ~/.cache? –  MestreLion 21.07.2017, 13:29

Более спорное ответ:

  • ~ / .config является значением по умолчанию для стандарта XDG, который применяется только к приложениям, придерживающимся стандартов FreeDesktop.org (также с использованием переменной $ XDG_CONFIG_HOME ).
  • ~ / .appname существовал до стандарта freedesktop
  • Не всем нравится стандарт freedesktop
  • "Беспорядок" $ HOME , на мой взгляд, не проблема.
7
27.01.2020, 19:36

Теги

Похожие вопросы