前段时间我从 Systemd 迁移到 OpenRC。这是非常不同的,为了能够使用音频和网络摄像头,我必须将我的用户添加到音频、光学和视频组。由于某些软件使用 pkexec 以超级用户身份运行,当我打开它们时(因为我使用 XFCE)什么也没有发生。当我使用 Systemd 时,这并没有发生,并且它配置为使用 /usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1 (我已安装)。当我在终端中写入 pkexec 时,这是输出
$ pkexec
==== AUTHENTICATING FOR org.freedesktop.policykit.exec ===
Authentication is required to modify fingerprint authentication data
Authenticating as: (MY USERNAME)
Password:
polkit-agent-helper-1: error response to PolicyKit daemon: GDBus.Error:org.freedesktop.PolicyKit1.Error.Failed: No session for cookie
==== AUTHENTICATION FAILED ===
Error executing command as another user: Not authorized
This incident has been reported.
我不知道如何在 OpenRC 中启用 polkit 守护进程/服务,在 Systemd 中,该服务名为“polkit”。但是 ConsoleKit (有什么区别?)似乎失败了
$ service consolekit status
* status: stopped
# service consolekit restart
* starting consolekit . .
$ service consolekit status
* status: crashed
我的发行版是抛物线(基于 Arch,不同之处在于从存储库和 Arch 本身中删除了所有非自由软件包,因为 Arch 也使用 Systemd、Parabola),我在虚拟机中更改为 OpenRC,并且正在测试它。
提前致谢
其他输出
$ groups
wheel network video audio storage polkitd $USERNAME
答案1
我不知道你正在使用什么软件包,但你可能需要 polkit-consolekit ,也许还需要一些其他软件包。
以下是从 systemd 切换到 Manjaro(类似 Arch 发行版)的 OpenRC 的指南: https://wiki.manjaro.org/index.php?title=OpenRC,_an_alternative_to_systemd