Как изменить приоритеты x-www-browser?

26

У меня 15.04 64-битная версия Lubuntu, и я скачал Chrome с их сайта, потому что иногда он может быть полезен, но я хочу сохранить Firefox в качестве браузера по умолчанию, и, несмотря на то, что он установлен в качестве браузера по умолчанию, он все равно не запускается, когда я выполнить x-www-browser. Затем я вручную установил Firefox в качестве update-alternativesскрипта по умолчанию , но меня поразило то, почему chrome поставил себе приоритет 200. Я не считаю chrome таким же высоким, как они сами, поэтому как я смогу изменить приоритеты? ?

Это то, что у меня есть сейчас, и Firefox действительно стал моим приложением по умолчанию, но этого не должно было быть, когда я четко обозначил его как значение по умолчанию в самом интерфейсе Firefox.

  Selection    Path                           Priority   Status
------------------------------------------------------------
  0            /usr/bin/google-chrome-stable   200       auto mode
  1            /usr/bin/chromium-browser       40        manual mode
* 2            /usr/bin/firefox                40        manual mode
  3            /usr/bin/google-chrome-stable   200       manual mode
Питер Рейвс
источник
7
+1 за «Я не считаю хром таким же высоким, как они сами» ;-)
mirabilos

Ответы:

28

Вы можете изменить приоритет с помощью:

sudo update-alternatives --install /usr/bin/x-www-browser x-www-browser google-chrome-stable <priority_as_integer>

Пример:

до

$ sudo update-alternatives --config x-www-browser 
There are 2 choices for the alternative x-www-browser (providing /usr/bin/x-www-browser).

  Selection    Path                         Priority   Status
------------------------------------------------------------
* 0            /usr/bin/google-chrome-beta   150       auto mode
  1            /usr/bin/firefox              150       manual mode
  2            /usr/bin/google-chrome-beta   150       manual mode

после:

$ sudo update-alternatives --install /usr/bin/x-www-browser x-www-browser /usr/bin/google-chrome-beta 50
update-alternatives: using /usr/bin/firefox to provide /usr/bin/x-www-browser (x-www-browser) in auto mode

$ sudo update-alternatives --config x-www-browser                                                        
There are 2 choices for the alternative x-www-browser (providing /usr/bin/x-www-browser).

  Selection    Path                         Priority   Status
------------------------------------------------------------
* 0            /usr/bin/firefox              150       auto mode
  1            /usr/bin/firefox              150       manual mode
  2            /usr/bin/google-chrome-beta   50        manual mode
AB
источник
2
Это не ваша вина, так как ваш ответ правильный, но это «решение» совершенно безумно. Кто-то определенно должен изобрести что-то лучшее, чем это.
Тино
@ Тино: аргумент это.
Марко Сулла
3
Только самые очевидные вещи: 1) sudo: так что это для каждой системы, но должно быть для каждого пользователя или даже лучше для каждой оболочки. 2) Абсолютные пути: так что требуется глубокое понимание системы и просто небольшая опечатка. 3) сложная и непонятная командная строка. 4) Неожиданный API: Prio 1 обычно является лучшим prio. Я не говорю, что нумерация неверна, но, пожалуйста, не называйте это «Приоритет». 5) Это хорошо скрытая функциональность и т. Д. И т. Д. И т. Д. Такая важная функциональность в Linux / Debian всегда должна разрабатываться для простых людей, для тех, кто не знает и не заботится об этом.
Тино
@Tino Большинство «обычных людей» даже не запустят браузер x-www, большинство приложений с графическим интерфейсом будут уважать ассоциации файлов вашего DE, а большинство утилит командной строки будут учитывать переменную среды BROWSER.
Джонатан Болдуин
1
Не @JonathanBaldwin Обычных людей не знает , о x-www-browserни каких Environmentлибо Variableсредствах. Однако они будут затронуты x-www-browserза кулисами. Сравните со скандалом с выбросами Volkswagen: водители дизельных грузовиков расстроены, поскольку они знают, что на них влияют Но они все еще ничего не знают о AdBlue или о том, как он работает. Но что еще более важно: они никогда не хотят знать, и им не нужно знать! Обычные люди не являются инженерами в области ракетостроения, и даже большинству инженеров в области ракетостроения также не нужно знать об AdBlue в своей машине.
Тино
4

Вкратце: отредактируйте / var / lib / dpkg / alternatives / x-www-browser и измените приоритет внутри


ДЕТАЛИ

Самый простой и обязательный ответ - отредактировать административные файлы альтернативных обновлений, найденные в /var/lib/dpkg/alternatives

Так что отредактируйте x-www-browserфайл

sudo gedit /var/lib/dpkg/alternatives/x-www-browser

Вывод будет таким:

auto
/usr/bin/x-www-browser

/usr/bin/firefox
40
/usr/bin/google-chrome-stable
200
/usr/bin/vivaldi-stable
200

Теперь легко измените приоритет chrome (200) на то, что вы хотите, затем сохраните. (Я поменял на 50)

проверьте новые настройки

update-alternatives --query x-www-browser 
Link: x-www-browser
Status: auto
Best: /usr/bin/vivaldi-stable
Value: /usr/bin/google-chrome-stable

Alternative: /usr/bin/firefox
Priority: 40

Alternative: /usr/bin/google-chrome-stable
Priority: 50

Alternative: /usr/bin/vivaldi-stable
Priority: 200
Maythux
источник
3
Хотя это и решает мою проблему, я считаю, что решение AB намного чище, поскольку он изменяет значение через update-alternativesинтерфейс. Я предпочитаю этот способ, так как вы никогда не знаете, что еще он делает, за исключением изменения файла, как вы сказали. Также с технической точки зрения его решение проще, поскольку он использует только одну команду. Вы используете 1 команду, чтобы открыть файл, но после update-alternatives --installэтого вам нужно отредактировать и сохранить его, пока он делает это за вас.
Питер Рейвс,
0

У меня установлен qutebrowser, ~/.local/binкоторый находится на моем $PATH. Я поставил полный путь к исполняемому файлу, что означает, что я должен был запустить

sudo update-alternatives --install /usr/bin/x-www-browser x-www-browser $HOME/.local/bin/qutebrowser 200

вместо того, чтобы использовать qutebrowserтолько как второй аргумент (потому что update-alternativesжаловался на то, что путь не является абсолютным), тогда

update-alternatives --config x-www-browser

РЕДАКТИРОВАТЬ: Я в любом случае на Debian Buster / SID, HTH. РЕДАКТИРОВАТЬ 2: Причины, почему я должен был указать полный путь к Qutebrowser.

pylipp
источник
Не могли бы вы указать, чем ваш ответ отличается от принятого?
Марк Ванхомиссен
1
Вы пытаетесь спросить, почему вам пришлось использовать полный путь для qutebrowser?
Чарльз Грин