Làm thế nào để khởi chạy trình duyệt web mặc định từ thiết bị đầu cuối?


87

Tôi đã tự hỏi lệnh thiết bị đầu cuối để mở trình duyệt web mặc định là gì.

Câu trả lời:


93

sensible-browser là lệnh bạn đang tìm kiếm.


Điều gì về sự khác biệt giữa sensible-utilsgói và hệ thống thay thế được tìm thấy /etc/alternativesvà sửa đổi bởi update-alternatives?
enzotib

8
Đối với tôi sensible-browsermở Opera thay vì Chrome mặc định. xdg-openhoạt động như mong đợi.
incrop

2
những gì @Incrop nói vẫn đúng với Ubuntu 16.04, điều này mở Firefox thay vì trình duyệt mặc định Chromium của tôi.
Andreas Hacker

2
sensible-browserkhông tuân theo sở thích của người dùng được định cấu hình trong trung tâm kiểm soát thống nhất. xdg-openlàm.
Tankman

78

Tìm kiếm trên Google tôi tìm thấy câu trả lời.

xdg-open mở một tệp hoặc URL trong ứng dụng ưa thích của người dùng. Nếu một URL được cung cấp, URL sẽ được mở trong trình duyệt web ưa thích của người dùng. Nếu một tệp được cung cấp, tệp sẽ được mở trong ứng dụng ưu tiên cho các tệp thuộc loại đó. xdg-open hỗ trợ tệp, URL ftp, http và https.

xdg-open là một phần của gói xdg-utils và nó đã được cài đặt trên Ubuntu 10.10.


xdg có nghĩa là gì? Thật khó để nhớ mà không biết rằng.
Thupten

1
XDG là viết tắt của X Desktop Group hay còn gọi là freedesktop.org
Luca

Vẫn hoạt động trên bản cài đặt Ubuntu 16.04 mặc định.
Andreas Hacker

1
nếu người dùng một lần được cấu hình để mở tệp html bằng trình soạn thảo văn bản theo mặc định, điều này sẽ không hoạt động. OP yêu cầu một cách để mở trình duyệt web , không phải ứng dụng mặc định cho các tệp html (mặc dù theo mặc định là như vậy)
phil294

Điều này sẽ hoạt động trên bất kỳ bản phân phối gnu / linux nào có trình quản lý cửa sổ x-server (đó chỉ là về tất cả chúng - ví dụ: debian, * buntu, fedora, manjaro, Arch, v.v.)
flurbius 27/12/17

14

Bạn cũng có thể dùng:

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

Và nó sẽ mở URL trong trình duyệt mặc định.


2
đối với tôi, trong Ubuntu 16.04, điều này sẽ mở Firefox mặc dù Chromium được đặt làm trình duyệt mặc định trong cài đặt "Ứng dụng mặc định".
Andreas Hacker

4

Với thiết lập Ubuntu mặc định, chỉ có lệnh gnome-open xuất hiện trong tâm trí.

gnome-open http://askubuntu.com

4
Với thiết lập Ubuntu mặc định, các lệnh trình duyệt hợp lýxdg-open cũng hoạt động tốt.
marenostrum

1
Ưu điểm là bạn có thể sử dụng gnome-opencho hầu hết tất cả các loại tệp, URI và thư mục. Đó là một lệnh để học, thay vì cố gắng nhớ về các lệnh tối nghĩa nhưsensible-browser
Stefan Lasiewski

6
@Stefan Lasiewski: xdg-opennên làm điều tương tự - thực sự, nó sẽ gọi gnome-open, hoặc kde-open, hoặc bất cứ điều gì, tùy thuộc vào môi trường máy tính để bàn của bạn. Do đó, nó dễ mang theo hơn.
Piskvor

trong Ubuntu 16.04, gnome-open không được cài đặt theo mặc định
Andreas Hacker

1
gnome-open phụ thuộc vào máy tính để bàn của gnome, tốt hơn hết là sử dụng xdg vì nó phổ biến hơn
flurbius

