我正在使用 Xmonad 作为我的窗口管理器。
在应用程序 nautilus 中,每当我尝试安装我的 USB 驱动器时,它都会显示对话框"Not authorized to perform operation."
我曾尝试将其放入~/.xsession
文件中:
nautilus --no-desktop -n &
但那不起作用。
这是我当前的~/.xsession
文件:
#!/bin/bash
gnome-settings-daemon &
exec dbus-launch --exit-with-session xmonad
此外,当我启动纯 gnome 会话时,一切都运行正常。有没有办法让 nautilus 询问密码或在 nautilus 中单击时挂载 USB 棒?
答案1
从 Dash 打开磁盘
选择所需的磁盘/分区
编辑装载选项
取消勾选需要额外授权
答案2
您需要在 xsession 中启动 polkit。
您很可能在某个路径中有一个.desktop
文件,其中包含您的 polkit 守护进程的完整路径。/etc/xdg/autostart
对我来说,添加/usr/lib/policykit-1-gnome/polkit-gnome-authentication-agent-1
后~/.Xsession
问题就解决了。
答案3
这很好polkit 概述来自 archlinux wiki 的信息对于理解该主题非常有用。
就我而言,由于我运行的是自定义配置的桌面,由 awesome、nodm、consolekit 和其他精选软件组成,因此我必须手动启动 polkit 身份验证代理。这是由 debian 中的 mate-polkit-bin 包提供的。我相信 xmonad 的情况会非常类似。
之前:thunar 无法挂载,提示“无法挂载 XXX。无权执行操作。”
运行 mate-polkit 后:thunar 在尝试挂载时要求我根据给定操作的 polkit 规则进行身份验证。这实际上是 thunar 用于挂载的 udisks 工具要求的。正确验证后,设备将按预期挂载。
解决方案是将 polkit 身份验证代理(如 mate-polkit)添加到会话启动命令(自动启动)中。
答案4
如果使用 XRDP,您将遇到此错误。您需要从 KVM 直接登录 Xwindow。