Не так давно я
рассказывал про то, как подружить google chrome и magnet-ссылки. Сегодня хочу поведать, как тем же способом немного поизвращаться с хромом и позволить создавать закладки на исполнение системных команд.
Не так давно на welinux в комментариях к одному из постов состоялась беседа о том что хорошо бы хранить все конфиги не в
~/ а в определенном каталоге. Мало того что кому-то это хорошо так ещё и стандарт такой имеется. Согласно этому стандарту все пользовательские настройки должны храниться в переменной
$XDG_CONFIG_HOME, а если она не установлена то в каталоге
~/.config.
Однако, по разным причинам, многими программами этот стандарт не поддерживается.
На помощь таким программам приходит LD_PRELOAD-able библиотека
libetc с помощью которой любая попытка открыть dot-файл (файл с точкой в начале) перенаправляется в
$XDG_CONFIG_HOME т.е. конфиги всех программ можно хранить в папке определенной стандартом. Библиотека достаточно старая, и я удивлен почему о ней знает не так много людей
Для использования достаточно экспортировать несколько переменных
1
2
|
export LD_PRELOAD=libetc.so.0 # загружаем библиотеку
export LIBETC_BLACKLIST=/bin/ls:/bin/mv:/bin/cp:/bin/ln:/usr/bin/find:/bin/rm # на эти программы внимания не обращать |
Ну и XDG_CONFIG_HOME можно выставить.
После сих нехитрых манипуляций пути будут транслироваться из
~/.* в
$XDG_CONFIG_HOME/* (~/.config/*)
Более подробно о использовании библиотеки можно прочитать в её README файле
Домашняя страничка libetc
Магнет ссылки предназначены для указания на ресурсы, доступные к загрузке через p2p сети. Такие ссылки в основном идентифицируют файлы не по их расположению или имени, а по содержанию, точнее, по хеш-коду.
При клике по такой ссылке google chrome передаёт эту ссылку утилите xdg-open, которая в свою очередь передаёт ссылку конечной программе. Но вряд ли xdg-open точно знает какая программа должна обрабатывать magnet-ссылку и у меня, например, xdg-open передавала ссылку x-www-browser, коим в моей системе является google-chrome. Сейчас я расскажу вам как научить xdg-open открывать magnet-ссылки тем, чем нужно.