Можно использовать lsof
найти PID процесса, получающего доступ к определенному файлу:
[rhusar@rhusar ~]$ ps xafu | grep cat
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
cat 5700 rhusar 1w REG 0,29 57 13154551 /tmp/abc
Однако, если бы его вход через сам HTTPD, я думал бы, что Вы могли бы только видеть PID экземпляра HTTPD.
/usr/bin
Сам скрипт предлагает метод для предоставления альтернативы iceweasel. Я предполагаю, что скрипт называется /usr/bin/firefox
. Таким образом, строка
FIREFOX="$(which $0)"
установила бы FIREFOX
в /usr/bin/firefox
. Таким образом, $FIREFOX.real
был бы /usr/bin/firefox.real
. Строка
[ -x "$FIREFOX.real" ] && exec "$FIREFOX.real" "$@"
смотрит, существует ли исполняемый файл с суффиксом .real
и запускает его. Если она не находит его, то возвращается к iceweasel
. Таким образом, чтобы обойти iceweasel
, необходимо создать firefox.real
:
sudo ln -sT "$location_to_firefox" /usr/bin/firefox.real
Обратите внимание, что для записи в /usr/bin
требуются привилегии root.
~/bin
Если вы загрузили firefox в ваш домашний каталог где-то, используйте этот метод. По умолчанию Debian настроен так, что если у вас в каталоге bin
есть каталог $HOME
, то он подготовит его к вашему пути. Таким образом, все, что вам нужно сделать, это:
mkdir -p ~/bin && ln -sT "$location_to_firefox" ~/bin/firefox
Как только эта сим-ссылка будет установлена, она переопределит /usr/bin/firefox
. Выходите и возвращайтесь назад, чтобы изменения вступили в силу. Для подтверждения выполните команду -v firefox
и убедитесь, что она распечатала путь к firefox в вашем каталоге ~/bin
.
Специально для gnome существует альтернативная конфигурация debian под названием gnome-www-browser
. Альтернативы в debian предоставляют способ определения набора возможных альтернатив для данной функциональности в масштабе всего сайта. В случае с gnome-браузером это просто сим-ссылка на браузер, запущенный на рабочем столе при необходимости или вызове браузера.
Вы можете настроить, перечислить доступные опции, добавить и удалить опции с помощью /usr/sbin/update-альтернативы
(8). Например:
# update-alternatives --list gnome-www-browser
/usr/bin/chromium
/usr/bin/iceweasel
/usr/bin/opera
Представьте, что вы только что установили последние исполняемые файлы firefox в /opt/firefox
, и хотите установить его в качестве браузера по умолчанию для всех пользователей gnome. Сначала нужно добавить этот новый бинарный файл в список доступных браузеров:
# update-alternatives --install /usr/bin/gnome-www-browser gnome-www-browser /opt/firefox/firefox 100
# update-alternatives --list gnome-www-browser
/opt/firefox/firefox
/usr/bin/chromium
/usr/bin/iceweasel
/usr/bin/opera
# update-alternatives --display gnome-www-browser
gnome-www-browser - auto-mode
link currently points to /usr/bin/opera
/opt/firefox/firefox - prority 100
/usr/bin/chromium - priority 40
/usr/bin/iceweasel - priority 70
slave gnome-www-browser.1.gz: /usr/share/man/man1/iceweasel.1.gz
/usr/bin/opera - priority 200
slave gnome-www-browser.1.gz: /usr/share/man/man1/opera.1.gz
Current 'best' version is '/usr/bin/opera'
Как видите, каждый параметр привязан к определенному приоритету, который при работе альтернативы в режиме auto определяет, какой параметр будет выбран. Вы также видите, что я определил приоритет 100 для Firefox, и что пакет опера устанавливается с приоритетом 200 (!), что делает его по умолчанию в автоматическом режиме. Вы можете отменить это решение, установив, какую опцию вы хотите взять на себя:
# /usr/bin/update-alternatives --set gnome-www-browser /opt/firefox/firefox
# update-alternatives --display gnome-www-browser
gnome-www-browser - manual-mode
link currently points to /opt/firefox/firefox
/opt/firefox/firefox - prority 100
/usr/bin/chromium - priority 40
/usr/bin/iceweasel - priority 70
slave gnome-www-browser.1.gz: /usr/share/man/man1/iceweasel.1.gz
/usr/bin/opera - priority 200
slave gnome-www-browser.1.gz: /usr/share/man/man1/opera.1.gz
Current 'best' version is '/usr/bin/opera'
Вы видите, что и ссылка, и режим были обновлены.
В качестве бонуса вам больше не нужно запускать firefox
, используя alt-F2.