私のLubuntu(18.10)では、ファイルがどのアプリケーションにも関連付けられていない場合、xdg-open
はVLCプレーヤーを起動します。
$ xdg-mime query filetype jquery.js
application/javascript
$ xdg-mime query default application/javascript # no output
$ xdg-open jquery.js
Error: no "view" mailcap rules found for type "application/javascript"
Opening "/tmp/jquery.js" with VLC media player (application/javascript)
一部のファイルでは、Calibreの電子書籍ビューア(.rbなど)が起動します。
[〜#〜] edit [〜#〜]xdg-open
を調べたところ、次のコマンドが実行されていることがわかりました。
xdg-mime query filename "$file"
およびxdg-mime query default $filetype
でファイルタイプを確認しますrun-mailcap --action=view "$file"
mimeopen -L -n "$file"
問題はmimeopenにあります。
次に、mimeopenを変更して、フェザーパッドまたは特定のアプリで不明なファイルを開くにはどうすればよいですか?言い換えれば、mimeopenが適切なアプリを見つけられない場合、デフォルトのフォールバックアプリケーションを設定したいと思います。
mimeopen
は、不明なファイルをtext/plain
またはapplication/octet-stream
として扱います。
デフォルトのアプリケーションを設定するには、-d
オプションを指定してmimeopenを実行します。 mimetypeを指定するオプションが見つからなかったため、最初にダミーファイルを作成する必要があります。
touch text.txt # for text/plain
mimeopen -d text.txt # and choose your favorite app
echo -e \\0 > data.dat # for application/octet-stream
mimeopen -d -M data.dat
または「〜/ .config /mimeapps.list」を編集します。
[Default Applications]
text/plain=featherpad.desktop;
application/octet-stream=firefox.desktop;
File-MimeInfo に同梱されているmimeopen
は、parentmimytypesを持つアプリケーションを見つけようとします。たとえば、ファイルタイプが「text /」で始まる場合、親として「text/plain」があります。そして、すべてのファイルタイプは「application/octet-stream」を継承します。
私の環境のmimeopenでは、オクテットストリームに最も「適した」アプリはVLCプレーヤーで、テキスト/プレーンには、CalibreのE-book Viewerです。そのため、これらのアプリでいくつかのファイルが開かれます。
_man xdg-mime
_には、デフォルトのアプリケーションを設定するオプションxdg-mime default application mimetype(s)
があります。使用できます
_xdg-mime default featherpad.desktop application/javascript
_
_featherpad.desktop
_のようなファイルを開くためのデフォルトのエディターとして_application/javascript
_を作成します。
あるいは、_/usr/share/applications/
_ディレクトリの下に_default.list
_のようなファイルを見つけることができます。私の場合は_gnome-mimeapps.list
_です(私はgnomeDEとnautilusFMを持っています)。このファイルを編集して、デフォルトのアプリケーションを起動できます。