私が作成しているプログラムで、現在作業しているファイルを含むディレクトリを開き、自動的にそのファイルを選択する機能を提供したいと思います(したがって、ユーザーはそのファイルを検索する必要はありません)。
以下を使用して、デフォルトのファイルマネージャでディレクトリを開くことができることを知っています。
xdg-open /path/to/directory
Nautilusでディレクトリを開き、次のようにファイルを選択できることを知っています。
nautilus /path/to/file.txt
私アイデア私は利用できる
xdg-mime query default inode/directory
デフォルトのファイルマネージャをインポートします(ノーチラスの場合)上記のように呼び出します。しかし、ノーチラスが私のシステムのデフォルトであるにもかかわらず(xdg-open
GNOMEシェルでノーチラスと位置メニューを開く)xdg-mime
が返されますThunar.desktop
(試してみましたが、find / -name Thunar.desktop -mount 2>/dev/null
何も見つかりませんでした)。
また、ディレクトリを開き、サブディレクトリを選択する方法がわかりません。目次Nautilusで(上記の方法を使用してサブディレクトリを開きます)。
デフォルトのファイルマネージャでディレクトリを開く方法そしてそのディレクトリからファイルを選択します(ディレクトリも選択できますが、このアプリケーションには必要ありません)。それとも、自分で呼び出すことができるように、少なくともデフォルトのファイルマネージャを見つけますか?
ベストアンサー1
1.Nautilusでディレクトリを開き、サブディレクトリ/ファイルを選択するには:
nautilus --select path/to/file/or/directory
-s, --選択
親フォルダで指定されたURIを選択します。
2. xdg-mime
帰ってきたがThunar.desktop
開いxdg-open
ているnautilus
xdg-mime
mimeapps.list
使用する基本アプリケーションを決定するために使用されます。
mimeapps.list
ユーザー固有、システム別、展開固有の要件を処理するために別々のファイルが存在します。検索順序は以下にあります。ここ。
mimeapps.list
指定されたMIMEタイプのデフォルトアプリケーションは、[基本アプリケーション]セクションに一覧表示されます。複数の基本アプリケーションを優先順位の下に並べることができます。たとえば、
[Default Applications]
mimetype1 = default1.desktop;default2.desktop;
どこ模倣タイプ1無言の形式で*。デスクトップデスクトップファイルです。
xdg-open
有効なデスクトップファイルが見つかるまで、環境設定リストで見つかった順序でデスクトップファイルを検索します。すべてのファイルの中でそのファイルが見つからない場合は、関連付けに応じて最も優先されたファイルが選択され、デフォルトのアプリケーションとして使用されます。
default1.desktop
したがって、この例ではシステムに存在しないと仮定して試みxdg-open
ますdefault2.desktop
。ただし、xdg-mime
返されるのはファイルの最初の項目default1.desktop
です。mimeapps.list
あなたの場合は出力でなければdefault1.desktop
なりません。Thunar.desktop
しかし、システムにインストールされていません。したがって、システム上のファイル/ディレクトリを使用してxdg-open
ファイル/ディレクトリを開きます。これを確認するには、ファイルにが含まれていることをnautilus
確認できます。 Ubuntu 17.10の場合、ファイルの場所は次のとおりです。mimeapps.list
inode/directory
mimeapps.list
/usr/share/applications/defaults.list
メモ:「基本アプリ」を決定する完全なアルゴリズムを見つけることができます。ここ。