Jak zmienić priorytety przeglądarki x-www?

26

Mam 15.04 64-bitowego systemu Lubuntu i pobrałem chrome z ich strony internetowej, ponieważ może to być przydatne, ale chcę zachować Firefoksa jako moją domyślną przeglądarkę i pomimo ustawienia go jako domyślnej , nadal nie działa wykonać x-www-browser. Następnie ręcznie ustawiłem Firefox jako domyślny za pomocą update-alternativesskryptu, ale zastanawiałem się, dlaczego Chrome ustawił się na 200. Nie uważam Chrome za tak wysoki, jak oni sami, więc w jaki sposób mógłbym zmienić priorytety ?

To właśnie mam i firefox rzeczywiście stał się moją domyślną aplikacją, ale nie powinien tak być, kiedy wyraźnie ustawiłem go jako domyślny w samym interfejsie 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
Peter Raeves
źródło
7
+1 za „Nie uważam chromu tak wysoko, jak oni sami” ;-)
mirabilos

Odpowiedzi:

28

Możesz zmienić priorytet za pomocą:

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

Przykład:

przed

$ 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

po:

$ 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
źródło
2
To nie twoja wina, ponieważ twoja odpowiedź jest prawidłowa, ale to „rozwiązanie” jest całkowicie szalone. Ktoś zdecydowanie musi wymyślić coś lepszego.
Tino,
@Tino: argumentuj.
Marco Sulla,
3
Tylko najbardziej oczywiste rzeczy: 1) sudo: więc jest to dla systemu, ale powinien być dla użytkownika lub nawet lepiej dla powłoki. 2) ścieżki bezwzględne: potrzebuje więc głębokiego wglądu w system i tylko mała literówka to kompletnie zepsuło. 3) złożona i niezrozumiała linia poleceń. 4) Nieoczekiwany interfejs API: Prio 1 zwykle jest najwyższym prio. Nie twierdzę, że numeracja jest nieprawidłowa, ale proszę nie nazywać go „Priorytetem”. 5) Jest to dobrze ukryta funkcjonalność itp. Itd. Itd. Tak ważną funkcję w systemie Linux / Debian należy zawsze projektować z myślą o zwykłych ludziach, dla tych, którzy nie wiedzą i nie dbają o to.
Tino
@Tino Większość „zwykłych ludzi” nawet nie uruchomi się na przeglądarce x-www, większość aplikacji GUI będzie szanować skojarzenia plików twojego DE, a większość narzędzi wiersza poleceń będzie szanować zmienną środowiskową BROWSER.
Jonathan Baldwin
1
@JonathanBaldwin Zwykli ludzie nie wiedzą o x-www-browser, ani tego, co Environmentlub Variableśrodki. Jednak mają na nie wpływ x-www-browserkulisy. Porównaj ze skandalem emisji Volkswagena: kierowcy ciężarówek z silnikiem Diesla są zdenerwowani, ponieważ wiedzą, że to ich dotyczy. Ale nadal nie wiedzą nic o AdBlue ani o tym, jak to działa. Ale co ważniejsze: nigdy nie chcą wiedzieć i nie powinni oni wiedzieć! Zwykli ludzie nie są inżynierami rakiet, a nawet większość inżynierów rakiet nie musi wiedzieć o AdBlue również w samochodzie.
Tino
4

W skrócie: edytuj / var / lib / dpkg / alternatives / x-www-browser i zmień priorytet wewnątrz


DETALE

Najłatwiejszą i obowiązkową odpowiedzią jest edycja plików aktualizacji administracyjnych alternatywnych znalezionych w /var/lib/dpkg/alternatives

Edytuj x-www-browserplik

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

Wynik będzie taki:

auto
/usr/bin/x-www-browser

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

Teraz łatwo zmień priorytet chrome (200) o cokolwiek chcesz, a następnie zapisz. (Zmieniłem na 50)

sprawdź nowe ustawienia

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
źródło
3
Chociaż to rozwiązuje mój problem, uważam, że rozwiązanie AB jest znacznie czystsze, ponieważ zmienia wartość poprzez update-alternativesinterfejs. Wolę w ten sposób, ponieważ nigdy nie wiesz, co jeszcze robi, oprócz zmiany pliku, jak powiedziałeś. Technicznie rzecz biorąc, jego rozwiązanie jest łatwiejsze, ponieważ używa tylko 1 polecenia. Używasz 1 polecenia, aby otworzyć plik, ale potem musisz go edytować i zapisać, a update-alternatives --installrobi to za Ciebie.
Peter Raeves
0

Mam zainstalowany program qutebrowser, na ~/.local/binktórym jest mój $PATH. Podałem pełną ścieżkę do pliku wykonywalnego, co oznacza, że ​​musiałem biec

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

zamiast używać qutebrowsertylko jako argumentu przedostatniego (ponieważ update-alternativesnarzekał, że ścieżka nie jest absolutna), to wtedy

update-alternatives --config x-www-browser

EDYCJA: Jestem na Debianie Buster / Sid, HTH i tak. EDYCJA 2: Rozumowanie, dlaczego musiałem podać pełną ścieżkę do qutebrowser.

pylipp
źródło
Czy możesz określić, w jaki sposób Twoja odpowiedź różni się od zaakceptowanej?
Marc Vanhoomissen
1
Próbujesz zapytać, dlaczego musiałeś użyć pełnej ścieżki do qutebrowser?
Charles Green