Linuxでフォルダーウィンドウを開く標準的な方法は?
-
09-06-2019 - |
質問
クロスプラットフォーム (windows/mac/linux) Python アプリケーション内から、適切なファイル マネージャーでフォルダー ウィンドウを開きたいと考えています。
OSX では、次のようにしてファインダー内にウィンドウを開くことができます。
os.system('open "%s"' % foldername)
そしてWindowsでは
os.startfile(foldername)
UNIX/Linux についてはどうですか?これを行う標準的な方法はありますか、それとも gnome/kde/etc を特殊なケースにして、適切なアプリケーション (nautilus/konqueror/etc) を手動で実行する必要がありますか?
これは、によって指定できるもののようです freedesktop.org folks (Python モジュール。 webbrowser
, 、もいいですね!)。
解決
os.system('xdg-open "%s"' % foldername)
xdg-open
ファイル/URLにも使用できます
他のヒント
ユーザーが使用したいファイル マネージャーが多数あるため、これはおそらく手動で行うか、構成アイテムとして含める必要があります。コマンドオプションの方法も提供します。
それぞれのツールキットに kde または gnome のデフォルトを起動する関数があるかもしれませんが、それらを探す理由はありませんでした。
実行中のウィンドウ マネージャーに基づいてこれを行う必要があります。OSX と Windows には (事実上の) 標準的な方法があり、選択肢は 1 つしかないためです。
ファイルマネージャー アプリケーションを正確に指定する必要はありませんが、これは wm を通じて実行できるはずです。Gnome がそうであることは知っていますが、使用されている可能性のあるファイル マネージャーが 2 つ (Konqueror/Dolphin) あるため、これを KDE で行うことが重要です。
これが freedesktop.org にとって標準化されるのは良いことだという意見には同意しますが、誰かが自ら立ち上がって自発的に標準化しない限り、それが実現するとは思えません。
編集:xdg-openは知りませんでした。知っておいて損はありません!