Установите браузер по умолчанию на ОТКРЫТЬ браузер

Я постоянно переключаюсь между браузерами (три разных на данный момент). Так что я также переключал браузеры по умолчанию, чтобы открывать мою почту / новые ссылки и т.д ...

Я также увидел, что с помощью команды sudo update-alternatives --config x-www-browser браузеры имеют разные приоритеты.

Итак, у меня была идея, что возможно, что браузером по умолчанию может быть браузер (ы), которые действительно открыты и работают! И если два работают, выбирается тот, который имеет более высокий приоритет. К сожалению, я не нашел ничего .. Это возможно? Было бы действительно здорово!

ура dmeu

4
задан 8 January 2011 в 14:43

2 ответа

Вот что-то, что работает:

#!/usr/bin/env python

import sys, commands

browsers = [
    "firefox",
    "google-chrome",
    "chromium-browser",
    "epiphany-browser",
]

done = False
ps = list(i.split()[10] for i in commands.getoutput("ps aux").split("\n")[1:])
for i in browsers:
    if any(j.endswith(i) or j.endswith(i+"-bin") for j in ps) and not done:
        commands.getoutput(i + " " + (" ".join(sys.argv[1:]
            if len(sys.argv) - 1 else "")))
        done = True

if not done:
    commands.getoutput(browsers[0]["cmd"] + " " + " ".join(sys.argv[1:]))
  • Просто переупорядочьте список сверху файла любым путем, Вы любите, добавляете и удаляете браузеры. Команда, которую Вы вводите, будет тем, что Вы ввели бы в командной строке для запуска этого браузера.

  • сохраните этот сценарий где-нибудь, щелкните правой кнопкой по нему, перейдите к свойствам → полномочия и установите исполняемый файл. Я рекомендую сохранить его в /home/<username>/.browser.

  • Найдите файл (поразите Ctrl+H для показа скрытых файлов), щелкните правой кнопкой и выберите Свойства, затем перейдите к Полномочиям и установите, Позволяют выполнять файл как программу.

  • Перейдите к Системе → Предпочтения → Предпочтительные приложения, выберите Пользовательский и тип /home/<username>/.browser в поле Command.

Первый браузер, который появляется в списке и работает, будет выбран для открытия веб-сайта. Если ни один из них не будет работать, то первый будет открыт.

Я протестировал это, и это, кажется, работает скорее хорошо, тем не менее, сообщите мне, существуют ли какие-либо ошибки в нем. И было бы здорово, если бы был метод, чтобы сделать это, которое не включает программирование, это - просто мое специфическое решение.

5
ответ дан 8 January 2011 в 14:43

Какая прекрасная идея!

Я сразу же настроил это, и это прекрасно работает в моей системе. Адаптируйте следующий скрипт к вашим потребностям (для установки скрипта вам понадобятся права суперпользователя!):

#!/bin/bash

# looking for Firefox instances
pgrep -l '^firefox-bin 

Немодифицированный скрипт попытается открыть ссылку (указана в $ 1) с помощью Firefox [ 114]. Если экземпляр Firefox не найден, он попытается повторно использовать Konqueror . Наконец, если не найдено ни одного экземпляра Konqueror , скрипт откроет новый экземпляр Firefox .

Когда вы закончите, сохраните сценарий в /usr/local/bin/reuse_open_browser и выполните следующие команды:

sudo chmod +x /usr/local/bin/reuse_open_browser
sudo chown root:root /usr/local/bin/reuse_open_browser

sudo update-alternatives --install /usr/bin/x-www-browser x-www-browser /usr/local/bin/reuse_open_browser 100

Затем выберите сценарий по умолчанию, выполнив

sudo update-alternatives --config x-www-browser

Наслаждайтесь! :)

> /dev/null if [ $? -eq 0 ]; then echo echo " Opening link in Firefox..." echo /usr/bin/firefox "$1" exit fi # looking for Konqueror instances pgrep -l '^konqueror

Немодифицированный скрипт попытается открыть ссылку (указана в $ 1) с помощью Firefox [ 114]. Если экземпляр Firefox не найден, он попытается повторно использовать Konqueror . Наконец, если не найдено ни одного экземпляра Konqueror , скрипт откроет новый экземпляр Firefox .

Когда вы закончите, сохраните сценарий в /usr/local/bin/reuse_open_browser и выполните следующие команды:

sudo chmod +x /usr/local/bin/reuse_open_browser
sudo chown root:root /usr/local/bin/reuse_open_browser

sudo update-alternatives --install /usr/bin/x-www-browser x-www-browser /usr/local/bin/reuse_open_browser 100

Затем выберите сценарий по умолчанию, выполнив

sudo update-alternatives --config x-www-browser

Наслаждайтесь! :)

> /dev/null if [ $? -eq 0 ]; then echo echo " Opening link in Konqueror..." qdbus `qdbus | grep -m1 konqueror` /konqueror/MainWindow_1 org.kde.Konqueror.MainWindow.newTab "$1" False exit fi # no browser instances found, so open default browser echo echo -n " No open browser found. " if [ -z "$1" ]; then echo "Opening new Firefox instance..." echo /usr/bin/firefox & exit else echo "Opening link in new Firefox instance..." echo /usr/bin/firefox "$1" & exit fi

Немодифицированный скрипт попытается открыть ссылку (указана в $ 1) с помощью Firefox [ 114]. Если экземпляр Firefox не найден, он попытается повторно использовать Konqueror . Наконец, если не найдено ни одного экземпляра Konqueror , скрипт откроет новый экземпляр Firefox .

Когда вы закончите, сохраните сценарий в /usr/local/bin/reuse_open_browser и выполните следующие команды:

sudo chmod +x /usr/local/bin/reuse_open_browser
sudo chown root:root /usr/local/bin/reuse_open_browser

sudo update-alternatives --install /usr/bin/x-www-browser x-www-browser /usr/local/bin/reuse_open_browser 100

Затем выберите сценарий по умолчанию, выполнив

sudo update-alternatives --config x-www-browser

Наслаждайтесь! :)

0
ответ дан 8 January 2011 в 14:43

Другие вопросы по тегам:

Похожие вопросы: