Ответы:
sensible-browser
это команда, которую вы ищете.
sensible-browser
открывается Opera вместо pf по умолчанию Chrome. xdg-open
работает как положено.
sensible-browser
не следует предпочтениям пользователя, настроенным в едином центре управления. xdg-open
делает.
Поиском в гугле я нашел ответ.
xdg-open открывает файл или URL в предпочтительном приложении пользователя. Если указан URL-адрес, он будет открыт в предпочтительном веб-браузере пользователя. Если файл предоставлен, файл будет открыт в предпочтительном приложении для файлов этого типа. xdg-open поддерживает URL-адреса файлов, ftp, http и https.
xdg-open является частью пакета xdg-utils и уже установлен в Ubuntu 10.10.
Вы также можете использовать:
x-www-browser http://some-url.org
И он откроет URL в браузере по умолчанию.
При настройке Ubuntu по умолчанию на ум приходит только команда gnome-open.
gnome-open http://askubuntu.com
gnome-open
практически все типы файлов, URI и каталоги. Это одна команда, чтобы учиться, вместо того, чтобы пытаться вспомнить о таких непонятных командах, какsensible-browser
xdg-open
должен делать то же самое - на самом деле, он будет вызывать gnome-open
, или kde-open
, или как угодно, в зависимости от среды вашего рабочего стола. Таким образом, это более портативно.
Я немного поиграл с этим. Существует проблема с gnome-open
- он не будет вызывать веб-браузер по умолчанию, если вы не укажете URL. Это проблема, если вы хотите установить значок или ярлык, который всегда будет запускать браузер, который установлен по умолчанию. В других случаях вам может потребоваться установить его в качестве параметра для некоторых программ, которым требуется ссылка на веб-браузер и которые плохо работают с gnome-open
(например:) acroread
. Вы могли бы решить эту проблему с помощью любого x-www-browser
или gnome-www-browser
системы связи , которые вы можете создать с помощью update-alternatives
, но те широкие настройки системы, а не пользователь конкретных (и они не синхронизированы со значениями , установленными через gnome-default-applications-properties
. Все это можно решить, открыв sensible-browser
исполняемый файл (который это на самом деле скрипт)
sudo gedit $(which sensible-browser)
и добавив это в начале:
#!/bin/bash
BROWSER=$(gconftool -g /desktop/gnome/url-handlers/http/command)
export BROWSER="${BROWSER//"\"%s\""/}"
Это позволит sensible-browser
всегда запускать указанный пользователем веб-браузер по умолчанию. (Я обнаружил, что gnome-default-applications-properties
некоторые ключи gconf изменяются в соответствии с установленным в данный момент браузером. Значение браузера по умолчанию можно получить с помощью любого из этих ключей, поэтому я /desktop/gnome/url-handlers/http/command
использовал его для заполнения $BROWSER
переменной (значение отбирается из "%s"
части) .)
/usr/bin/sensible-browser
поскольку этот ответ рекомендует. Это изменение будет перезаписано при обновлении системы.
Просто вы можете найти это полезным. Резервный подход и один лайнер.
URL="https://www.url.com/some"; xdg-open $URL || sensible-browser $URL || x-www-browser $URL || gnome-open $URL
Хорошее чтение для не знакомых с логическими операторами https://www.howtogeek.com/269509/how-to-run-two-or-more-terminal-commands-at-once-in-linux/ .
; => запустить во всех случаях,
|| => выполнить, если предыдущая команда завершилась неудачно (или)
&& => запускаться только в случае успеха предыдущей команды
а также
var = someval -> установить переменную
$ var -> вызвать переменную
sensible-utils
пакетом и системой альтернатив, найденных/etc/alternatives
и измененныхupdate-alternatives
?