Як запустити веб-браузер за замовчуванням з терміналу?


87

Мені було цікаво, що це за термінальна команда для відкриття веб-браузера за замовчуванням.

Відповіді:


93

sensible-browser це команда, яку ви шукаєте.


Як щодо відмінностей між sensible-utilsпакетом та системою альтернатив, знайдених /etc/alternativesта модифікованих update-alternatives?
enzotib

8
Для мене sensible-browserвідкривається Opera, а не Chrome за замовчуванням. xdg-openпрацює як очікувалося.
інкорп

2
те, що сказав @Incrop, все ще стосується Ubuntu 16.04, це відкриває Firefox замість мого браузера Chromium за замовчуванням.
Андреас Хакер

2
sensible-browserне дотримується налаштувань користувача, налаштованих у єдино-контрольному центрі. xdg-openробить.
Tankman 六四

78

Шукаючи в Google, я знайшов відповідь.

xdg-open відкриває файл або URL-адресу в бажаному додатку користувача. Якщо вказано URL-адресу, URL-адреса буде відкрита у бажаному веб-переглядачі користувача. Якщо файл надано, файл буде відкрито в кращому додатку для файлів цього типу. xdg-open підтримує URL-адреси файлів, ftp, http та https.

xdg-open є частиною пакету xdg-utils і він уже встановлений на Ubuntu 10.10.


що означає xdg? Важко запам'ятати, не знаючи цього.
Thupten

1
XDG розшифровується як X Desktop Group aka freedesktop.org
Лука

Все ще працює на установці Ubuntu 16.04 за замовчуванням.
Андреас Хакер

1
якщо користувач одного разу налаштувався відкривати HTML-файли з текстовим редактором за замовчуванням, це не буде працювати. OP просить спосіб відкрити веб-браузер , а не програму за замовчуванням для html-файлів (навіть за замовчуванням це те саме)
phil294

Це буде працювати на будь-якому дистрибутиві gnu / linux, який має менеджер вікон x-сервера (тобто майже про всіх - наприклад, debian, * buntu, fedora, manjaro, Arch тощо)
flurbius

14

Ви також можете використовувати:

x-www-browser http://some-url.org

І це відкриє URL-адресу в браузері за замовчуванням.


2
для мене в Ubuntu 16.04 це відкриє Firefox, навіть якщо Chromium встановлений як браузер за замовчуванням у налаштуваннях "Програми за замовчуванням".
Андреас Хакер

4

При налаштуванні Ubuntu за замовчуванням на розум приходить лише команда, відкрита gnome.

gnome-open http://askubuntu.com

4
З налаштуваннями Ubuntu за замовчуванням також працюють команди senzibil- браузера та xdg-open .
marenostrum

1
Перевага полягає в тому, що ви можете використовувати gnome-openмайже для всіх типів файлів, URI та каталогів. Це одна команда навчитися, а не намагатися згадати про незрозумілі команди, такі якsensible-browser
Стефан Ласєвський

6
@Stefan Lasiewski: xdg-openслід зробити те ж саме - насправді він зателефонує gnome-openабо kde-open, або що завгодно, залежно від середовища вашого робочого столу. Таким чином, він більш портативний.
Пісквор

в Ubuntu 16.04, gnome-open не встановлено за замовчуванням
Andreas Hacker

1
gnome-open залежить від gnome desktop, краще використовувати xdg як його звичайніший
flurbius

2

Я трохи пограв у цьому. Виникла проблема 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"частини) .)


1
Я б не рекомендував редагувати, /usr/bin/sensible-browserяк рекомендує ця відповідь. Ця зміна буде замінена під час оновлення системи.
Жиль

а не намагатися встановити модифікований скрипт у системі користувачів, більш реалістичним рішенням є використання xdg-open відповідно до відповіді Лука. Якщо ви вкажете HTML-файл або URL-адресу, він відкриє браузер - якщо ви ще щось поставите, він відкриє відповідний додаток для цього типу ресурсу. Я сумніваюся, що є якісь вагомі причини відкрити якийсь файл із браузером, коли з ним краще оброблятиметься інша програма, або за замовчуванням, або відповідно до явного вибору користувачів. Якщо потрібно, можна змусити браузер відкрити його за допомогою x-www-browser (див. Відповідь Бенджаміна)
flurbius

1

Просто те, що вам може бути корисним. Резервний підхід та один лайнер.

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 -> викликати змінну


1
Подумайте, як пояснити, що робить ця команда, щоб інші, хто бачив це, знали більше про вашу відповідь. Посилання хороші, але вам потрібно переконатися, що ключовий вміст посилання є у вашій відповіді, якщо воно є частиною вашої відповіді (якщо ви посилаєте, в майбутньому помирає).
Zzzach ...

1
@Zzzach ... зроблено! і я розумію Хоча це було простою справою.
Мохаммед Аллал
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.