LINUX.ORG.RU
ФорумTalks

Конфиги в $HOME: почему сделано именно так, а не иначе?


0

0

Вот с общесистемными конфигами всё понятно: всё в /etc, можно взять и забэкапить эту директорию.

А почему тогда юзерские конфиги хранятся прямо в $HOME, а не, скажем, в $HOME/.etc/ ?

Я вот захотел себе общий между разными системами $HOME, но с разными конфигами. Если б всё было в одном месте - я бы просто мог подмонтировать в эту директорию что-то отдельное или отделаться симлинками, а при том как оно есть - мне либо придется городить симлинки на каждый случай, либо вообще хз.

архаизмы, вообще сейчас больше практикуется ~/.config/<app/vendor>

Sylvia ★★★★★
()
Ответ на: комментарий от hired777

Пишите авторам программ, собственно, а что вы думали? В mplayer уже на моей памяти второй раз отказываются это реализовывать.

Deleted
()
Ответ на: комментарий от hired777

Помнится, была когда-то такая хрень под названием libetc. Грузилась с помощью LD_PRELOAD, перехватывала обращения к файлам с точкой в начале имени, и перенаправляла куда скажут. Вот только оно R.I.P., ЕМНИП

Cancellor ★★★★☆
()
Ответ на: комментарий от Cancellor

XDG_CONFIG_HOME многие программы игнорируют (да, часть соблюдает - но малая...), а libetc таки жуткий костыль.

aix27249
() автор топика
Ответ на: комментарий от NekoExMachina

Виндовс вей, там примерно так и сделано, чтобы проги не хранили данные в Program Files, а девелоперы расслабляются. Лучше запретить ваще создавать конфиги где ненадо. Да да, только массовые расстрелы спасут

Gorthauer ★★★★★
()
Ответ на: комментарий от Gorthauer

очень массовые - тк стандарты игнорят девелоперы всего и вся.. ну почти.

NekoExMachina
()
Ответ на: комментарий от Deleted

>В mplayer уже на моей памяти второй раз отказываются это реализовывать.
Вот же ж... Они вообще какие то невменяемые в mplayer.

anotheranonymous
()
Ответ на: комментарий от NekoExMachina

> XDG_CONFIG_HOME по умолчанию, емнип, ~/.config.

Именно

А всякие нехорошие приложения его игнорят и срут просто в хомяк


Ну почему сразу «нехорошие»? Если такое приложение является чисто десктопным, то да, ему писать конфиг прямо в хомяк не есть хорошо. Но к примеру, вполне хороший, годный openssh-client по умолчанию держит пользовательский конфиг, known_hosts, ключи и т. п. в $HOME/.ssh и правильно делает — не хватало еще, чтобы он начал xdg-user-dirs для работы требовать

dexpl ★★★★★
()
Ответ на: Внезапно от Deleted

Для чтения XDG_CONFIG_HOME не нужен установленный xdg-user-dirs

Действительно, не нужен (перепутал с xdg-user-dirs), но мысль моя в том, что XDG_CONFIG_HOME (и все прочие XDG_*) относятся к, цитирую, «X Window System desktops». Соответственно, сфера его применения должна, как мне кажется, десктопом и ограничиваться

dexpl ★★★★★
()
Ответ на: комментарий от dexpl

Потому, что срач в ~ - не есть «хорошо».

На обычном десктопе у меня - 84 (прописью - восемьдесят четыре) каталога, начинающиеся с ".". Это нормально и хорошо?

different
()

Всё это ещё не так страшно. А вот в солярке, если запустить иксы из-под рута, а потом с полдюжины десктопных программ, то КОРЕНЬ превращается в помойку. А ви мине тут про хомяк. Смищно, ей-богу.

Cancellor ★★★★☆
()
Ответ на: комментарий от Cancellor

> если запустить иксы из-под рута, а потом с полдюжины десктопных программ

Если поместить яйца в дверной проем и резко закрыть дверь...

different
()
Ответ на: комментарий от dexpl

Вот так и думают в mplayer и посылают всех в пешее эротическое путешествие. И ничего не меняется, срач в хомяке продолжается. Кто-то плохо назвал и теперь никто не чешется. А если подумать, с какого бодуна конфиги пользователя должны делиться на проги с GUI и без GUI?

Deleted
()
Ответ на: комментарий от different

> На обычном десктопе у меня - 84 (прописью - восемьдесят четыре) каталога, начинающиеся с ".".

У меня чуть меньше:

ls -ld ~/.??* | grep ^d | wc -l
74

Кстати, этим на LOR'е, кажется, еще не мерялись. Кто больше? :)

> Это нормально и хорошо?

Скорее «нет», чем «да»

dexpl ★★★★★
()
Ответ на: комментарий от Deleted

> с какого бодуна конфиги пользователя должны делиться на проги с GUI и без GUI?

Не «с GUI и без GUI», а «чисто десктопные и нет». mplayer явно относится к первым (да, я знаю про то, что он может работать и без libX11, но все же), ssh — ко вторым

// Перечитал и задумался — а куда отнести, скажем, deluged? У него-то конфиги лежат в $XDG_CONFIG_HOME/deluge/, что не мешает ему работать не только на десктопах

dexpl ★★★★★
()
Ответ на: комментарий от dexpl

