我已经安装了 CentOS 8,但没有beesu
, 或gksu
软件包。我也尝试过安装一些Fedora的rpm包beesu
,但没有成功。以前我使用 CentOS 7,并且有一个桌面快捷方式根终端像这样:
[桌面入口] 版本=1.0 类型=应用 Exec=beesu exo-open --启动 TerminalEmulator 图标=gksu-root-terminal 启动通知=true 终端=假 类别=实用程序;X-XFCE;X-Xfce-Toplevel; 仅显示=XFCE; 名称=终端模拟器 Comment=使用命令行
我应该用什么来代替?
答案1
在 CentOS 8 以及 Debian 10 中,您可以使用 polkit 来实现此目的。而不是使用beesu
,使用pkexec
- 在图形模式下,它的行为是相同的:它在启动程序之前要求输入密码。
创建自定义策略文件,/usr/share/polkit-1/actions/custom.policy
如下所示:
<policyconfig>
<vendor>Custom</vendor>
<action id="exo-open">
<description>Run as root</description>
<message>Authentication is required to run as root.</message>
<defaults>
<allow_any>no</allow_any>
<allow_inactive>auth_admin</allow_inactive>
<allow_active>auth_admin</allow_active>
</defaults>
<annotate key="org.freedesktop.policykit.exec.path">/usr/bin/exo-open</annotate>
<annotate key="org.freedesktop.policykit.exec.allow_gui">true</annotate>
</action>
<!-- another actions -->
</policyconfig>
然后更新您的桌面快捷方式根终端像这样:
[桌面入口] 版本=1.0 类型=应用 Exec=pkexec exo-open --启动终端模拟器 图标=gksu-root-terminal 启动通知=true 终端=假 类别=实用程序;X-XFCE;X-Xfce-Toplevel; 仅显示=XFCE; 名称=终端模拟器 Comment=使用命令行 路径=