четверг, 15 марта 2012 г.

Выбор браузера по умолчанию в Linux

Если вам требуется открытие ссылок из других приложений в определенном браузере, то его надо выборать по умолчанию. В данном примере я буду использовать Firefox, но работа с другими браузерами аналогична.
В KDE\Gnome настройка возможно из GUI и на ней я останавливаться не буду.



Разные приложения работают по разному, но в основном они пытаются открыть ссылку через xdg-open. Это Bash скрипт, который пытается запустить сначала обработчики ссылок свойственные вашей DE(open_kde, open_gnome и др.), либо если у него это не выходит, он пытается запустить самые распространные браузеры и передать им ссылку. При этом если вы работаете в Х окружении(Не в консоли), то приоритетными будет НЕ консольные браузеры.

Теперь самый главный вопрос, как заставить это работать?
Для начала определим переменную окружения BROWSER из под вышего пользователя в файле:
~/.bashrc
Добавив в него:
 export BROWSER=firefox

В этом случае, вы определите переменную для вашего текущего пользователя, либо вы можете задать эту же переменную для всей системы. В зависимости от вашего дистрибутива это операция будет выполняться по разному. Например в Gentoo, можно создать файл:
/etc/env.d/99default-browser
 И добавив в него ту же строчку:
export BROWSER=firefox
И выполнив команду:
env-update
Вы создадите переменную окружения для всей системы.
Проверить текущее значение переменной, можно командой:
echo $BROWSER

Если несмотря на это требуемый браузер не запускается, есть более грубый метод, который вообще говоря не желателен. Отредактировать сам скрипт xdg-open.
Открыв его в текстовом редакторе вы найдете там примерно такой блок:
# if BROWSER variable is not set, check some well known browsers instead
if [ x"$BROWSER" = x"" ]; then
    BROWSER=links2:elinks:links:lynx:w3m
    if [ -n "$DISPLAY" ]; then
        BROWSER=x-www-browser:firefox:seamonkey:mozilla:epiphany:konqueror:chromium-browser:google-chrome:$BROWSER
    fi
fi
В который вы можете добавить команду на запуск вышего браузера.

Комментариев нет:

Отправить комментарий