コマンドラインからデフォルトプログラムでファイルを開くには?


8

GUIファイルエクスプローラでファイルをクリックすると、デフォルトのプログラムを使用してそれが開かれます。これは、コマンドラインから開く方法がわからないファイルに役立ちます。

代わりにコマンドラインを使用してデフォルトのプログラムでファイルを開く方法はありますか?

あるいは、ファイル拡張子を指定して、それを開くコマンドを判断する方法はありますか?

回答:


12

代わりにコマンドラインを使用してデフォルトのプログラムでファイルを開く方法はありますか?

これはの仕事です xdg-open

xdg-openは、ユーザーの好みのアプリケーションでファイルまたはURLを開きます。 URLが提供されている場合、そのURLはユーザーの好みのWebブラウザで開かれます。ファイルが提供されている場合、そのファイルはそのタイプのファイルの優先アプリケーションで開かれます。 xdg-openはfile、ftp、http、httpsのURLをサポートしています。

  • デフォルトのアプリケーションでファイルを開くための構文:

    xdg-open {file}
    

xdg-openはUbuntuにプレインストールされています。

あるいは、ファイル拡張子を指定して、それを開くコマンドを判断する方法はありますか?

拡張子では、いいえ。デフォルトのアプリケーションは拡張子ではなくMIMEタイプに基づいて選択されます。 Linuxには「拡張機能」はありません。

特定のファイルには、次のものを使用できます。 xdg-mime ファイルのMIMEタイプとそれに関連付けられているデフォルトのアプリケーションの両方を判別するには、次のようにします。

  • ファイルのMIMEタイプを表示するための構文:

    xdg-mime query filetype {file}
    
  • MIMEタイプのデフォルトアプリケーションを表示するための構文:

    xdg-mime query default {mimetype}
    
  • ファイルのデフォルトアプリケーションを表示するための構文:

    xdg-mime query default "$(xdg-mime query filetype {file})"
    

(ハックな)回避策としては、以下のコマンドを使うことができます。

xdg-mime query default \
    `xdg-mime query filetype "$(find ~ / -iname '*.png' -print -quit)"`

PNG画像などのデフォルトのアプリケーションを表示します。

これは、あなたのコンピュータにPNG画像があり、最初に見つかったファイルがで終わっている場合に限り機能します。 .png 有効なPNG画像です。


まさに私が探していたもの! xdg-openがPNGファイルなど、開くために使用されるコマンドを認識できるかどうか知っていますか?
Gradient

私は自分の答えを更新しました。
Dennis
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.