2

Tôi đã chơi xung quanh điều này một chút. Có một vấn đề với gnome-open- nó sẽ không gọi trình duyệt web mặc định trừ khi bạn chỉ định một url. Đó là một vấn đề nếu bạn muốn thiết lập một biểu tượng hoặc một phím tắt sẽ luôn khởi chạy trình duyệt được đặt làm mặc định. Những lần khác, bạn có thể cần đặt tham số đó làm tham số cho một số chương trình yêu cầu liên kết đến trình duyệt web và không hoạt động tốt với gnome-open(ví dụ acroread:). Bạn có thể giải quyết vấn đề này bằng cách sử dụng một trong hai x-www-browserhoặc gnome-www-browsercác liên kết hệ thống mà bạn có thể thiết lập thông qua update-alternatives, nhưng đó là các cài đặt toàn hệ thống, không dành riêng cho người dùng (và chúng không được đồng bộ hóa với các giá trị được đặt qua gnome-default-applications-properties. Tất cả điều này có thể được giải quyết bằng cách mở sensible-browsertệp thực thi (mà thực sự là một kịch bản):

sudo gedit $(which sensible-browser)

và thêm điều này vào đầu:

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

Điều đó sẽ làm cho sensible-browserluôn khởi chạy trình duyệt web mặc định do người dùng chỉ định. (Tôi phát hiện ra rằng gnome-default-applications-propertiesthay đổi một số phím gconf theo trình duyệt mà hiện đang được thiết lập. Giá trị trình duyệt mặc định có thể được lấy từ bất kỳ của các phím này vì vậy tôi đã đi /desktop/gnome/url-handlers/http/commandvà sử dụng nó để lấp đầy $BROWSERbiến (giá trị được rút gọn của "%s"phần) .)


1
Tôi không khuyên bạn nên chỉnh sửa /usr/bin/sensible-browservì câu trả lời này khuyến nghị. Thay đổi này sẽ được ghi đè lên khi nâng cấp hệ thống.
Gilles

thay vì cố gắng cài đặt tập lệnh đã sửa đổi trên hệ thống người dùng, một giải pháp thực tế hơn là sử dụng xdg-open theo câu trả lời của Luca. Nếu bạn chỉ định một tệp html hoặc một URL, nó S open mở trình duyệt - nếu bạn cung cấp một cái gì đó khác, nó sẽ mở một ứng dụng thích hợp cho loại tài nguyên đó. Tôi nghi ngờ có bất kỳ lý do chính đáng nào để mở một số tệp bằng trình duyệt khi nó sẽ được xử lý tốt hơn bởi một số ứng dụng khác, theo mặc định hoặc theo sự lựa chọn rõ ràng của người dùng. Nếu bạn phải, bạn có thể buộc trình duyệt mở bằng trình duyệt x-www (xem câu trả lời của Benjamin)
flurbius

1

Chỉ là bạn có thể thấy nó hữu ích. Một cách tiếp cận dự phòng, và một lớp lót.

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

Đọc tốt cho những người không quen thuộc với các toán tử logic https://www.howtogeek.com/269509/how-to-run-two-or-more-terminal-commands-at-once-in-linux/ .

; => chạy trong mọi trường hợp,

| | => chạy nếu lệnh tiền lệ không thành công (hoặc)

&& => chỉ chạy nếu lệnh tiền lệ thành công

var = someval -> đặt biến

$ var -> gọi biến


1
Xem xét giải thích những gì lệnh này làm để những người khác thấy điều này biết nhiều hơn về câu trả lời của bạn. Liên kết là tốt, nhưng bạn cần đảm bảo nội dung chính của liên kết nằm trong câu trả lời của bạn nếu đó là một phần câu trả lời của bạn (trong trường hợp liên kết sẽ chết trong tương lai).
Zzzach ...

1
@Zzzach ... xong rồi! và tôi nhận được điểm. Mặc dù đó là một vấn đề đơn giản.
Mohamed Allal
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.