xdg-openの中身
LinuxなどのX環境では、コマンドラインで「xdg-open url」のように実行することにより、WebブラウザでURLを開ける。Freedesktop.orgのPortlandプロジェクトで開発されているもので、わりと汎用的らしい。以下、xdg-openの中身のメモ。
xdg-open
xdg-openはシェルスクリプト。判断ロジックは以下のとおり。
- 環境変数KDE_FULL_SESSIONがtrueならKDEと判断し、kfmclientを呼ぶ
- 環境変数GNOME_DESKTOP_SESSION_IDが設定されていればGNOMEと判断し、gnome-openを呼ぶ
- 「xprop -root _DT_SAVE_MODE」の値が"xfce4"であればXfce4と判断し、exo-openを呼ぶ
- そうでなければ、次項以降へ。OSによって実装が違うようだ
Red Hat系Linuxで条件に合わない場合
Red Hat系Linuxではxdg-open内で処理が続く(Fedoraで確認)。これがオリジナルっぽい。
- 環境変数BROWSERが設定されていればそれを呼ぶ
- ":"区切りで複数指定も可(最初に実行できたところで終了)
Debian系Linuxで条件に合わない場合
Debian系Linuxではdpatchな独自パッチが入っていて、sensible-browserを呼ぶ。sensible-browserもシェルスクリプトで、判断ロジックは以下のとおり。
- 環境変数BROWSERが設定されていればRed Hat系に同じ
- 環境変数DISPLAYが設定されていれば(Xが動いていれば)
- 環境変数GNOME_DESKTOP_SESSION_IDが設定されていれば(GNOMEであれば)
- gnome-www-browserがあればそれを呼ぶ
- x-www-browserがあればそれを呼ぶ
- gnome-terminalとwww-browserがあればそれを呼ぶ
- x-www-browserがあればそれを呼ぶ
- x-terminal-emulatorとwww-browserがあればそれを呼ぶ
- 環境変数GNOME_DESKTOP_SESSION_IDが設定されていれば(GNOMEであれば)
- www-browserがあればそれを呼ぶ
コメント
コメントの投稿
トラックバック
https://emasaka.blog.fc2.com/tb.php/771-4c616b7f