Corredor

ウェブ、プログラミングの勉強メモ。

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) の中に含まれているらしい。