我在 fedora 25 gnome 上,我安装了beesu
并beesu-nautilus-manager
作为替代gksu
当我尝试使用beesu
它打开一个应用程序时,它要求我输入 root 密码,我这样做了,它说这是错误的,但事实并非如此。
我是否需要在 fedora 的应用程序中保存密码seahorse - password and keys
才能让 beesu 工作?如果是这样,该怎么做?
答案1
我做了一个丑陋的脚本来模拟gksudo
- 在 Fedora 31 上测试
- Alt与+一起使用F2
用法
~$ wsudo [cmd]
(默认为gnome-terminal
)
代码
将以下代码放入/usr/local/bin/wsudo
.您还需要安装该gtkdialog
软件包
#!/bin/bash
[ -z $GTKDIALOG ] && GTKDIALOG=gtkdialog
MAIN_DIALOG='
<window>
<hbox>
<entry>
<variable>PASSWORD</variable>
<visible>password</visible>
<action signal="activate">exit:OK</action>
</entry>
<button ok></button>
</hbox>
</window>
'
export MAIN_DIALOG
tmpfile=$(mktemp /tmp/wsudo-XXXXX.$$)
$GTKDIALOG -c --program=MAIN_DIALOG >"$tmpfile"
. "$tmpfile"
rm "$tmpfile"
#small script to enable root access to x-windows system
xhost +SI:localuser:root
if [ -z "$1" ];then
echo $PASSWORD | sudo -S gnome-terminal
else
echo $PASSWORD | sudo -S "$@"
fi
#disable root access after application terminates
xhost -SI:localuser:root
#print access status to allow verification that root access was removed
xhost