回答:
ファイルマネージャ(デフォルトではNautilus)は、ファイルのMIMEタイプを使用して、どのプログラムでファイルを開くかを決定します。アプリケーションをインストールすると、開くことのできるMIMEタイプと、にある.desktopファイル内のファイルを開くために使用するコマンドを指定できます/usr/share/applications
。これは、メニュー、デスクトップショートカットなどに使用されるファイルです。
たとえば、GIMPには次の.desktopファイルがあります。
[Desktop Entry]
Version=1.0
Type=Application
Name=GNU Image Manipulation Program
GenericName=Image Editor
Comment=Create images and edit photographs
Exec=gimp-2.7 %U
TryExec=gimp-2.7
Icon=gimp
Terminal=false
Categories=Graphics;2DGraphics;RasterGraphics;GTK;
X-GNOME-Bugzilla-Bugzilla=GNOME
X-GNOME-Bugzilla-Product=GIMP
X-GNOME-Bugzilla-Component=General
X-GNOME-Bugzilla-Version=2.7.2
X-GNOME-Bugzilla-OtherBinaries=gimp-2.7
StartupNotify=true
MimeType=application/postscript;application/pdf;image/bmp;image/g3fax;image/gif;image/x-fits;image/pcx;image/x-portable-anymap;image/x-portable-bitmap;image/x-portable-graymap;image/x-portable-pixmap;image/x-psd;image/x-sgi;image/x-tga;image/x-xbitmap;image/x-xwindowdump;image/x-xcf;image/x-compressed-xcf;image/tiff;image/jpeg;image/x-psp;image/png;image/x-icon;image/x-xpixmap;image/svg+xml;application/pdf;image/x-wmf;image/jp2;image/jpeg2000;image/jpx;image/x-xcursor;
MimeType
フィールドを参照してください-これはサポートされているMIMEタイプをリストします。このExec
フィールドはシステムにコマンドを使用するよう指示しgimp-2.7 %U
、 '%U'を開くファイルで置き換えます。(GIMP 2.7はPPAからインストールしたバージョンなので、Ubuntuリポジトリの現在のバージョンよりも高いことに注意してください)。
アプリケーションパッケージがインストールされると、ファイルを開くたびに各.desktopファイルを検索すると時間がかかりすぎるため、システムはこのMIMEタイプデータをより簡単にアクセスできるデータベースに抽出します。
これにより、そのMIMEタイプに使用できるアプリケーションがシステムに通知され、「開く」リストのアプリケーションが提供されます。デフォルトは別の場所で定義されています。このファイル/usr/share/applications/defaults.list
は、システムのデフォルトに関する情報を提供します。特に指定しない限り、これらはファイルを「開く」ときに使用されるアプリケーションです。
/usr/local/share/applications
です。デフォルトではgtkもそこにあると思います。私のシステムでは動作しますが、Ubuntu 7.04以降からアップグレードされています(再インストールされていません)。
dv3500eaの優れた答えを補足するために、関連付けを変更したときに何が起こるかについての情報を追加したいと思います。
defaults.list(「locate defaults.list」と入力すると検索できます)は各MIMEタイプに関連付けられたアプリケーションのリストを提供しますが、行ったカスタマイズはホームディレクトリの〜/ .local /に保存されますshare / applications / mimeapps.list。したがって、関連付けを追加または削除するか、デフォルトの関連付けを変更すると、このファイルが更新されます。
http://library.gnome.org/admin/system-admin-guide/stable/にある GNOMEデスクトップシステム管理ガイドではmimeapps.listについて説明しているようには見えませんが、http://live.gnomeで次の説明を見つけました。 .org / SysAdminGuideUpdate:
mimeapps.listは$ XDG_DATA_DIRS / applicationsにあります。その目的は、アプリケーションにMIMEの関連付けを追加または削除することです。ユーザーが[アプリケーションから開く]ダイアログで変更を行うと、nautilusは〜/ .local / share / applications / mimeapps.listを書き込みます。
mimeapps.list
エントリによってが上書きされることがわかりますdefaults.list
。
~/.local/share/applications/mimeapps.list
を実行でき、pcmanfmなどの実行中のプロセスは再起動せずに変更を取得しました。(mplayer.desktopはただのmplayerを実行している私は1つが古いのmplayerでインストールは/ usr / local、私は推測した場合IDKから転がっていた。。MimeType=list;
必要でしたか。
mimeapps.list
次の検索パスのどこにでもすることができspecifications.freedesktop.org/mime-apps-spec/...
私のシステム(Debian Jessie)にも、~/.config/mimeapps.list
geditで特定のファイルタイプを開くために誤って作成した関連付けが存在することがわかりました。これを修正する標準的な方法(デフォルトのアプリケーション設定、Thunarのプロパティで開く)はこれを反映していませんでしたが、geditはデフォルトのアプリケーションでした。
行を削除できたので~/.config/mimeapps.list
、正しいアプリケーションがファイルを開きます。
~/.config/mimeapps.list
ます。
mimeapps.list
以下の検索パスのどこにでも使用できますspecifications.freedesktop.org/mime-apps-spec/...
デフォルトの関連付けに関するこのリンクを見つけましたが、役に立つかもしれません。
グローバルな関連付けのhttps://wiki.archlinux.org/index.php/Default_Applications
:
/usr/share/applications/mimeapps.list
ユーザーごとの関連付け:
~/.local/share/applications/mimeapps.list
構文は次のとおりです。
[Added Associations]
mimetype=desktopfile1;desktopfile2;...;desktopfileN
...
[Removed Associations]
mimetype=desktopfile1;desktopfile2;...;desktopfileN
[追加された関連付け]セクションは、優先度を下げる優先(デフォルト)アプリケーションを指定するために使用されます。つまり、desktopfile1が最も優先され、desktopfileNが最も優先されません。
[Removed Associations]セクションは、以前に継承されたアソシエーションを明示的に削除するために使用されます。
/usr/share/applications/mimeapps.list
わけではなく、存在しません。
mimeapps.desktop
とdefaults.desktop
次の行を使用truecrypt.desktop
し~/.local/share/applications
てファイルを作成します。
[Desktop Entry]
Encoding=UTF-8
Type=Application
Icon=
Exec=/usr/bin/truecrypt %U
Name=truecrypt
Comment=manage truecrypt volumes
次に、ファイル~/.local/share/applications/mimeapps.list
を編集し、次の行を追加します。
application/octet-stream=truecrypt.desktop
次のコマンドを実行して、TruecryptのMIMEタイプを見つけました。
file --mime-type -b <any truecrypt filename>
mimeapps.list
検索パス
他の人はこのファイルについて言及していますが、その場所を正確に説明している人はいません。
freedesktop.org標準はhttps://specifications.freedesktop.org/mime-apps-spec/mime-apps-spec-1.0.htmlで次のように述べています。
このファイルの検索順序は次のとおりです。
$XDG_CONFIG_HOME/$desktop-mimeapps.list user overrides, desktop-specific (for advanced users)
$XDG_CONFIG_HOME/mimeapps.list user overrides (recommended location for user configuration GUIs)
$XDG_CONFIG_DIRS/$desktop-mimeapps.list sysadmin and ISV overrides, desktop-specific
$XDG_CONFIG_DIRS/mimeapps.list sysadmin and ISV overrides
$XDG_DATA_HOME/applications/$desktop-mimeapps.list for completeness, deprecated, desktop-specific
$XDG_DATA_HOME/applications/mimeapps.list for compatibility, deprecated
$XDG_DATA_DIRS/applications/$desktop-mimeapps.list distribution-provided defaults, desktop-specific
$XDG_DATA_DIRS/applications/mimeapps.list distribution-provided defaults
そして、それらの環境変数のデフォルト値はhttps://specifications.freedesktop.org/basedir-spec/basedir-spec-0.6.htmlで提供されます:
$XDG_DATA_HOME
: $HOME/.local/share
$XDG_CONFIG_HOME
: $HOME/.config
$XDG_DATA_DIRS
:なし、に追加 XDG_DATA_HOME
$XDG_CONFIG_DIRS
:なし、に追加 XDG_CONFIG_HOME
Ubuntuの古いバージョンではがチェックされない場合~/.config
があるため~/.local/share
、同様に試してください。
次のようなコマンド:
xdg-settings set default-web-browser chromium-browser.desktop
xdg-settings get default-web-browser
これらのファイルは自動的に編集されます。
すべてのユーザーの場合:
/usr/share/applications/defaults.list
各ユーザーには、これらのデフォルトをオーバーライドするための構成ファイルがあります。
〜/ .config / mimeapps.list
デフォルトの無効化に使用される可能性のある場所については、https: //specifications.freedesktop.org/mime-apps-spec/mime-apps-spec-1.0.1.html も参照してください。
関連付けを変更するファイルのMIMEタイプを知っている必要があります。
また、すべての関連付けは、次を使用してコマンドラインで処理および変更できます。
xdg-mime
Freedesktop.org(以前はX Desktop Groupと呼ばれていたため、「XDG」の略語)は、現在このようなX標準を推進しているグループです(Wikipediaで詳細をご覧ください)。
warvariucの答えは、すでにxdg-mimeの使用法に言及しています:
xdg-mime default xnview.desktop image/jpeg
画像エディターとビューアーでたくさん遊んだ後、特に珍しい画像タイプ間で、ほとんど一貫性のない異なる画像タイプの異なるビューアーになりました。
上記のコマンドを使用して、イメージビューアーによって制御される各MIMEタイプに割り当てimage-viewer.desktop
、それらの1つを複製することで新しいMIMEタイプを作成しました(これはオプションで、単にお気に入りを再利用できます)。次に、新しい優先アプリケーションと互換性のないMIMEタイプがないことを手動で確認しました。最後に、そのアプリケーションを他のすべてのアプリケーションのMIMEタイプのデフォルトに設定しました。
sed '/^MimeType=/!d; s///; s/;/\n/g' \
/usr/share/applications/{ristretto,geeqie,gthumb}.desktop |sort -u \
|xargs xdg-mime default image-viewer.desktop
これは調べて.desktop
、視聴者のそれぞれのファイル(リストレット、Geeqie、およびgThumbの私の場合は)、(で始まるされたMIMEの定義を抽出MimeType=
した後、セミコロンで区切られたリストが含まれている)を、(以前にマッチした)序文ラベルを削除し、リストを行ごとに1つのエントリに分割します。 sort -u
次に、冗長な行を削除し、それらを渡してxdg-mime
新しいデフォルトを設定します。
(ライブで実行する前にこれをテストする場合は、に変更xargs
するxargs echo
と、実行する代わりに結果のコマンドが出力されます。)
この手法は、ターゲットアプリ用に再生したいものすべてに有効です。新しい.desktop
ファイルを作成する必要さえありません(既存のファイルを使用できます)。画像プレビューア間の忠誠心を必然的に変更するときに、その1つのファイルを変更するだけで済むように、追加のステップを実行しました。
Ubuntu 18.04では、優先順位は次のとおりであることがわかりました。
~/.local/share/applications/defaults.list
/usr/share/applications/defaults.list
~/.config/mimeapps.list
(「他のアプリケーションで開く」はこれを更新します)~/.local/share/applications/mimeapps.list
mimeinfo.cache
から生成されている互換性のあるアプリケーションのレジストリ.desktop
に存在するファイル/usr/share/applications
と/usr/local/share/applications
、そして使用して再生することができますupdate-desktop-database
。/etc/gnome/defaults.list
/usr/share/applications
.desktop
ファイル内のMIMEタイプを変更した後、そのMIMEデータベースを再作成して動作中の新しい関連付けを確認するコマンドはありますか?