Câu trả lời:
sensible-browser
là lệnh bạn đang tìm kiếm.
sensible-browser
mở Opera thay vì Chrome mặc định. xdg-open
hoạt động như mong đợi.
sensible-browser
khô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-open
làm.
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.
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.
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
gnome-open
cho 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
xdg-open
nê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.
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-browser
hoặc gnome-www-browser
cá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-browser
tệ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-browser
luô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-properties
thay đổ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/command
và sử dụng nó để lấp đầy $BROWSER
biến (giá trị được rút gọn của "%s"
phần) .)
/usr/bin/sensible-browser
vì 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.
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
và
var = someval -> đặt biến
$ var -> gọi biến
sensible-utils
gói và hệ thống thay thế được tìm thấy/etc/alternatives
và sửa đổi bởiupdate-alternatives
?