尽管设置了 polkit 策略,但网络管理器中的权限不足

尽管设置了 polkit 策略,但网络管理器中的权限不足

当以普通用户身份运行时,nm-applet 不允许我选择无线网络,提示“权限不足”。但我已经编辑了 polkot 策略文件

/usr/share/polkit-1/actions/org.freedesktop.NetworkManager.policy

对所有事情都使用 <allow_any>yes</allow_any>。为了更加确定,我还使用了 <allow_active>yes</allow_active> 和 <allow_inactive>yes</allow_inactive>。

所有这些都是在 Fedora 17(polkit-0.104、NetworkManager-0.9.4)上,没有运行 gnome3,只有 gnome-settings-daemon。

polkitd、dbus-daemon 和 dbus-launch 都在运行。可能是什么原因?

答案1

正如关联,在OP的评论中列出:

解决方案在这里:blog.falconindy.com/articles/… 通过 startx 和 polkit 手动启动 X 并不酷 :) 但是你说“startx -- vt01”,那么一切都会好起来。 – Daniel 2012 年 10 月 19 日 15:54

当用户X从控制台启动服务器时,如果startx不带任何参数,则经过身份验证的会话可能会出现许多问题;显然,新终端是通过 Xserver 会话启动的,其中控制台会话中建立的身份验证不会“转移”到新创建的 X 会话。
由于这种“身份验证丢失”,非特权用户不允许“与特权进程对话”和/或请求身份验证。

建议的解决方法是从控制台启动X服务器,并将当前 VT 编号作为参数传递,例如:

xinit -- vt01

这将导致在同一终端(使用经过身份验证的会话)内xinit启动服务器,而不是启动新的 TTY。X

同样,根据对此的评论参考文章systemd-logind将适当的 vt 放入环境变量中$XDG_VTNR;因此,可以创建一个简短的脚本,或者alias通过包含以下内容来促进正确的 xinit 进程

exec /usr/bin/X -nolisten tcp vt$XDG_VTNR "$@"

笔记
根据博客文章, Arch-linux 的版本xorg-xinit自 起默认包含此行xorg-xinit-1.3.2-3blog.falconindy.com

相关内容