Bagaimana cara meluncurkan browser web default dari terminal?

87

Saya bertanya-tanya apa perintah terminal untuk membuka browser web default.

Luca
sumber

Jawaban:

93

sensible-browser adalah perintah yang Anda cari.

Evan
sumber
Bagaimana dengan perbedaan antara sensible-utilspaket dan sistem alternatif yang ditemukan /etc/alternativesdan dimodifikasi oleh update-alternatives?
enzotib
8
Bagi saya sensible-browsermembuka Opera, bukan pf Chrome default. xdg-openbekerja seperti yang diharapkan.
incrop
2
apa yang dikatakan @Incrop masih berlaku untuk Ubuntu 16.04, ini membuka Firefox alih-alih Chromium browser default saya.
Andreas Hacker
2
sensible-browsertidak mengikuti preferensi pengguna yang dikonfigurasi di unity-control-center. xdg-opentidak.
Tankman 六四
78

Pencarian di Google saya menemukan jawabannya.

xdg-open membuka file atau URL di aplikasi pilihan pengguna. Jika URL diberikan, URL akan dibuka di peramban web pilihan pengguna. Jika file disediakan, file akan dibuka di aplikasi yang disukai untuk file jenis itu. xdg-open mendukung file, ftp, http dan https URL.

xdg-open adalah bagian dari paket xdg-utils dan sudah terinstal di Ubuntu 10.10.

Luca
sumber
apa artinya xdg berdiri? Sulit untuk diingat tanpa mengetahui hal itu.
Thupten
1
XDG adalah singkatan dari X Desktop Group alias freedesktop.org
Luca
Masih bekerja pada instalasi default Ubuntu 16.04.
Andreas Hacker
1
jika pengguna pernah dikonfigurasi untuk membuka file html dengan editor teks secara default, ini tidak akan berfungsi. OP meminta cara untuk membuka browser web , bukan aplikasi default untuk file html (meskipun secara default itu sama)
phil294
Ini akan bekerja pada distro gnu / linux mana pun yang memiliki window manager x-server (yang hampir semuanya - misalnya debian, * buntu, fedora, manjaro, Arch dll)
flurbius
14

Anda juga bisa menggunakan:

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

Dan itu akan membuka URL di browser default.

Benjamin
sumber
2
bagi saya, di Ubuntu 16.04, ini akan membuka Firefox meskipun Chromium ditetapkan sebagai browser default di pengaturan "Aplikasi Default".
Andreas Hacker
4

Dengan pengaturan default Ubuntu, hanya perintah gnome-open yang muncul di benak Anda.

gnome-open http://askubuntu.com
kounryusui
sumber
4
Dengan pengaturan default Ubuntu, sensible-browser dan xdg-open command juga berfungsi.
marenostrum
1
Keuntungannya adalah Anda dapat menggunakan gnome-openhampir semua jenis file, URI dan direktori. Ini adalah satu perintah untuk dipelajari, alih-alih mencoba mengingat tentang perintah yang tidak jelas sepertisensible-browser
Stefan Lasiewski
6
@Stefan Lasiewski: xdg-openharus melakukan hal yang sama - sebenarnya, itu akan memanggil gnome-open, atau kde-open, atau apa pun, tergantung pada lingkungan desktop Anda. Karena itu lebih portabel.
Piskvor
di Ubuntu 16.04, gnome-open tidak diinstal secara default
Andreas Hacker
1
gnome-open tergantung pada gnome desktop, lebih baik menggunakan xdg sebagai yang lebih umum
flurbius
2

Saya sedikit mempermainkan ini. Ada masalah dengan gnome-open- itu tidak akan memanggil browser web default kecuali jika Anda menentukan url. Itu masalah jika Anda ingin mengatur ikon atau pintasan yang akan selalu meluncurkan browser yang ditetapkan sebagai default. Di lain waktu Anda mungkin perlu mengaturnya sebagai parameter untuk beberapa program yang memerlukan tautan ke peramban web dan tidak berfungsi dengan baik gnome-open(misalnya:) acroread. Anda mungkin menyelesaikan ini dengan menggunakan salah satu x-www-browseratau gnome-www-browsertautan sistem yang dapat Anda atur update-alternatives, tetapi itu adalah pengaturan sistem, bukan spesifik pengguna (dan mereka tidak disinkronkan dengan nilai-nilai yang ditetapkan gnome-default-applications-properties. Semua ini dapat diselesaikan dengan membuka sensible-browserexecutable (yang sebenarnya skrip):

sudo gedit $(which sensible-browser)

dan menambahkan ini di awal:

#!/bin/bash
BROWSER=$(gconftool -g /desktop/gnome/url-handlers/http/command)
export BROWSER="${BROWSER//"\"%s\""/}"

Itu akan membuat sensible-browserselalu meluncurkan browser web default yang ditentukan pengguna. (Saya menemukan bahwa gnome-default-applications-propertiesperubahan beberapa kunci gconf sesuai dengan browser yang saat ini ditetapkan. Nilai browser default dapat diperoleh dari salah satu kunci ini jadi saya pergi /desktop/gnome/url-handlers/http/commanddan menggunakannya untuk mengisi $BROWSERvariabel (nilai dilucuti dari "%s"bagian) .)

Gilles
sumber
1
Saya tidak akan merekomendasikan pengeditan /usr/bin/sensible-browserkarena jawaban ini merekomendasikan. Perubahan ini akan ditimpa pada peningkatan sistem.
Gilles
daripada mencoba menginstal skrip yang dimodifikasi pada sistem pengguna, solusi yang lebih realistis adalah dengan menggunakan xdg-open sesuai jawaban Luca. Jika Anda menentukan file html atau URL itu AKAN membuka browser - jika Anda menyediakan sesuatu yang lain, itu akan membuka aplikasi yang sesuai untuk jenis sumber daya itu. Saya ragu ada alasan yang baik untuk membuka beberapa file dengan browser ketika itu akan lebih baik ditangani oleh beberapa aplikasi lain, baik secara default atau sesuai dengan pilihan eksplisit pengguna. Jika harus, Anda dapat memaksa browser untuk membukanya dengan x-www-browser (lihat jawaban Benjamin)
flurbius
1

Hanya agar Anda dapat menemukannya berguna. Pendekatan fallback, dan satu liner.

URL="https://www.url.com/some"; xdg-open $URL || sensible-browser $URL || x-www-browser $URL || gnome-open $URL

Bacaan yang bagus untuk yang tidak terbiasa dengan operator logis https://www.howtogeek.com/269509/how-to-run-two-or-more-terminal-commands-at-once-in-linux/ .

; => berjalan dalam semua kasus,

|| => Jalankan jika perintah sebelumnya gagal (atau)

&& => jalankan hanya jika perintah preseden berhasil

dan

var = someval -> setel variabel

$ var -> aktifkan variabel

Mohamed Allal
sumber
1
Pertimbangkan untuk menjelaskan apa yang dilakukan perintah ini sehingga orang lain yang melihat ini mengetahui lebih banyak tentang jawaban Anda. Tautan baik, tetapi Anda perlu memastikan konten utama tautan ada di jawaban Anda jika itu adalah bagian dari jawaban Anda (jika tautan mati di masa mendatang).
Zzzach ...
1
@Zzzach ... selesai! dan saya mengerti maksudnya. Padahal itu masalah sederhana.
Mohamed Allal