デフォルトのファイルマネージャでディレクトリを開き、ファイルを選択します。

デフォルトのファイルマネージャでディレクトリを開き、ファイルを選択します。

私が作成しているプログラムで、現在作業しているファイルを含むディレクトリを開き、自動的にそのファイルを選択する機能を提供したいと思います(したがって、ユーザーはそのファイルを検索する必要はありません)。

以下を使用して、デフォルトのファイルマネージャでディレクトリを開くことができることを知っています。

xdg-open /path/to/directory

Nautilusでディレクトリを開き、次のようにファイルを選択できることを知っています。

nautilus /path/to/file.txt

アイデア私は利用できる

xdg-mime query default inode/directory

デフォルトのファイルマネージャをインポートします(ノーチラスの場合)上記のように呼び出します。しかし、ノーチラスが私のシステムのデフォルトであるにもかかわらず(xdg-openGNOMEシェルでノーチラスと位置メニューを開く)xdg-mimeが返されますThunar.desktop(試してみましたが、find / -name Thunar.desktop -mount 2>/dev/null何も見つかりませんでした)。

また、ディレクトリを開き、サブディレクトリを選択する方法がわかりません。目次Nautilusで(上記の方法を使用してサブディレクトリを開きます)。

デフォルトのファイルマネージャでディレクトリを開く方法そしてそのディレクトリからファイルを選択します(ディレクトリも選択できますが、このアプリケーションには必要ありません)。それとも、自分で呼び出すことができるように、少なくともデフォルトのファイルマネージャを見つけますか?

ベストアンサー1

1.Nautilusでディレクトリを開き、サブディレクトリ/ファイルを選択するには:

nautilus --select path/to/file/or/directory

~からnautilus(1) のマニュアルページ:

-s, --選択
  親フォルダで指定されたURIを選択します。

2. xdg-mime帰ってきたがThunar.desktop開いxdg-openているnautilus

xdg-mimemimeapps.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.listinode/directorymimeapps.list/usr/share/applications/defaults.list

メモ:「基本アプリ」を決定する完全なアルゴリズムを見つけることができます。ここ

おすすめ記事