Gnome 强制限制查看需要 root 权限的文件。尝试使用/var/log/boot.log
gedit 打开文件失败,没有可见的选项以 root 身份从 GUI 文件管理器执行此操作。Gnome 如何处理这种情况?我知道我可以使用sudo gedit
,但这比从 Nautilus 启动应用程序更麻烦,对不起,文件。
Cinnamon 桌面中的文件管理器 Nemo 提供了一个接近理想的解决方案。它为您提供了一个以 root 身份打开目录的选项,然后您可以使用文本编辑器打开此文件。
另一种选择是在编辑器中强制执行文件保存时的权限,而不是文件打开时的权限。它可以允许以只读模式打开任何文件,这不会带来任何安全问题。过去曾经在某个地方这样做过。当前的设计没有必要那么专制。
答案1
在命令行中输入:
gedit admin://<full path to file>
系统将在弹出对话框中提示您输入 sudo 用户密码。正确输入密码后,您的文件将在 gedit 中打开。
例如:
gedit admin:///var/log/boot.log
答案2
我将其添加为一个单独的答案,因为您提到您想要一种更方便(不那么“麻烦”)的方式以 root 身份编辑文件。
您可以使用nautilus-admin 扩展。
此扩展为 Nautilus 添加了一个名为“以管理员身份编辑”的右键单击上下文菜单项。只需右键单击要以 root 身份编辑的文件,然后选择此选项即可。
安装此扩展的最佳方法是:
sudo apt install nautilus-admin
以 root 身份编辑文件的推荐方法是使用gedit admin://
,正如我的其他回答中指出的那样。此扩展程序的功能完全相同,但您不必打开终端并自己输入命令。
答案3
您可以制作一个小脚本来减少开销,就像这样。
#!/bin/bash
absolute_name=$(realpath "$1")
pkexec env DISPLAY=$DISPLAY XAUTHORITY=$XAUTHORITY gedit "$absolute_name"
将脚本放在路径中的某个位置并使其可执行。为了演示,我将其命名为ggedit
。
因此你只需输入(例如)
ggedit /etc/fstab
将打开一个授权窗口,输入您的密码,然后以超级用户身份打开该文件。
来源:我几乎肯定在过去几十年里从 Ask Ubuntu 上找到过这个,但我再也记不清在哪里了
答案4
侏儒教义是如何应对这种情况的?
我能找到的最“官方”的声明是 help.gnome.org 上的这个页面:
它以一个大胆的免责声明开始:
以 root 用户身份编辑文件具有潜在危险,可能会损坏您的系统。以 root 用户身份编辑文件时请务必小心。
gedit
他们的建议是以root 用户身份从终端启动:
sudo gedit
另一种选择是在编辑器中强制执行文件保存时的权限,而不是文件打开时的权限
在您的特定示例中,这是不可能的,因为/var/log/boot.log
除了 root 之外的任何用户都无法读取。因此,为了显示其内容,任何应用程序都需要 root 权限。
您可能能够将@Organic Marble 的答案与 .desktop 文件结合起来,这样您就可以右键单击 -> 打开方式 -> root gedit。
对于(可能)更常见的情况,即您想要编辑由 root 拥有且您的用户可读的文件(例如 中的大多数配置文件)/etc
,我个人使用 Kate。它会以您当前的用户身份打开文件,并在您尝试保存时要求您输入密码。但它确实需要整个 KDE/Qt 生态系统,这对您来说可能是也可能不是可以接受的。