为什么 pcmanfm 在挂载文件系统时如此令人头疼?

为什么 pcmanfm 在挂载文件系统时如此令人头疼?

如果我知道 LXDE 及其默认文件管理器 需要多少“定制”才能pcmanfm正常工作,我可能永远不会选择尝试它。

我有一个问题。很多人都有它。所有这些人都报告了同样的问题pcmanfm。论坛上的人们有大约六个神奇的食谱,可以让它最终发挥作用。但我想知道到底是什么导致pcmanfm无法工作,因为我想增加对 Linux 工作方式的理解,而不仅仅是遵循某人的指示。

我说的是相当无益的“未授权”窗口弹出的每当我插入媒体时

很多人们拥有这个问题

我之前设法解决了这个问题。我最终用 xml 文件做了一些魔术。 (是 udisks 吗?是吗polkit-gnome?我不知道,但它们都在解决这个问题的神奇配方列表中。)我将每一个说某事的条目都改为说别的。最后,我可以看到我的媒体。 (我什至无法手动安装它,我应该添加。)

我之前修复过它,然后...发生了什么事?我使用apt-get,安装了一个新的软件包(udev,因为我试图修复其他安装问题似乎人们在hal被弃用时就不再拥有了),然后,问题又回来了。

所以,我一定喜欢折磨,因为这肯定是有可能的。

这不是一个容易回答的问题。如果您没有点击上面的任何链接,您将无法知道我在说什么。

我的问题是,这到底是什么?在一个真正的、赤裸裸的骨头上,我们在 Unix 之上构建这些系统,有时它们的运行效果不如原始 Unix等级?

答案1

首先,确保dbusconsolekit正在运行——通常这意味着ck-launch-session dbus-launch在您的exec语句之前添加。

您还需要检查您的用户是否在该storage组中(您可以使用 进行检查groups)。大多数发行版都附带了在安装时配置的组策略,但如果没有,您可能需要尝试滚动自己的策略(升级storage时可能已删除/修改了该策略)。udev

[[ -d /etc/polkit-1/localauthority/50-local.d ]] || mkdir -p /etc/polkit-1/localauthority/50-local.d
cat > /etc/polkit-1/localauthority/50-local.d/99-allow_storage_mount.pkla << 'EOF'
[Storage Permissions]
Identity=unix-group:storage
Action=org.freedesktop.udisks.filesystem-mount;org.freedesktop.udisks.drive-eject;org.freedesktop.udisks.drive-detach;org.freedesktop.udisks.luks-unlock;org.freedesktop.udisks.inhibit-polling;org.freedesktop.udisks.drive-set-spindown
ResultAny=yes
ResultActive=yes
ResultInactive=no
EOF

答案2

我最近在 Debian 测试中的 LXDE 遇到了同样的问题。

最后@jw013向我展示了一个错误(参见这个问题),这里可以理解问题是 XDM 和其他一些显示管理器不与 ConsoleKit 通信,并且没有为 PoliciKit 设置正确的信息(特别是会话结果为不活跃的)。

我解决了所有授权问题,切换到不同的显示管理器(在我的例子中是 LightDM),但我确信 GDM 也对此有好处。

答案3

其根本原因是,人们以自己的方式编写软件,做出自己的假设。当一个应用程序所做的假设与另一应用程序所做的假设不同时,这两个应用程序将无法彼此开箱即用。这就是每个操作系统发行版都有软件包维护者的原因。维护人员的任务之一是修补应用程序,以便它们能够协同工作。假设可能并且将会发生变化,因此在维护者有时间修补之前,有时会出现问题。

就您而言,我认为维护人员(有维护人员还是您自己将东西粘合在一起?)错过了 XML 配置文件中的更改,或者测试人员错过了这个用例。根据具体情况,您可以等到维护人员发现并修复它,或者修复它并忘记它,或者将其报告给错误跟踪器(如果可用),或者获取源代码和补丁代码:)

相关内容