Corredor

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

2020-11-28 : このブログは2020年末をもって更新停止する予定です。
2021年以降は Neo's World (https://neos21.net/) で記事を公開していきますので、今後はコチラをご覧ください。
このブログの記事は2021年以降、Neo's World に順次移行していきます。元記事および本ブログは移行次第削除する予定です。

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