web-dev-qa-db-ja.com

特定のファイル拡張子のメインアプリケーションとしてシェルスクリプトを登録する方法

拡張子が「.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ファイルに登録するにはどうすればよいですか?

7
julien

これはxdg-open foo.extを実行すると端末からは正常に動作するようですが、*。extファイルを開くためのデフォルトとしてスクリプトを定義しない限り、Nautilusでは動作しないようです。

  • そのようなファイルを選択し、
  • 右クリック、
  • プロパティを選択します
  • Open Withタブを選択し、
  • 他のアプリケーションを表示をクリックします。
  • スクリプトを選択します(。extファイルを管理するスクリプト)、
  • デフォルトとして設定をクリックし、最後にを押します
  • 閉じる

それをした後、スクリプトはNautilusから開始しました。

4
htorque