Nautilusのファイルマネージャが実行されていることを確認するための最良の方法は何ですか?

Nautilusのファイルマネージャが実行されていることを確認するための最良の方法は何ですか?

私はこの問題を解決するのに数時間を費やしました。ノーチラスファイルマネージャが実行されていない場合、ノーチラスはデスクトップのアイコンを制御するため、実行中です。

$ ps -aux | grep nautilus | grep -v grep
rick      5613  0.2  1.7 2355392 140012 pts/19 Sl+  19:04   0:08 nautilus

したがって、Nautilus File Managerを開かずにこのコマンドを使用すると、次のようになります。

$ ps -L -p 5613 -o pid,nice,lwp,comm
  PID  NI   LWP COMMAND
 5613   0  5613 nautilus
 5613   0  5614 gmain
 5613   0  5615 gdbus
 5613   0  5617 dconf worker

これで、Nautilus File Managerを開き、psコマンドを再実行します。

$ nautilus

$ ps -L -p 5613 -o pid,nice,lwp,comm
  PID  NI   LWP COMMAND
 5613   0  5613 nautilus
 5613   0  5614 gmain
 5613   0  5615 gdbus
 5613   0  5617 dconf worker
 5613   0  4788 pool

Nautilusファイルウィンドウを閉じてコマンドを再実行すると(1〜2秒ほど待機)、プールは消えます。

ノーチラスファイルマネージャが実行されているかどうかを確認する正しい方法ですか?

上記の技術を私の答えに統合しました。Ubuntuに尋ねる可能であれば、次の点を改善したいと思います。

答え1

Nautilusウィンドウが開いていることを確認する最良の方法は、D-Busセッションで確認することです。

gdbus introspect --session --dest org.gnome.Nautilus \
      --object-path /org/gnome/Nautilus --recurse | awk '/^ *node /{print $2}'

/org/gnome/Nautilus/window開いているウィンドウがある場合は、ウィンドウ項目が表示されます。

gdbus introspect --session --dest org.gnome.Nautilus \
      --object-path /org/gnome/Nautilus --recurse |
grep -q '^ *node /org/gnome/Nautilus/window/'

開いているウィンドウがあれば成功し、そうでなければ失敗します。

関連情報