是否可以从 GUI 以 root 身份打开文件或应用程序?
我的理想情况是右键单击文件或应用程序,然后在上下文菜单中看到“以 Root 身份打开”选项,然后要求我输入 root 密码。
与此有些相关的是允许进行保存的功能,例如,在您最初未以 root 身份打开应用程序的地方进行保存(例如,修改 /etc 中的 .conf 文件)
答案1
要以提升的权限运行 GUI 应用程序,可以使用以下gksu
命令:
您可以检查它是否已安装which gksu
,如果已安装,它将输出命令的路径。如果没有,您可以使用以下命令安装它sudo apt-get gksu
$ gksu nautilus # browse files as root
$ gksu gedit /etc/fstab # edit file as root
su
此命令是和命令的前端sudo
,设计用于运行图形程序,因此使用方式与它们相同。请参阅手册页了解更多信息。
答案2
你应该绝不使用普通 sudo 以 root 身份启动图形应用程序。将 sudo 与图形应用程序一起使用可能会破坏您的环境,因为它允许 root 拥有和/或更改您必须拥有的关键文件的权限。论坛经常看到用户在 sudo 下运行图形应用程序后无法再登录的惊慌失措的求助请求。
请注意,许多网站和旧帖子都建议使用 gksu。但是,这样的搜索结果已经过时了。gksudo 多年未更新,甚至在 Bionic (18.04) 及更高版本中都不可用。gksu 已被 pkexec 取代,但主流 Ubuntu 开发人员甚至已弃用 pkexec。他们认为,在 root 下的文件操作和编辑应仅限于命令行。
我们只能推测这一决定背后的动机:也许有太多用户在以 root 身份运行图形应用程序时遇到问题。无论如何,以 root 身份运行图形应用程序现在需要解决方法和额外步骤。
针对特定口味的解决方法
有多种特定风格的选项可用于以 root 身份运行图形应用程序:
您可以在支持此选项的版本上使用 pkexec。截至 18.04,只有 Xubuntu 默认支持此选项,如以下示例所示:
pkexec thunar pkexec mousepad /etc/fstab
默认情况下,Kubuntu 允许轻松访问根文件管理器:KDE 启动器 → 计算机 → Root-Dolphin
从那里: (→ 编辑文件) 将打开 Kate 的根实例。
主线
Ubuntu 和 Gnome 使用 Nautilus 作为文件管理器。任何运行 Nautilus 的版本都允许您安装 nautilus-admin 包,这将为 Nautilus 添加两个 Python 扩展。这些扩展添加了允许 root 访问的选项:以管理员身份打开和以管理员身份编辑
还可以为 Nautilus 和 Gedit 安装缺少的 Policykit 文件。请参阅本网站 了解说明和链接。知识渊博的用户可以使用链接文件作为模板,为备选文件管理器和编辑器构建更多 Policykit 文件。它们是简单的 XML 文件,可以使用标准文本编辑器进行编辑。
常规解决方法
以下方法适用于所有口味:
使用命令行。简单的文本编辑器(如 nano)很容易学习。如果您更喜欢准图形文件管理器,请安装 Midnight Commander。这两个应用程序都可以在 sudo 下运行,没有任何问题。示例:
sudo mc sudo nano /etc/fstab
尽管之前有警告,但只要添加 -H 标志,就可以在图形应用程序中使用 sudo。此标志至关重要:它正确地将 root 设置为自己的环境,而不是不正确地继承用户的环境。必须使用 -H 标志。不使用此标志可能会损坏关键系统文件并阻止您登录。
几乎
sudo -H
任何图形应用程序都可以在任何“buntu 版本”中以 root 身份启动。这包括每个版本的默认图形编辑器和文件管理器。一个明显的危险是
sudo -H
,-H
国旗很容易被遗忘。只要一次疏忽就会造成损害。