61

独自のファイル形式を持つ Linux アプリケーションを開発しています。これらのファイルをダブルクリックしたときにアプリが開くようにします。

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

4

4 に答える 4

51

freedesktop.org Portlandxdg-utilsから使用します。

MIME タイプのアイコンを登録します。

xdg-icon-resource install --context mimetypes --size 48 myicon-file-type.png x-application-mytype

構成ファイルを作成します ( freedesktop Shared MIME documentation ):

<?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-mime install mytype-mime.xml

これにより、ファイルが認識され、アイコンに関連付けられます。xdg-mime defaultファイルをインストールした後、アプリケーションを MIME タイプに関連付けるために使用できます.desktop

于 2008-08-28T08:18:00.263 に答える
10

これには 2 つの部分があります。新しいファイル タイプを登録してから、アプリケーションのデスクトップ エントリを作成する必要があります。デスクトップ エントリは、アプリケーションを新しい MIME タイプに関連付けます。

Gnome と KDE (おそらく 4+ のみ?) の両方がfreedesktop 共有 MIME 情報仕様を使用していると思いましたが、間違っている可能性があります。

于 2008-08-28T08:03:04.997 に答える
4

1) Linux では、これは OS 自体ではなく、デスクトップ環境の機能です。
2) GNOME と KDE では、これを達成するための方法が異なります。
3) 両方の方法で行うことを妨げるものは何もありません。

于 2008-08-27T19:14:01.270 に答える
3

このスクリプトを試してください: 必要:

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) にあります

于 2014-01-13T07:31:02.240 に答える