回答:
sensible-browser
探しているコマンドです。
sensible-browser
は、デフォルトのChromeの代わりにOperaを開きます。xdg-open
期待どおりに動作します。
sensible-browser
unity-control-centreで設定されたユーザー設定に従いません。xdg-open
します。
Googleで検索すると、答えが見つかりました。
xdg-openは、ユーザーの優先アプリケーションでファイルまたはURLを開きます。URLが提供されている場合、URLはユーザーの好みのWebブラウザーで開かれます。ファイルが提供されている場合、そのタイプのファイルの優先アプリケーションでファイルが開かれます。xdg-openは、ファイル、ftp、httpおよびhttps URLをサポートします。
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、ディレクトリに使用できることです。次のようなあいまいなコマンドを思い出そうとするのではなく、学ぶべきコマンドの1つです。sensible-browser
xdg-open
同じことを行う必要があります-実際には、デスクトップ環境に応じて、、gnome-open
またはkde-open
、または何でも呼び出します。したがって、よりポータブルです。
これを少し遊んでみました。問題がありますgnome-open
— URLを指定しない限り、デフォルトのWebブラウザーを起動しません。デフォルトとして設定されているブラウザを常に起動するアイコンまたはショートカットを設定する場合、これは問題です。また、Webブラウザーへのリンクを必要とし、うまく機能しない一部のプログラムのパラメーターとして設定する必要がある場合もあります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
常にユーザー指定のデフォルトWebブラウザーが起動します。(gnome-default-applications-properties
現在設定されているブラウザに応じてgconfキーを変更することがわかりました。これらのキーのいずれかからブラウザのデフォルト値を取得できる/desktop/gnome/url-handlers/http/command
ため、$BROWSER
変数を埋めるために使用しました(値は"%s"
部分から削除されます) )
/usr/bin/sensible-browser
この回答が推奨しているように編集することはお勧めしません。この変更は、システムのアップグレード時に上書きされます。
ちょうどあなたがそれを役に立つと思うかもしれません。フォールバックアプローチと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->変数を呼び出す
sensible-utils
パッケージと/etc/alternatives
によって検出および変更された代替システムの違いはどうupdate-alternatives
ですか?