デフォルトのブラウザで特定のURLを開くためにLinux(異なる一般的なディストリビューション)で実行する必要があるコマンド(Javaからですが、それは問題ではありません)
最もクロスディストリビューションはxdg-open http://stackoverflow.com
です
最も簡単な方法はPythonを使用することだと思います。
python -m webbrowser "http://www.example.com/"
ubuntuでは、gnome-openを試すことができます。
$ gnome-open http://www.google.com
Java(バージョン6以降)では、次のこともできます。
Desktop d = Desktop.getDesktop();
d.browse(uri);
ただし、これはすべてのLinuxで機能するわけではありません。執筆時点では、Gnomeはサポートされていますが、KDEはサポートされていません。
少なくともDebianとその派生物には、指定されたURLに最適なブラウザを選択する「賢明なブラウザ」シェルスクリプトがあります。
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デスクトップソリューションを無視します。
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
コマンドを使用してブラウザーを検索するソリューションの組み合わせがおそらく最良のソリューションだと思います。
Openコマンドが付属しているディストリビューションでは、
$ open http://www.google.com