Мне кажется, что это искусственное деление. Конфиг он и есть конфиг. Если очень надо, можно создать в ~/.config подкаталог для таких особенных программ, а XDG сокращение как-нибудь по-другому расшифровывать отныне. Что-нибудь пафосное в духе «cross(X) Desktop чего-то-там» или ещё что.

Deleted
()
Ответ на: комментарий от Deleted

Я тут вот еще что подумал — кто-нибудь типа (Open)Solaris'а, AIX'а и прочих BSD с MacOS'ями (не говоря уж про оффтопик) про freedesktop знают? Тот же mplayer AFAIK способен работать на всем перечисленном. Не может ли нежелание его разработчиков связываться с XDG_* происходить из нежелания вносить усложнение в код ради одной ОС (GNU/Linux)?

dexpl ★★★★★
()
Ответ на: комментарий от dexpl

Даже если и не знают, усложнение то в сколько… нескольких строчках? #if'ами их отделить и делов то.

http://bugzilla.mplayerhq.hu/show_bug.cgi?id=1329
http://bugzilla.mplayerhq.hu/show_bug.cgi?id=1605

The XDG specification unfortunately lacks a «scope» section, as such it is hard to tell, however:
MPlayer (excluding the unmaintained gmplayer) is not an X-application. While it can indeed make use of X for video display, it can work just fine without X, using xvidx, mga overlay, ascii art or other output methods, not to mention that it has (admittedly unofficial) ports to e.g. BeOS/Zeta. As such I'd expect the XDG stuff to not apply to it and conforming to it might actually be more confusing than helpful.

Deleted
()
Ответ на: комментарий от Deleted

Причём mplayer такая зараза — пересоздаёт свой пустой конфиг в «~/.mplayer» в то время, как я пользуюсь только smplayer'ом и всего его опции в «~/.config/smplayer».

Deleted
()
Ответ на: комментарий от Deleted

> The XDG specification unfortunately lacks a «scope» section

Звучит резонно, что ни говори. По хорошему, на это стоило бы обратить внимание разработчиков спецификации XDG, если еще не, но лениво, если честно

dexpl ★★★★★
()
Ответ на: комментарий от dexpl

На сайте этого fdo вообще вики торчит, куда крутить, что вертеть (мне, например) не очень понятно %) Нужен засланец доброволец, кто знает ту кухню. Интересно, есть ли тут такие?

Deleted
()
Ответ на: комментарий от Deleted

Пользуясь моментом, кину камень и в сторону гнома. Вообще, GNU должны подавать всем остальным хороший пример. Не пример огораживания себя от мира и нежелания следовать современным требованиям, а пример «красивого и правильного» софта.

melkor217 ★★★★★
()
Ответ на: комментарий от Cancellor

> в солярке, если запустить иксы из-под рута, а потом с полдюжины десктопных программ, то КОРЕНЬ превращается в помойку.

У меня такое получилось после запуска Vmware под SUSE от рута. Кто виноват: Vmware или SUSE — не выяснял.

question4 ★★★★★
()
Ответ на: комментарий от dexpl

Как связано XDG_* и OS?
Переменные окружения можно в любой из них задать, а XDG_ - не больше чем _переменная_, которую обрабатывает не едро ос, как ни странно, а приложения, которые под этой ос запускаются.

NekoExMachina
()

$HOME/.config

Всё, что кидается в $HOME - от плохого настроения разработчиков.

KRoN73 ★★★★★
()
Ответ на: комментарий от NekoExMachina

>Переменные окружения можно в любой из них задать

В MacOS нет переменных окружения. По крайней мере раньше не было, как сейчас - не знаю.

KRoN73 ★★★★★
()
Ответ на: комментарий от Deleted

>>$ ls -ld ~/.??* | grep ^d | wc -l

107

43 :}


Слабаки. 181 :)

KRoN73 ★★★★★
()

А если честно, вам действительно важно, чтобы этих файлов/директорий не было в корне домашней директории? Они же скрытые, я их и не вижу никогда, только если намеренно хочу этого (увидить).

sdio ★★★★★
()
Ответ на: комментарий от sdio

А так

$ find $HOME -maxdepth 1 -type d -name '.*' | wc -l
122
$ find $HOME -maxdepth 1 -type f -name '.*' | wc -l
97
не мешают, лежат себе незаметно.

sdio ★★★★★
()
Ответ на: комментарий от cuki
ls -ld ~/.??* | grep ^d | wc -l

37 Да я крут...

В MacOS нет переменных окружения. По крайней мере раньше не было, как сейчас - не знаю.

Есть там всё. Но там в ~ еще тот срач обычно, просто бедные маководы его не видят из за кривизны файндера

Gorthauer ★★★★★
()
Ответ на: комментарий от Gorthauer

> 37 Да я крут...

61 всего. Периодически вычищаю неиспользуемое. Т.к. по ФС предпочитаю бродить при помощи mc, часто дико раздражает :(

Есть там всё. Но там в ~ еще тот срач обычно, просто бедные маководы его не видят из за кривизны файндера


В ж этот файндер, я и в макоси юзал mc.

pekmop1024 ★★★★★
()
Ответ на: комментарий от sdio

Да, это действительно важно. Понимаешь ли, если закрыть глаза, к примеру, на радиоактивные руины, они от этого не исчезают.

Deleted
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.