3

Я использую Chrome в качестве браузера по умолчанию в Ubuntu 12.10. Мне нужно использовать Firefox для деловых целей (некоторые сайты, относящиеся к моей работе, работают только с Firefox). Есть ли способ заставить Ubuntu использовать Firefox для определенных типов URL (может быть, как это определено регулярным выражением), при этом сохраняя Chrome в качестве браузера по умолчанию для всех других моих задач? Возможно, как сценарий оболочки работает в фоновом режиме? Я хотел бы, чтобы это работало в масштабе всей системы, включая ссылки на сам Chrome, а также файлы PDF /ODT и т.д.

Я искал решения, но не смог найти ничего, кроме OpenWith, расширения Firefox, которое добавляет кнопку для открытия определенных ссылок в других браузерах, что снова потребовало бы от меня открытия Firefox заранее, что мне совсем не помогает.

У кого-нибудь есть какие-либо идеи? Что-то вроде Choosy для Linux?

1 ответ1

5

Исполняемый файл в Linux, который открывает ресурс с вашей "любимой" программой, называется xdg-open . Это несколько сложно, но вы можете добавить дополнительные правила, используя xdg-mime install . Тем не менее, я не знаю, можете ли вы сделать это для чего-то вроде определенного URL.

Это еще более усложняется тем, что конкретные среды рабочего стола используют разные исполняемые файлы и методы для открытия своих программ по умолчанию. Например, в KDE есть kde-open , но не все приложения KDE, похоже, используют это.

Несмотря на это, я получил это частично с помощью сценария оболочки и списка доменов /URL-адресов в файле. Вы можете настроить его по своему вкусу.

Примечание. Вам может потребоваться повторить этот процесс для других исполняемых файлов, в зависимости от среды рабочего стола. Например, в Gnome есть gvfs-open , в KDE - kde-open , а в XFCE - exo-open . (Даже тогда, это может не работать для каждого приложения.)

Примечание. Сценарий оболочки зависит от установки pcregrep в вашей системе.

  1. Найдите исполняемый файл xdg-open

    which xdg-open
    
  2. Создайте новый каталог в вашей домашней папке

    mkdir -p ~/.local/bin
    
  3. Добавьте следующее в ваш файл ~/.bashrc

    ~/.Bashrc

    export PATH="${HOME}/.local/bin:${PATH}"
    
  4. Создайте сценарий оболочки во вновь созданной папке. (Обязательно отредактируйте четыре верхние переменные, чтобы они соответствовали вашей системе!)

    ~/.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" ${*}
    
  5. Создайте список доменов в вашей домашней папке

    ~/Domains.txt

    stackexchange.com
    stackoverflow.com
    superuser.com
    
  6. Выйдите из системы и войдите снова, чтобы настройки вступили в силу

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .