Довольно давно, я использую torrent клиент deluge. Всем замечательная качалка торрентов, но вот постоянно меня раздражало то, что когда пытаешься из него открыть папку, она открывалась в браузере вместо pcmanfm например. В gnome\kde\xfce с этим проще, в них не используется xdg-open, там свои утилиты. Та же ситуация была и с dropbox, и думаю ещё с многими программами. Долго я мучился с этим. Пока в один день, не вспомнил что nixtrian, не так давно решал схожую проблему. С ним мы довольно быстро нашли решение, которое оказалось весьма тривиальным.
Открываем файл /usr/bin/xdg-open и находим следующие строки:
open_generic()
{
IFS=":"
for browser in $BROWSER; do
if [ x"$browser" != x"" ]; then
IFS=' '
browser_with_arg=${browser//'%s'/"$1"}
if [ x"$browser_with_arg" = x"$browser" ]; then "$browser" "$1";
else $browser_with_arg;
fi
if [ $? -eq 0 ]; then exit_success;
fi
fi
done
exit_failure_operation_impossible "no method available for opening '$1'"
}
Нам нужно добавить в самом начале одну функцию, которая собственно и будет открывать ссылки на файлы в pcmanfm.
if [ -d "$1" ]; then
pcmanfm $1
exit
fi
После добавления, будет выглядеть примерно так:
open_generic()
{
if [ -d "$1" ]; then
pcmanfm $1
exit
fi
IFS=":"
for browser in $BROWSER; do
if [ x"$browser" != x"" ]; then
IFS=' '
browser_with_arg=${browser//'%s'/"$1"}
if [ x"$browser_with_arg" = x"$browser" ]; then "$browser" "$1";
else $browser_with_arg;
fi
if [ $? -eq 0 ]; then exit_success;
fi
fi
done
exit_failure_operation_impossible "no method available for opening '$1'"
}
Pcmanfm можно заменить на любой другой файловый менеджер по вкусу.
Всё бы было гораздо проще, если бы была хоть какая либо вменяемая документация по xdg-open. Хотя, возможно, я её просто не нашёл. Зато, в процессе поиска, была найдена одна приятная команда:
xdg-open $(ls . | dmenu)
Похожие записи:

Спасибо за статью. Еще бы заставить Deluge файлы открывать не через Firefox
[Ответить]
bosha Отвечает:
Февраль 3rd, 2010 at 23:46
Всегда пожалуйста.
Это поможет и в этом случае (во всяком случае у меня deluge теперь в pcmanfm файлы открывает).
[Ответить]
Ссылка | Февраль 1st, 2010 at 18:04
прикинь, я этот пост в гугле случайно нашел! (:
Спасибо за совет :) pcmanfm заменить надо на pcmanfm2
[Ответить]
bosha Отвечает:
Февраль 17th, 2010 at 01:27
А что в этом удивительного? :)
А что за pcmanfm2? Форк или новая версия?
[Ответить]
MyFreeWeb Отвечает:
Февраль 17th, 2010 at 01:34
нови, свежи
yaourt -S pcmanfm-git
[Ответить]
bosha Отвечает:
Февраль 17th, 2010 at 01:36
Эм.. yaourt - это не ко мне. Вот emerge другое дело ;)
Cпасибо. Гляну на changelog'и, может правда стоит сделать ebuild и использовать версию из git ☺
[Ответить]
Ссылка | Февраль 17th, 2010 at 01:19