我通过终端安装了 synaptic,但是我搜索时没有找到它,所以我卸载了它。我尝试通过包管理器安装它,我认为这样安装会更正确。然后我在搜索和单击应用启动器时运行它。我收到 sudo 密码提示,然后什么也没发生……我尝试通过终端打开 synaptic,它成功了,但我收到了此错误消息:
Gtk-Message: 18:14:50.057: GtkDialog mapped without a transient parent. This is discouraged.
然后弹出一个提示:
Starting "Synaptic Package Manager" without administrative privileges You will not be able to apply any changes, but you can still export the marked changes or create a download script for them.
我正在使用 Ubuntu 18.04.1,我是 Linux 新手。有人能向我解释发生了什么并帮助我修复它吗,谢谢。
答案1
这是 Wayland 的一项“功能”,可防止需要 root 权限的 GUI 软件通过 sudo 运行。您可以通过运行
xhost +si:本地用户:root
登录后。如果您经常需要使用 sudo 应用程序,您可以将此命令放在启动应用程序中的脚本中。
答案2
如果你正在运行 Wayland(有人可以通过在终端中发出此命令来评估他是否正在运行 Wayland echo $XDG_SESSION_TYPE
),甚至新版本的 X(显然)默认阻止 GUI root 提升权限应用程序的执行,因为这种用例涉及安全问题(参考:https://doc.ubuntu-fr.org/wayland,“为什么”第 1 节,抱歉是法语)。'gksu' 或 'gksudo' 不包含在标准 Ubuntu 发行版中,最好不要使用它们。要临时以 root 提升的权限运行 GUI 应用程序,有人可以在终端中提交此命令:
xhost +si:localuser:root
然后以通常的方式启动应用程序(在我们的例子中是突触)。
笔记:上述命令将允许提升权限的应用程序在当前 Linux 会话期间运行。
不建议把它放进去.bashrc
。
如果你需要一种适当的方法来启动提升权限的应用程序,这里有一个值得信赖的好的 wiki 条目,它提出了一个很好的可行解决方案: