web-dev-qa-db-ja.com

デフォルトのファイルマネージャを見つける方法

linuxユーザーとして、一部のアプリケーションはパスを開くように要求でき、これによりファイルマネージャーが起動します。これをプログラムで実行したいのですが、デフォルトのファイルマネージャがどれであるかをどのように確認できますか?この情報を見つける方法はありますか?環境変数はありますか? 「ファイルマネージャ」とは、Nautilus(GNOMEの場合)やDolphin(KDEの場合)など、ファイルの管理、作成、名前の変更、フォルダの作成などを可能にするアプリケーションを意味します。

前もって感謝します!

22
Mauren

「Linux用のデフォルトのファイルマネージャ」などというものはありません。それはすべて、どのように開こうとしているかに依存します。 XDGに質問した場合、XDGがこのファイルマネージャーがどうあるべきかを確認する必要があります。 GnomeやKDEなどの他の「環境」についても同様です。それらすべてがインストールされている場合、それぞれに異なる「デフォルトのファイルマネージャ」を設定することは完全に可能です(そして問題ありません)。

デフォルトのアプリのケースは、主にWindowsにあるようです。向こうには、Windowsが提供する1つの環境しかありません。そのため、デフォルトのアプリケーションの概念は、実際にはシステム全体に効果的です。これはLinuxには当てはまりません。

$ EDITOR環境変数に格納されているものなど、Linuxでデフォルトのアプリとして認識する可能性があるものは、「真の」デフォルトのアプリではなく、単にシステムツールやスクリプトを記述する多くの人が使用する規則です。 $ FILEMANAGERを自由に定義してください(使用例に適している場合)。

7
mkaito

使用 xdg-mimeこれにコマンド。 xdgはデスクトップ環境に依存しないものである必要があります(例:xdg-openは引数を正しいファイルオープナーに渡します)。デフォルトのファイルマネージャを取得するには、次のコマンドを使用します。

xdg-mime query default inode/directory

ソース

20
Gerhard Burger

xdg-open <DIR>を使用して、ディレクトリでファイルマネージャを起動できます。いくつかのxdgアプリケーションにクエリを実行して、使用されているファイルマネージャを確認できる場合があります。

17
src

うわー、誰もここで正しい答えを発表していないとは信じられない。

Linuxのデフォルトアプリケーションは、Freedesktop(former XDG)Mimeapps Standardと、これが基づいている他のいくつかの仕様によって処理されます。

Arch Linux Wikiには、わかりやすい article も含まれています。あなたが探しているのは、mimetype inode/directoryの関連付けです。

1
ManuelSchneid3r

私はちょうど同じ問題に遭遇しました。 (私はむしろコメントしたいのですが、私の評判は十分高くありません)

私はxdg-openを試しましたが、それはid3-tag-editorであるEasyTagを開始しました(どういうわけか面白い):-)

私はゲルハルトバーガーの答えを試しました

xdg-mime query default inode/directory

私の場合はdolphin.desktopが返されました。

だから私の場合、正しい解決策は(「.dektop」を「」で置き換える)です:

xdg-mime query default inode/directory | sed 's/.desktop//g'

しかし、私は私が実行しているこのシステムでこれをテストするだけです

1
coffeekid

誰もがinode/directory MIMEタイプとxdg-openは、必要に応じてほとんどの場合に機能します(プログラムでファイルマネージャーを介してディレクトリを開きます)が、間違ったアプリケーション(ファイルマネージャーではない、たとえばVisual Studio Code)がinode/directoryをデフォルトのアプリケーションとして使用します。

さらに D-Busのファイルマネージャインターフェイスorg.freedesktop.FileManager1 in Session Bus)。要件に使用できるため、ファイルマネージャーがこのD-Busインターフェースをサポートしている場合は、これを使用することもできます。すべてのファイルマネージャがこれを実装しているわけではないので、使用できるかどうか確認してください。現在はDolphin(KDE)、Nautilus(GNOME)およびDeepin File Manager(DDE)がこのD-Busインターフェースを実装しました。また、このD-Busインターフェースのプロセスオーナーを見つけるには(プログラムでファイルマネージャーを介してパスを開くように要求する場合は、その必要はありません)、 この答え を参照してください。

0
Gary Wang