web-dev-qa-db-ja.com

Linuxで特定のファイルタイプを開くためにアプリケーションが他のアプリケーションよりも選択される方法

以前、私のtext/xmlファイルはデフォルトでfirefoxによって開かれていたと思います。私は正確に覚えていないので、これはわかりません。次に、geanyをインストールしたと思います。その後、text/xmlをインストールするまで、google-chromeファイルは常にデフォルトでGeanyによって開かれていました。これで、デフォルトでgoogle-chromeによって開かれていることがわかります。

これまで、特定のファイルタイプに関連付けられているデフォルトのアプリケーションを確認する必要はありませんでした。

/usr/share/applications/defaults.listファイルを確認すると、次のように表示されます。

text/html=firefox.desktop;google-chrome.desktop
text/xml=google-chrome.desktop;
application/xhtml_xml=google-chrome.desktop;

私のデフォルトのブラウザはまだfirefoxに設定されています。上記の最初の行は、FirefoxとChrome for text/html)の両方を示していますが、text/xmlの場合はChromeのみです。

以前はtext/xmlのGeanyだったと思います。これが、デフォルトでGeanyがXMLファイルを開くために使用した理由だからです。私はチェックしたことがないので、これについてはよくわかりません。

質問

  • どのように設定されているのだろうか。特定のアプリケーションが別のアプリケーションよりもどのように選択されるか。
  • また、セミコロン(";")がファイルでどのように読み取られるか。

私はFedora20を使用しています-Mateデスクトップ環境。

回答に基づくクエリslm

@slmによる回答に基づくと、私のxmlファイルタイプはGeanyに関連付けられていることがわかります。しかし、代わりにChromeで開くのがわかります。

$ xdg-mime query default application/xml
geany.desktop
$ 

上で述べたように、私の/usr/share/applications/defaults.listファイルは

text/xml=google-chrome.desktop;

では、違いは何で、どちらをオーバーライドする必要がありますか?

4
bluefoggy

私は通常、コマンドラインツールxdg-mimeを使用して、特定のMIMEタイプに関連付けられているアプリケーションを判別します。

$ xdg-mime query filetype IMAGE.PNG 
image/png

$ xdg-mime query default image/png
shotwell-viewer.desktop shutter.desktop

次のように、これを1つのコマンドにすることができます。

$ xdg-mime query default $(xdg-mime query filetype IMAGE.PNG)
shotwell-viewer.desktop shutter.desktop

次のようにmimeopenを使用してデフォルトを変更できます。

$ mimeopen -d ~/test.pdf

Please choose a default application for files of type application/pdf

    1) E-book Viewer  (calibre-ebook-viewer)
    2) Document Viewer  (evince)
    3) Xournal  (xournal)
    4) GNU Image Manipulation Program  (gimp)
    5) Xpdf PDF Viewer  (xpdf)
    6) Print Preview  (evince-previewer)
    7) Inkscape  (inkscape)
    8) calibre  (calibre-gui)
    9) Other...

use application #2
Opening "/home/saml/Downloads/test.pdf" with Document Viewer  (application/pdf)

注:ちなみに、特定のMIMEタイプには複数の関連付けが存在する可能性があるため、セミコロンがあります。したがって、text/xmlにはgoogle-chrome.desktop;firefox.desktop;を含めることができます。これは、その値が、その特定のタイプを処理できるアプリが2つあることを示しているためです。

参考文献

6
slm