LinuxのFirefoxで正しいファイルマネージャを実行するきちんとした方法

LinuxのFirefoxで正しいファイルマネージャを実行するきちんとした方法

多くの人が知っているように、現在のソリューションは機能defaults.confmimetypes.cacheません。

Firefoxは現在、D-busを使用してorg.freedesktop.FileManager1「埋め込みフォルダを開く」操作などを処理するサービスを有効にします。

多くのサービスファイル(nemoやDolphinなど)がインストールされていて、実行中のデーモンがない場合(またはdolphin --daemon/usr/bin/nemo --no-default-window

私のシステムでは、最初に選択したサービスファイルがアルファベット順にソートされているようです。したがって、KDEシステムでは、FirefoxはNemoを介してフォルダを処理します。

私はこれまで少なくとも2つの解決策を見てきましたが、どちらもハッキングのようです。

  1. シンボリックリンクを作成します。

    ln -s /usr/share/dbus-1/services/org.kde.dolphin.FileManager1.service /usr/share/dbus-1/services/00_preferred_org.freedesktop.FileManager1.service
    

    (現在実行中のファイルマネージャデーモンを終了したり、セッションに再度ログインすることを忘れないでください)

  2. 初期事前実行にはorg.freedesktop.FileManager1ハンドラが必要です。dolphin --daemon正しい条件下でと同じです~/.profile

よりクリーンな方法はありますか?

PS Firefoxなしでファイルマネージャを実行してみてください。

dbus-send --session \
          --print-reply \
          --dest=org.freedesktop.FileManager1 \
          /org/freedesktop/FileManager1 \
          org.freedesktop.FileManager1.ShowFolders \
              array:string:"file:/" string:""

答え1

最初の解決策に似たよりきれいな方法があります。で見つけることができます~/.local/share/dbus-1/services/

~によるとdbus ドキュメント$XDG_DATA_HOME/dbus-1/services、dbusは何よりもすべてのサービスファイルを見つけてロードします。ドキュメントにはフォルダの検索順序は記載されていませんが、私のコンピュータでこの方法を試してみましたが、使用したいファイルマネージャサービスを見つけました。


私の場合は、デフォルトのファイルマネージャとしてthunarの代わりにxfceを使用したかったnautilusので、次のコマンドを使用して動作させました。

ln -s /usr/share/dbus-1/services/org.freedesktop.FileManager1.service ~/.local/share/dbus-1/services/org.freedesktop.FileManager1.service

他のソース:

https://polywogsys.livejournal.com/309405.html

答え2

/usr/share/dbus-1/services/org.kde.dolphin.FileManager1.service次の内容が含まれていることがわかりました。

[D-BUS Service]
Name=org.freedesktop.FileManager1
Exec=/usr/bin/dolphin --daemon
SystemdService=plasma-dolphin.service

私はそれを交換しました

[D-BUS Service]
Name=org.freedesktop.FileManager1
Exec=QT_QPA_PLATFORMTHEME=qt5ct QT_STYLE_OVERRIDE=kvantum /usr/bin/dolphin --daemon

それは魅力のように動作します。

しかし、/usrのファイルを直接編集するのは最善の方法ではないので、~/.localで上書きする必要があるようです。

関連情報