gksudo 和 sudo 之间的区别?

Unt*_*led 38 bash sudo gksu

可能的重复:
“gksudo nautilus”和“sudo nautilus”有什么区别?

我有一个很小的脚本,我希望它在启动时运行,但它需要 sudo 权限,所以我使用 gksudo 来完成这项工作。但它失败了。(使用 sudo 可以正常工作。)除了接口之外,sudo 和 gksudo 之间有什么区别吗?

顺便说一句:这是我提到的小脚本:

#!/bin/bash

cat /sys/devices/platform/sony-laptop/kbd_backlight|if read state; then \
    echo $((1-$state)) | sudo tee /sys/devices/platform/sony-laptop/kbd_backlight; fi;
Run Code Online (Sandbox Code Playgroud)

Fer*_*ect 38

主要区别如下:

gksudo: 用于以 root 身份运行图形 (GUI) 应用程序
sudo : 用于以root身份运行命令行应用程序

您的脚本无法使用的原因gksudo是因为您无法在不运行 X 的情况下运行 GUI。

  • 因为答案是错误的。gksudo 用于在 GUI 窗口中弹出密码提示,无论应用程序是 GUI 还是 CLI。同样,sudo 会在终端而不是 GUI 窗口中要求输入密码,而不管正在运行的应用程序类型如何。有时,在不在交互式终端中运行的脚本中,gksu 是将用户输入的密码直接发送到 sudo 的最简单方法。 (31认同)
  • 为什么?我是一个典型的愚蠢用户,看到输入“sudo”就足以运行具有 root 权限的图形应用程序。所以我使用 sudo 并保存了两个输入字母。除非你能说服我为什么我应该再输入两个字母;) (11认同)
  • 为什么对错误的答案投了这么多票.... (5认同)
  • 因为否决票会损失声誉:) (2认同)