Fedora

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

  • February 21, 2020

我在 fedora 25 gnome 上,我安裝beesubeesu-nautilus-manager作為替代gksu

當我嘗試使用它打開一個應用程序時,beesu它要求我輸入 root 密碼,我這樣做了,它說這是錯誤的,但事實並非如此。

我是否需要seahorse - password and keys在 fedora 的應用程序中保存我的密碼才能讓 beesu 工作?如果是這樣,該怎麼做?

我做了一個醜陋的腳本來有點模仿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

引用自:https://unix.stackexchange.com/questions/349481