apt-get install gksu

gksu是linux下图形化的su/sudo工具

sudo 用来执行命令行(CLI)程序
gksu 用来执行图形的(GUI)程序

GUI = Graphical User Interface
CLI = Command Line Interface

sudo 是当前用户的home目录,gksu 是root 用户的home目录

sudo gvim 和 gksu gvim 明显不同,
sudo gvim 读取当前用户下的 ~/.gvim 配置文件,
gksu 读取 root 用户的配置文件,因为当前用户配置文件里设置字体没起作用,:cd 后 :pwd 结果是 /root

所以在系统或程序启动时,没有运行终端CLI,可以用gksu来实行root权限。

用法:gksu [-u <用户>] [选项] <命令>

--debug,-d
   在屏幕上打印调试信息,这些信息可能对诊断或解决问题有用。

--user <用户>,-u <用户>
    以指定用户身份运行 <命令>。

--disable-grab,-g
    禁止在程序询问密码时锁定键盘、鼠标和焦点。

--prompt,-P
    在独占键盘和鼠标前询问用户是否需要这样做。

--preserve-env,-k
    保留当前环境,例如不重设 $HOME 和 $PATH。

--login,-l
    以此作为登录 Shell。当心这可能会导致与 Xauthority magic 的问题。运行 xhost 以允许目标用户在您的显示上打开窗口!

--description <描述 | 文件>,-D <描述 | 文件>
    为待运行的命令提供一个用在默认信息中的描述性名称以使它更漂亮。您也可以提供一个 .desktop 文件的绝对路径,其 Name 键值将被用作此用途。

--message <信息>,-m <信息>
    替换标准的询问密码的信息为本参数提供的信息。请只在 --description 不符合需要时使用。

--print-pass,-p
    让 gksu 打印密码到标准输出,和 ssh-askpass 一样。在包含能从标准输入接收密码的程序的脚本中很有用。

--sudo-mode,-S
    让 GKSu 使用 sudo 而不是 su,与运行“gksudo”效果一致。

--su-mode,-w
    让 GKSu 使用 su,而不是 libgksu 默认的方法。

在编程中比较有用的几个参数

-D:描述是哪个应用程序调用的gksu,不告诉用户任何其他的信息。

-m:当需要把后台程序的行为告知用户时使用这个参数。

-p:读取gksu的输入,打印到标准输出,当程序需要密码时,用这个参数;不过此时的gksu是不去验证密码的正确性的,所以怎么样保证这个密码是正确的,就需要我们程序员动脑经了。

-w:让gksu使用su,能让用户选择是否为当前程序记住密码

E.g.

一,先打开nautilus文件管理器,从/usr/share/applications/文件夹中将gedit的启动器文件复制到桌面中来。

二,右键点击桌面上的gedit的启动器文件,在菜单中选择属性,在原来的命令前增加gksu,即如下图中的gksu gedit %U,修改后点击右下角的关闭。
linux gksu用法-LMLPHP

图片上传到红联Linux系统教程频道中。

三,回到桌面上,点击gedit的桌面快捷方式,这个时候会调出一个对话框,输入开机密码就能打开具有root权限的gedit文本编辑器了。

05-02 17:55