2008-08-27 27 views
52

独自のファイル形式を持つLinuxアプリケーションを開発しています。私はそれらのファイルをダブルクリックすると私のアプリを開きたい。Linuxのファイル拡張子/ MIMEタイプを登録する

ファイル拡張子を登録し、それをLinux上の自分のアプリケーションに関連付けるにはどうすればよいですか?私は標準的な方法(GNOMEとKDEベースのシステムで動作)を探しています。私のプログラムがインストールされたり、初めて実行されたときに自動的に実行されます。

答えて

42

xdg-utilsfreedesktop.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

デフォルトでは、Ubuntu 9.04とFedora Core 10にはxdgユーティリティがインストールされています – jldupont

4

1)Linuxでは、これはos自体ではなくデスクトップ環境の機能です。
2)GNOMEとKDEには、これを達成するためのさまざまな方法があります。
3)あなたはそれを両方のやり方から止めることは何もありません。

0

このスクリプト試してみてください。ニーズ:現在のディレクトリ内の

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にまたはそこにあります)

関連する問題