web-dev-qa-db-ja.com

Linux:デフォルトのブラウザーでURLを開くコマンド

デフォルトのブラウザで特定のURLを開くためにLinux(異なる一般的なディストリビューション)で実行する必要があるコマンド(Javaからですが、それは問題ではありません)

63
Mot

最もクロスディストリビューションはxdg-open http://stackoverflow.comです

86
shellholic

最も簡単な方法はPythonを使用することだと思います。

python -m webbrowser "http://www.example.com/"
21
Kevin Grant

ubuntuでは、gnome-openを試すことができます。

$ gnome-open http://www.google.com

10
user1203496

Java(バージョン6以降)では、次のこともできます。

Desktop d = Desktop.getDesktop();
d.browse(uri);

ただし、これはすべてのLinuxで機能するわけではありません。執筆時点では、Gnomeはサポートされていますが、KDEはサポートされていません。

8

少なくともDebianとその派生物には、指定されたURLに最適なブラウザを選択する「賢明なブラウザ」シェルスクリプトがあります。

http://man.he.net/man1/sensible-browser

6
krtek

xdg-open http://example.comを使用するのがおそらく最良の選択だと思います。

インストールされていない場合は、kde-openまたはgnome-open(両方とも単一のファイル/ URLを使用)または一般的なブラウザーの実行可能ファイル名をループするなどのその他の回避策を持っていると思います(どちらを使用して)実行できるものを見つけます。回避策/フォールバックの完全なリストが必要な場合は、xdg-open(kde-open/gnome-open/etc。またはその他のフォールバックを呼び出すシェルスクリプト)を読むことをお勧めします。

ただし、xdg-openとxdg-mime(フォールバックの1つに使用される)はシェルスクリプトなので、アプリケーションに含めることをお勧めします。which xdg-openの呼び出しに失敗した場合は、サブプログラム環境の一時PATH変数に追加し彼らに声をかけてください。 xdg-openが失敗した場合、stderrで出力した内容からエラーメッセージを含む例外をスローし、例外をキャッチしてエラーメッセージを印刷/表示することをお勧めします。

バグがすぐに非gnomeデスクトップのサポートを計画していないことを示しているように見えるので、Java awtデスクトップソリューションを無視します。

4
sensible-browser [options] [URL or filename]; # Said to be the best.
# Server translates to: 
echo $BROWSER;
w3m [options] [URL or filename]
# Desktop (X11): I use/prefer,
x-www-browser http://tv.jimmylandstudios.com

Shellholicで説明されているxdg-openと、それが失敗した場合、 here で説明されているwhichコマンドを使用してブラウザーを検索するソリューションの組み合わせがおそらく最良のソリューションだと思います。

1
alexsb

Openコマンドが付属しているディストリビューションでは、

$ open http://www.google.com
0
Anand Varma