Odpowiedzi:
sensible-browser
to polecenie, którego szukasz.
sensible-browser
Opera zamiast domyślnego Chrome. xdg-open
działa zgodnie z oczekiwaniami.
sensible-browser
nie przestrzega preferencji użytkownika skonfigurowanych w centrum kontroli jedności. xdg-open
robi.
Szukając w Google znalazłem odpowiedź.
xdg-open otwiera plik lub adres URL w preferowanej aplikacji użytkownika. Jeśli zostanie podany adres URL, zostanie on otwarty w preferowanej przeglądarce użytkownika. Jeśli plik zostanie podany, zostanie on otwarty w preferowanej aplikacji dla plików tego typu. xdg-open obsługuje adresy URL plików, ftp, http i https.
xdg-open jest częścią pakietu xdg-utils i jest już zainstalowany na Ubuntu 10.10.
Możesz także użyć:
x-www-browser http://some-url.org
I otworzy adres URL w domyślnej przeglądarce.
Przy domyślnej konfiguracji Ubuntu przychodzi na myśl tylko polecenie gnome-open.
gnome-open http://askubuntu.com
gnome-open
do prawie wszystkich typów plików, identyfikatorów URI i katalogów. To jedna komenda do nauki, zamiast próbować pamiętać o niejasnych komendach, takich jaksensible-browser
xdg-open
powinien zrobić to samo - faktycznie, to zadzwonić gnome-open
, lub kde-open
, lub cokolwiek innego, w zależności od środowiska graficznego. Dzięki temu jest bardziej przenośny.
Trochę się z tym bawiłem. Wystąpił problem z gnome-open
- nie wywoła domyślnej przeglądarki internetowej, chyba że podasz adres URL. Jest to problem, jeśli chcesz skonfigurować ikonę lub skrót, który zawsze uruchomi domyślną przeglądarkę. Innym razem może być konieczne ustawienie go jako parametru dla niektórych programów, które wymagają linku do przeglądarki internetowej i nie działają dobrze gnome-open
(np acroread
.:). Możesz rozwiązać ten problem, korzystając z łączy systemowych x-www-browser
lub gnome-www-browser
linków, które możesz skonfigurować update-alternatives
, ale są to ustawienia systemowe, a nie specyficzne dla użytkownika (i nie są zsynchronizowane z ustawionymi wartościami gnome-default-applications-properties
. Wszystko to można rozwiązać, otwierając sensible-browser
plik wykonywalny (który to tak naprawdę skrypt):
sudo gedit $(which sensible-browser)
i dodając to na początku:
#!/bin/bash
BROWSER=$(gconftool -g /desktop/gnome/url-handlers/http/command)
export BROWSER="${BROWSER//"\"%s\""/}"
Spowoduje to, że sensible-browser
zawsze uruchomi domyślną przeglądarkę internetową określoną przez użytkownika. (Dowiedziałem się, że gnome-default-applications-properties
zmienia niektóre klucze gconf zgodnie z aktualnie ustawioną przeglądarką. Domyślną wartość przeglądarki można uzyskać z dowolnego z tych kluczy, więc poszedłem /desktop/gnome/url-handlers/http/command
i użyłem jej do wypełnienia $BROWSER
zmiennej (wartość jest pozbawiona "%s"
części) .)
/usr/bin/sensible-browser
ponieważ ta odpowiedź zaleca. Ta zmiana zostanie zastąpiona podczas aktualizacji systemu.
Tylko że może ci się przydać. Podejście awaryjne i jedna wkładka.
URL="https://www.url.com/some"; xdg-open $URL || sensible-browser $URL || x-www-browser $URL || gnome-open $URL
Dobra lektura dla nieznajomych operatorów logicznych https://www.howtogeek.com/269509/how-to-run-two-or-more-terminal-commands-at-once-in-linux/ .
; => uruchom we wszystkich przypadkach,
|| => uruchom, jeśli poprzednie polecenie nie powiodło się (lub)
&& => uruchom tylko, jeśli poprzednie polecenie się powiedzie
i
var = someval -> ustaw zmienną
$ var -> wywołaj zmienną
sensible-utils
pakietem a systemem alternatyw znalezionym/etc/alternatives
i zmodyfikowanym przezupdate-alternatives
?