拡張子が「.ext」のファイルのデフォルトアプリケーションとして登録したいシェルスクリプト「the_script」があります。この目的のために、MIMEタイプを登録するxmlファイルと、アプリケーションをMIMEタイプに関連付ける.desktopファイルを作成しました。スクリプトにはユーザーの実行可能ビットがあり、ユーザーのパスで使用できます。
「the_script.xml」という名前のxmlファイルは次のとおりです。
<?xml version="1.0" encoding="UTF-8"?>
<mime-info xmlns="http://www.freedesktop.org/standards/shared-mime-info">
<mime-type type="application/x-the-script">
<comment>A file for the script</comment>
<glob pattern="*.ext"/>
</mime-type>
</mime-info>
それからxdg-mime install --novendor the_script.xml
を実行しました。
「the_script.desktop」という名前の.desktopファイルは次のとおりです。
[Desktop Entry]
Version=1.0
Type=Application
MimeType=application/x-the-script
Name=The script that manages .ext files
Comment=Interpreter for .ext files
TryExec=the_script
Exec=the_script %f
Terminal=false
そして、xdg-desktop-menu install --novendor the_script.desktop
を実行してファイルを登録しました。
両方のファイルが登録されると、.extファイルはテキストエディターで開かなくなりますが、Gnomeは「スクリプト用のファイル」ファイル用のインストール済みアプリケーションがないことを通知します。
他のアプリケーションで他のファイル形式を正常に登録しました。 the_scriptはシェルスクリプトですが、他のアプリケーションはコンパイルされたプログラムです。それが唯一の違いです。スクリプトを.extファイルに登録するにはどうすればよいですか?
これはxdg-open foo.ext
を実行すると端末からは正常に動作するようですが、*。extファイルを開くためのデフォルトとしてスクリプトを定義しない限り、Nautilusでは動作しないようです。
それをした後、スクリプトはNautilusから開始しました。