The OpenNET Project / Index page

[ новости/++ | форум | wiki | теги ]

Перемещение всех пользовательских файлов конфигурации в отдельную директорию
Чтобы принудительно переместить все пользовательские файлы конфигурации из
корня домашней директории в отдельный каталог (допустим ~/.config) можно
воспользоваться библиотекой libetc (http://ordiluc.net/fs/libetc/). libetc
подгружается к приложениям через механизм LD_PRELOAD, подменяя собой некоторые
библиотечные вызовы и самостоятельно обрабатывая ситуацию открытия файлов и
директорий, начинающихся с точки. Базовый путь берется из переменной окружения
$XDG_CONFIG_HOME, определенной для этих целей в стандарте http://standards.freedesktop.org/basedir-spec/

Пример использования, в ~/.bashrc, ~/.zshrc или ~/.xsession добавляем:

   # загружаем библиотеку
   export LD_PRELOAD=libetc.so.0 
   # список игнорирования
   export LIBETC_BLACKLIST=/bin/ls:/bin/mv:/bin/cp:/bin/ln:/usr/bin/find:/bin/rm 
   # Перемещаем файлы конфигурации в директорию /home/luc/config
   export XDG_CONFIG_HOME=/home/luc/config

Если явно не определена переменная окружения XDG_CONFIG_HOME, в качестве
базового пути будет использована директория ~/.config/

Работа libetc проверена в таких программах, как OpenOffice.org, KDE, Gnome,
Firefox, Mutt, vim, Thunderbird, Sylpheed, Gimp.
 
Ключи: libetc, config, ld_preload, lib / Лицензия: CC-BY
Раздел:    Корень / Пользователю / Файлы, копирование, архивация

Обсуждение [ Линейный режим | Показать все | RSS ]
 
  • 1.1, SwitNJ, 10:59, 29/03/2010 [ответить] [смотреть все]
  • +/
    давно бы уже унесли все настройки в одну директорию! это именно то что меня больше всего напрягает - куча точечных директорий муляющих под ногами
     
     
  • 2.2, Heckfy, 11:19, 29/03/2010 [^] [ответить] [смотреть все]
  • +/
    vim?
    я бы не рискнул его изолировать. :)
     
  • 2.7, фтфтф, 13:12, 31/03/2010 [^] [ответить] [смотреть все]
  • +/
    Уже давно все в одной, $HOME зовётся.

     
  • 1.3, Anon, 17:15, 29/03/2010 [ответить] [смотреть все]
  • +/
    Кстати да. Было бы неплохо так сделать сразу для целого дистра. Может подкинуть идейку Шаттворту?
     
  • 1.4, Хоменко, 18:13, 29/03/2010 [ответить] [смотреть все]
  • +/
    Без паники, товарищи, без паники.

    Миграция всех ~/.fafa.conf в ~/.config уже идет полным ходом. Третьего дня обнаружил в ~/.vlc файл readme, где говорилось, что ~/.vlc по прочтении данного файла можно удалить, и что они переехали в ~/.config.

    Все устроится в свое время. А костыль с LD_PRELOAD есть что-то на манер proof of concept. Не нужен он.

     
  • 1.8, кодир, 12:17, 01/04/2010 [ответить] [смотреть все]  
  • +/
    Система файлов-конфигов тоже как бы устарела - слишком примитивно. Линуксу давно уже надо было подумать о центральном реестре. Да, как у винды, что с того? Зато это универсальнее и переносимее.
     
     
  • 2.9, Игорь Фролов, 12:42, 01/04/2010 [^] [ответить] [смотреть все]  
  • +/
    Может оно и хорошо бы было, но глядя на виндовый реестр заметны некоторые проблемы:
    1. Иногда реестр погибает, а поскольку формат бинарный и точно в его устройстве никто кроме как "разработчик" не уверен, восстановить его практически нереально (то что его необходимо бэкапить - это и коню понятно, только делают это далеко не все)
    2. При эксплуатации реестр забивается различным информационным хламом, толково очистить от которого не в состоянии ни один "чистильщик реестра".
    Я бы не хотел уходить от текстовых настроек
     
     
  • 3.10, Вова, 13:28, 01/04/2010 [^] [ответить] [смотреть все]  
  • +/
    я вообще не вижу проблемы в файликах в хомесе ~/.*, на домашней эвм $HOME прожил 8 лет, ничего не было утеряно, проблем не замечал, на рабочем месте 4ре года -полёт нормальный.
     
  • 2.11, Hate, 20:08, 01/04/2010 [^] [ответить] [смотреть все]  
  • +/

    >Система файлов-конфигов тоже как бы устарела - слишком примитивно. Линуксу давно уже

    Согласен.


    >надо было подумать о центральном реестре. Да, как у винды, что
    >с того? Зато это универсальнее и переносимее.

    Реестр это утопия.

    Не понимает это только ленивый. :)

     
  • 2.12, rm_, 08:21, 02/04/2010 [^] [ответить] [смотреть все]  
  • +/
    > Система файлов-конфигов тоже как бы устарела - слишком примитивно.

    Колесо тоже как бы устарело - слишком примитивно.

     
  • 2.14, Kroz, 14:45, 06/04/2010 [^] [ответить] [смотреть все]  
  • +/
    Можно пример того, как вы реестр перенесете реестр в одном бинарном файле на ... весь текст скрыт [показать]
     
  • 1.13, pika, 12:32, 06/04/2010 [ответить] [смотреть все]  
  • +/
    цитата1
    "Перемещение всех пользовательских файлов конфигурации в отдельную директорию"

    цитата2
    "Пример использования, в ~/.bashrc, ~/.zshrc или ~/.xsession добавляем:"

    Ну и что это за перенос ВСЕХ файлов, если мне нужно полюбом .bashrc оставить в стандартном месте ?

    Не страдайте фигней..

     

    Ваш комментарий
    Имя:         
    E-Mail:      
    Заголовок:
    Текст:



      Закладки на сайте
      Проследить за страницей
    Created 1996-2017 by Maxim Chirkov  
    ДобавитьРекламаВебмастеруГИД  
    Hosting by Ihor