独自のファイル形式を持つLinuxアプリケーションを開発しています。私はそれらのファイルをダブルクリックすると私のアプリを開きたい。Linuxのファイル拡張子/ MIMEタイプを登録する
ファイル拡張子を登録し、それをLinux上の自分のアプリケーションに関連付けるにはどうすればよいですか?私は標準的な方法(GNOMEとKDEベースのシステムで動作)を探しています。私のプログラムがインストールされたり、初めて実行されたときに自動的に実行されます。
独自のファイル形式を持つLinuxアプリケーションを開発しています。私はそれらのファイルをダブルクリックすると私のアプリを開きたい。Linuxのファイル拡張子/ MIMEタイプを登録する
ファイル拡張子を登録し、それをLinux上の自分のアプリケーションに関連付けるにはどうすればよいですか?私は標準的な方法(GNOMEとKDEベースのシステムで動作)を探しています。私のプログラムがインストールされたり、初めて実行されたときに自動的に実行されます。
xdg-utils
freedesktop.org Portlandから使用してください。
MIMEタイプのアイコン登録:
<?xml version="1.0"?>
<mime-info xmlns='http://www.freedesktop.org/standards/shared-mime-info'>
<mime-type type="application/x-mytype">
<comment>A witty comment</comment>
<comment xml:lang="it">Uno Commento</comment>
<glob pattern="*.myapp"/>
</mime-type>
</mime-info>
は、設定ファイルをインストールします:
xdg-icon-resource install --context mimetypes --size 48 myicon-file-type.png x-application-mytype
は、設定ファイル(freedesktop Shared MIME documentation)を作成しますが
xdg-mime install mytype-mime.xml
これはあなたのファイルが認識されますアイコンに関連付けられています。xdg-mime default
を使用できます.desktop
ファイルがインストールされた後にアプリケーションをMIMEタイプに関連付けるためのものです。
1)Linuxでは、これはos自体ではなくデスクトップ環境の機能です。
2)GNOMEとKDEには、これを達成するためのさまざまな方法があります。
3)あなたはそれを両方のやり方から止めることは何もありません。
これには2つの部分があります。 register a new file type、次にcreate a desktop entry for your applicationが必要です。デスクトップエントリは、アプリケーションを新しいMIMEタイプと関連付けます。
私はGnomeとKDE(おそらく4+?)の両方がfreedesktop shared mime info specを使用していると思っていましたが、間違いかもしれません。
このスクリプト試してみてください。ニーズ:現在のディレクトリ内の
1. your application icon -> $APP = FIREFOX.png
2. your mimetype icon -> application-x-$APP = HTML.png
:
#BASH SCRIPT: Register_my_new_app_and_its_extension.sh
APP="FOO"
EXT="BAR"
COMMENT="$APP's data file"
# Create directories if missing
mkdir -p ~/.local/share/mime/packages
mkdir -p ~/.local/share/applications
# Create mime xml
echo "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
<mime-info xmlns=\"http://www.freedesktop.org/standards/shared-mime-info\">
<mime-type type=\"application/x-$APP\">
<comment>$COMMENT</comment>
<icon name=\"application-x-$APP\"/>
<glob pattern=\"*.$EXT\"/>
</mime-type>
</mime-info>" > ~/.local/share/mime/packages/application-x-$APP.xml
# Create application desktop
echo "[Desktop Entry]
Name=$APP
Exec=/usr/bin/$APP %U
MimeType=application/x-$APP
Icon=$APP
Terminal=false
Type=Application
Categories=
Comment=
"> ~/.local/share/applications/$APP.desktop
# update databases for both application and mime
update-desktop-database ~/.local/share/applications
update-mime-database ~/.local/share/mime
# copy associated icons to pixmaps
cp $APP.png ~/.local/share/pixmaps
cp application-x-$APP.png ~/.local/share/pixmaps
を確認してください: FOOバイナリをは/ usr/binにある($ PATHにまたはそこにあります)
デフォルトでは、Ubuntu 9.04とFedora Core 10にはxdgユーティリティがインストールされています – jldupont