我安装了 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 的问题。
有什么建议吗?
我已经阅读了很多关于 gksu 从许多 Linux 版本中删除的主题,包括 Ubuntu 18.04。许多人表示 gksu 是一种令人憎恶的东西,任何用户都不需要使用类似的东西。我有 2 个例子,据我所知,我必须有一些东西可以让我以 root 身份运行(不仅仅是为了编辑文件)。
首先,只有在(GUI)命令上打开加密文件夹后,我才需要启动 mysql。这意味着让启动 mysql 服务的加密系统运行一个脚本。这必须以 root 身份完成,所以我在那个要求我输入密码的启动脚本中使用 gksu。我还能如何从 GUI 系统启动服务?
我也以root身份运行Ubuntu系统备份,否则很多系统文件无法备份。所以桌面文件使用 gksu 开始备份。
pkexec 看起来很复杂,需要策略文件。这是唯一的选择吗,如果是,为什么它更安全?
类似问题的其他答案似乎并没有解决人们现在 gksu 不再存在(或更难找到......)的个人问题。我认为来自非专家用户的此类问题将从更详细的答案中受益。我现在有一些,所以想回答我自己的问题。
当我使用sudo命令运行某些软件时,它显示如下错误
cannot connect to X server
Run Code Online (Sandbox Code Playgroud)
例如,如果我运行以下命令:
$ sudo gedit /etc/profile
Run Code Online (Sandbox Code Playgroud)
我收到以下命令
(gedit:6758): WARNING **: Command line `dbus-launch --autolaunch=84b871d735f31ffe014dc9ba00000009 --binary-syntax --close-stderr'
exited with non-zero exit status 1:
Autolaunch error: X11 initialization failed.
Cannot open display:
Run 'gedit --help' to see a full list of available command line options.
Run Code Online (Sandbox Code Playgroud)
或者,如果我正在运行,则会super-boot-manager出现以下错误
buc: cannot connect to X server
Run Code Online (Sandbox Code Playgroud)
请帮忙。
我正在尝试使用sudoedit,但它一直在运行nano编辑器。我首选的编辑器是vim. 我怎样才能使它成为默认值?
查看手册页,man sudoedit我注意到以下内容:
EDITOR Default editor to use in -e (sudoedit) mode if neither SUDO_EDITOR nor VISUAL is set.
SUDO_EDITOR Default editor to use in -e (sudoedit) mode.
VISUAL Default editor to use in -e (sudoedit) mode if SUDO_EDITOR is not set.
Run Code Online (Sandbox Code Playgroud)
所以我已经将它们全部设置为/usr/bin/vim,但sudoedit /etc/hosts仍然使用nano. 我错过了什么吗?
$ EDITOR=/usr/bin/vim
$ VISUAL=/usr/bin/vim
$ SUDO_EDITOR=/usr/bin/vim
$ echo $VISUAL
/usr/bin/vim
$ echo $EDITOR
/usr/bin/vim
$ echo $SUDO_EDITOR
/usr/bin/vim
$ sudoedit …Run Code Online (Sandbox Code Playgroud) 我在虚拟机上的虚拟机中运行了 ubuntu 12.04。它的存在主要是作为与 Ubuntu 一起玩的“玩具”,因此出于这个原因,我想要 GUI(这就是 ubuntu 12.04 中的“Dash”吗?无论如何......)
我目前使用这台机器的一件事是 LAMP 服务器。我使用“gedit”来编辑我的文件,但是因为我还没有正确设置权限,所以我只是在终端中使用 sudo 打开它。
刚才,为了简化这个过程,我在桌面上用一个非常简单的工作创建了一个 shell 脚本 - sudo gedit
我不禁想到必须有比这更明显的方法来从 GUI 以 root 身份打开 gedit。那么有吗?
编辑:我只是通过用 gksudo 替换 sudo 来“改进”我的脚本。现在我不必在 gedit 打开时打开终端窗口。所以我想现在这很方便:) 出于知识的考虑,知道这是否与经验丰富的 ubuntu 用户会做这种事情的方式很接近会很好。
我不确定发生了什么。几天前,我安装了一些更新,现在每当我尝试运行sudo nautilus. 如果我运行gksudo nautilus它会挂起几秒钟然后什么都不做。

其他人有同样的问题,或者知道如何解决它?尝试跑步时sudo gedit也会发生类似的事情......
尝试 sudo 其他应用程序:

根据要求提供 Sudoers:

$DISPLAY并sudo sudo -V根据要求:

在尝试按照这些说明进行操作时,我在尝试看似简单的sudo编辑操作时遇到以下错误:
$ sudo gedit /var/lib/dpkg/status
** (gedit:14898): WARNING **: Command line `dbus-launch --autolaunch=0bd873023a78bdb34ca1b9650000000b --binary-syntax --close-stderr' exited with non-zero exit status 1: Autolaunch error: X11 initialization failed.\n
Cannot open display:
Run 'gedit --help' to see a full list of available command line options.
Run Code Online (Sandbox Code Playgroud)
在没有sudo正确启动 gedit 的情况下运行相同的程序,但当然没有编辑能力。有谁知道发生了什么?