标签: gksu

为什么用户永远不应该使用普通的 sudo 来启动图形应用程序?

我已经阅读了社区“RootSudo”文档并对这一行感兴趣:

永远不应该使用普通的 sudo 以 Root 身份启动图形应用程序。

为什么?有什么不同?请提供一个简单的解释,因为我只是一个普通的桌面用户。

gui sudo gksu

125
推荐指数
3
解决办法
3万
查看次数

为什么不再默认安装 gksu?

例如,我一直建议按ALT+F2和打字,gksu nautilus或者gksudo nautilus两者都是等价的;以root权限运行图形程序。但是,我刚刚在测试系统上安装了 raring,这不再有效。

gksu并且gksudo不作为默认安装的一部分安装;尽管它们在存储库中。至少在 12.04 中gksudo只是一个符号链接到gksu

我一直这样做的原因是,虽然sudo在某些情况下使用它通常是安全的,但它可能会导致图形应用程序出现问题,因为gksu您是否以root身份运行程序,而sudo您以自己的身份运行但具有提升的权限。

这可能意味着您无意中更改了关键系统文件的所有者。这可能会导致问题。

这个推理在这里得到了更好的解释:

为什么从全新安装中删除了命令,我们应该改用什么?

gksu gksudo

106
推荐指数
2
解决办法
14万
查看次数

gksudo 和 gksu 有什么区别?

是否有行为之间的区别gksu foogksudo foo
它们可以互换使用吗?

gksu gksudo

57
推荐指数
3
解决办法
2万
查看次数

gksu: Gtk-WARNING **: 无法打开显示: :0

突然间 gksu 停止为我工作:

~$ gksu gparted

(gpartedbin:24252): Gtk-WARNING **: cannot open display: :0
Run Code Online (Sandbox Code Playgroud)

同样的情况发生在gparted-pkexec

~$ gparted-pkexec 
No protocol specified

(gpartedbin:25454): Gtk-WARNING **: cannot open display: :0
Run Code Online (Sandbox Code Playgroud)

什么可能导致这种情况?

我没有通过 SSH 或 VNC 运行它。这是普通终端窗口中的localhost 。

xorg sudo gtk gksu pkexec

52
推荐指数
3
解决办法
21万
查看次数

48
推荐指数
3
解决办法
2万
查看次数

为什么 gksu/gksudo 或使用 sudo 启动图形应用程序不能与 Wayland 一起使用?

我安装了 Ubuntu 17.10。现在我遇到了gksu以下问题:

$ gksu -dg synaptic
No ask_pass set, using default!
xauth: /tmp/libgksu-HgUjgQ/.Xauthority
STARTUP_ID: gksu/synaptic/8760-0-alex-XPS-15-9530_TIME4974977
cmd[0]: /usr/bin/sudo
cmd[1]: -H
cmd[2]: -S
cmd[3]: -p
cmd[4]: GNOME_SUDO_PASS
cmd[5]: -u
cmd[6]: root
cmd[7]: --
cmd[8]: synaptic
buffer: -GNOME_SUDO_PASS-
brute force GNOME_SUDO_PASS ended...
Yeah, we're in...
Unable to init server: Could not connect: Connection refused
(synaptic:8767): Gtk-WARNING **: cannot open display: :1
xauth: /tmp/libgksu-HgUjgQ/.Xauthority
xauth_env: (null)
dir: /tmp/libgksu-HgUjgQ
Run Code Online (Sandbox Code Playgroud)

如果我不使用-g,密码对话框将被禁用。所以看起来像为 root 创建 tty 的问题。

有什么建议吗?

root wayland gksu

47
推荐指数
4
解决办法
4万
查看次数

gksudo 和 sudo 之间的区别?

可能的重复:
“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)

bash sudo gksu

38
推荐指数
1
解决办法
8万
查看次数

如何从非管理员用户会话中以管理员身份运行带有 GUI 的应用程序?

我定义了 2 个用户帐户:

  • 一个具有管理员权限(具有sudo权限)=> 让我们称之为adminuser
  • 没有任何特权的第二个 => 让我们调用它 ,我在这个第二个用户上配置自动登录。 normaluser
    normaluser

因此,当我打开一个normaluser会话并希望以管理员权限运行应用程序时,
我打开一个终端Ctrl+ Alt+T并:

su adminuser
sudo anyapplication ...
Run Code Online (Sandbox Code Playgroud)

它工作正常,无需退出normaluser会话(无需打开adminuser会话)。


但是,如果应用程序需要使用 GUI(图形用户界面)运行,我该怎么办?
我想:

su adminuser
gksu anyapplication ...
Run Code Online (Sandbox Code Playgroud)

但我明白了

** (gksu:9122): WARNING **: the connexion is closed
No protocol specified
No protocol specified
(gksu:9122): Gtk-WARNING **: cannot open display: :0.0
Run Code Online (Sandbox Code Playgroud)

sudo gksu su

38
推荐指数
4
解决办法
12万
查看次数

我在 18.04 中需要相当于 gksu

我已经阅读了很多关于 gksu 从许多 Linux 版本中删除的主题,包括 Ubuntu 18.04。许多人表示 gksu 是一种令人憎恶的东西,任何用户都不需要使用类似的东西。我有 2 个例子,据我所知,我必须有一些东西可以让我以 root 身份运行(不仅仅是为了编辑文件)。

首先,只有在(GUI)命令上打开加密文件夹后,我才需要启动 mysql。这意味着让启动 mysql 服务的加密系统运行一个脚本。这必须以 root 身份完成,所以我在那个要求我输入密码的启动脚本中使用 gksu。我还能如何从 GUI 系统启动服务?

我也以root身份运行Ubuntu系统备份,否则很多系统文件无法备份。所以桌面文件使用 gksu 开始备份。

pkexec 看起来很复杂,需要策略文件。这是唯一的选择吗,如果是,为什么它更安全?

类似问题的其他答案似乎并没有解决人们现在 gksu 不再存在(或更难找到......)的个人问题。我认为来自非专家用户的此类问题将从更详细的答案中受益。我现在有一些,所以想回答我自己的问题。

root sudo gksu

36
推荐指数
3
解决办法
4万
查看次数

sudo 和 gksu 之间的区别是否与 sudo -i 和 sudo -s 之间的区别相同?

sudo cmdand之间的区别,和 用and启动 shellgksu cmd的区别一样吗?
sudo -isudo -s

... 或者换一种说法,
sudo cmd 一样sudo -i cmd
gksu cmd一样sudo -s cmd吗?

编辑:根据我在Ubuntu 文档页面上阅读的内容,它说:

You should never use normal sudo to start graphical applications as root.  
You should use gksudo (kdesudo on Kubuntu) to run such programs. gksudo sets  
HOME=~root, and copies .Xauthority to a tmp directory. This prevents files  
in your home directory becoming owned by root.  
(AFAICT, this is …
Run Code Online (Sandbox Code Playgroud)

command-line sudo gksu

28
推荐指数
3
解决办法
3万
查看次数

标签 统计

gksu ×10

sudo ×7

gksudo ×2

root ×2

su ×2

bash ×1

chroot ×1

command-line ×1

gtk ×1

gui ×1

pkexec ×1

visudo ×1

wayland ×1

xorg ×1