如何在 Fedora 上使用 beesu(gksu 替代品)?

如何在 Fedora 上使用 beesu(gksu 替代品)?

我在 fedora 25 gnome 上,我安装了beesubeesu-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

答案2

这是一个韦兰问题。这是 Wayland 的有意设计决定,请参阅 Bug1274451

所有积分均归用户所有询问软呢帽。我只是回答我的问题来结束这个话题。

相关内容