在 Linux 上从 Firefox 运行正确的文件管理器的简洁方法

Mon*_*Tuk 6 linux kde d-bus firefox cinnamon

正如许多人所知,目前的解决方案defaults.confmimetypes.cache不起作用。

Firefox 目前使用 D-bus 来激活服务org.freedesktop.FileManager1来处理“打开包含文件夹”操作等。

如果安装了许多服务文件(例如 nemo 和 dolphin)并且没有运行守护程序(dolphin --daemon/usr/bin/nemo --no-default-window),则没有干净的方法来选择首选文件管理器。

在我的系统上看起来像选择的第一个服务文件按字母顺序排序。因此,在 KDE 系统上 Firefox 通过 Nemo 处理文件夹。

我目前至少看到两种解决方案,两者似乎都是黑客:

  1. 制作一个符号链接:

    ln -s /usr/share/dbus-1/services/org.kde.dolphin.FileManager1.service /usr/share/dbus-1/services/00_preferred_org.freedesktop.FileManager1.service
    
    Run Code Online (Sandbox Code Playgroud)

    (不要忘记终止当前正在运行的文件管理器守护进程或重新登录会话)

  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:""
Run Code Online (Sandbox Code Playgroud)

sma*_*c89 3

存在一种更清洁的方法,它与您的第一个解决方案类似。您可以在~/.local/share/dbus-1/services/.

根据dbus 文档,dbus 将查找$XDG_DATA_HOME/dbus-1/services(以及其他)任何服务文件并加载它们。尽管文档没有指定搜索文件夹的顺序,但我只是在我的计算机上尝试了这一点,它可以找到我想要使用的文件管理器服务。


就我而言,我想使用nautilusxfce 而不是 thunar 作为默认文件管理器,因此我使用以下命令使其工作:

ln -s /usr/share/dbus-1/services/org.freedesktop.FileManager1.service ~/.local/share/dbus-1/services/org.freedesktop.FileManager1.service
Run Code Online (Sandbox Code Playgroud)

其他来源:

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