我在 Lubuntu 14.04 上运行 Firefox 28,我注意到使用“打开包含文件夹”时,它会在“文件”文件管理器中打开文件夹,而不是 PCManFM。这有点烦人,所以我搜索了Tools > Options
和about:config
,但找不到与文件管理器选择相关的任何内容。
我尝试将默认管理器切换为其他管理器,然后再切换回来,但没有效果。编辑/usr/share/applications/defaults.list
、/usr/share/applications/mimeinfo.cache
和~/.local/share/applications/defaults.list
也~/.local/share/applications/mimeapps.list
没有任何效果。
那么,有没有什么合理的方法来更改 Firefox 使用的文件管理器?
顺便说一句,我知道类似问题但这不应被视为重复,因为它适用于 Lubuntu 和通用文件管理器,而不是特定的文件管理器(尽管我打算专门针对 PCManFM 使用答案)。
答案1
灵感来自Mozilla Firefox 错误 727422,评论 30,我发现 Firefox 当前(FF 36.0,带有 LXDE 的 Ubuntu 14.10)正在使用org.freedesktop.FileManager1 接口在 Dbus 会话总线上。如该接口的规范所述,Nautilus(也称为 Files)是唯一实现此接口的文件管理器。因此,如果安装了 Nautilus,Firefox 将始终选择它作为文件管理器。
因此,有两种方法可以解决这个问题第一的问题:
- 卸载 Nautilus/Files
- 篡改org.freedesktop.FileManager1 接口Nautilus 建议禁用 Firefox 打开文件管理器的这种方法。因此,您可以删除
/usr/share/dbus-1/services/org.freedesktop.FileManager1.service
。但也许,使用建议的解决方案是更好的方法https://bugs.launchpad.net/ubuntu/+source/firefox/+bug/133133/comments/74并创建~/.local/share/dbus-1/services/org.freedesktop.FileManager1.service
并将其执行行设置为/usr/bin/false
(只需复制到/usr/share/dbus-1/services/org.freedesktop.FileManager1.service
那里并进行更改)。这样可以避免删除/编辑由包管理器创建的文件,并且您不需要超级用户权限。完成此操作后,您可能需要重新启动。
一旦 Firefox 无法再使用 Dbus 接口,它就会使用第二种方式来确定要启动哪个文件管理器。这将导致第二问题:
默认应用程序应该配置几个mimeapps.list
具有不同优先级的不同文件。它对我来说Firefox 正确地查阅了文件~/.config/mimeapps.list
,~/.local/share/applications/mimeapps.list
但/usr/share/applications/mimeapps.list
已弃用 defaults.list
-file。因此,您必须将inode/directory=pcmanfm.desktop
-entry 添加到上述三个文件之一。这也可以通过调用gvfs-mime --set inode/directory pcmanfm.desktop
或来完成xdg-mime default pcmanfm.desktop inode/directory
。
Lxde 本身似乎会使用它~/.config/lxsession/LXDE/autostart
来确定其默认文件管理器。因此,您必须手动编辑其中一个文件。