Исполняемый файл в Linux, который открывает ресурс с вашей "любимой" программой, называется xdg-open
. Это несколько сложно, но вы можете добавить дополнительные правила, используя xdg-mime install
. Тем не менее, я не знаю, можете ли вы сделать это для чего-то вроде определенного URL.
Это еще более усложняется тем, что конкретные среды рабочего стола используют разные исполняемые файлы и методы для открытия своих программ по умолчанию. Например, в KDE есть kde-open
, но не все приложения KDE, похоже, используют это.
Несмотря на это, я получил это частично с помощью сценария оболочки и списка доменов /URL-адресов в файле. Вы можете настроить его по своему вкусу.
Примечание. Вам может потребоваться повторить этот процесс для других исполняемых файлов, в зависимости от среды рабочего стола. Например, в Gnome есть gvfs-open
, в KDE - kde-open
, а в XFCE - exo-open
. (Даже тогда, это может не работать для каждого приложения.)
Примечание. Сценарий оболочки зависит от установки pcregrep
в вашей системе.
Найдите исполняемый файл xdg-open
which xdg-open
Создайте новый каталог в вашей домашней папке
mkdir -p ~/.local/bin
Добавьте следующее в ваш файл ~/.bashrc
~/.Bashrc
export PATH="${HOME}/.local/bin:${PATH}"
Создайте сценарий оболочки во вновь созданной папке. (Обязательно отредактируйте четыре верхние переменные, чтобы они соответствовали вашей системе!)
~/.Local /бен /XDG открыть
#!/bin/bash
DOMAIN_LIST_FILE=~/'domains.txt'
OTHER_BROWSER='/path/to/other-browser' # For instance /usr/bin/firefox
BROWSER_OPTIONS='' # Optional, for command line options passed to browser
XDG_OPEN='/path/to/xdg-open'
if echo "$1" | pcregrep -q '^https?://'; then
matching=0
while read domain; do
if echo "$1" | pcregrep -q "^https?://${domain}"; then
matching=1
break
fi
done < "$DOMAIN_LIST_FILE"
if [[ $matching -eq 1 ]]; then
"$OTHER_BROWSER" $BROWSER_OPTIONS ${*}
exit 0
fi
fi
"$XDG_OPEN" ${*}
Создайте список доменов в вашей домашней папке
~/Domains.txt
stackexchange.com
stackoverflow.com
superuser.com
Выйдите из системы и войдите снова, чтобы настройки вступили в силу