我可以使用“gksu”成为 CLI 操作的 root 吗?

我可以使用“gksu”成为 CLI 操作的 root 吗?

我不在乎这是否不安全,因为我只是把它作为一项编程练习,但这就是我想要做的:

我想创建一个 C 程序,使用“system”命令调用 dpkg 并安装一些 .deb 文件。

但是,我希望它使用类似 gksu 的东西在命令行环境之外询问密码。

因此,基本上,我将双击我的程序,它将为我完成:

  1. 检查 .deb 文件是否存在
  2. 如果没有,则使用通知发送通知用户文件丢失
  3. 如果它们都存在,则调用“gksu dpkg”来安装软件包,并使用notify-send来告知软件包何时安装。

我该怎么做?

答案1

我不会使用gksu它进行命令行/终端操作,gksu是一个“su 和 sudo 的 GTK+ 前端”,为什么不直接使用sudo呢?

Bash 脚本可以在命令行上轻松运行。man bash有关信息,请参阅

测试:测试 [expr]
评估条件表达式。
-e FILE 如果文件存在则为真。
-f FILE 如果文件存在并且是常规文件则为真。

所以

#!/bin/bash
if test -f somefile.deb
then
    sudo dpkg -i somedebfile
else
    notify-send "somefile.deb is missing"
fi

相关内容