xdg-open : Linux の GUI で Mac の open コマンドっぽいヤツ
MacOS において open
コマンドを使うと、
- ディレクトリを指定すれば Finder が開き、
- ファイルを指定すれば「テキストエディタ」など適切なソフトでファイルが開く
といった動きをする。
Windows の場合は start
コマンドを使ったり、explorer.exe
の引数にファイルパスを渡してやったりすると、似たようなことができたりする。
Linux でも、このように「コマンドラインから任意のアプリでファイルやディレクトリを開く」という動きを実現したく、調べてみた。
結論からいくと、Ubuntu などには xdg-open
というコマンドが搭載されているので、コレを使えば良い。
/usr/bin/xdg-open
の実体はシェルスクリプトらしく、.desktop
形式のファイルを見たりして適切なソフトを導き、引数で指定されたファイルやディレクトリをうまく開こうとしているようだ。
XDG という単語は「X Desktop Group」の略で、現在は freedesktop.org というプロジェクトを指している。Unix 系のデスクトップ環境の共通基盤を作ろうとしているプロジェクトのようだ。xdg-open
コマンドは Portland Project (xdg-utils) の中に含まれているらしい。