当前位置: 首页>>技术教程>>正文


是否有更简单或更 ‘correct’ 的方式以 root 身份打开 gedit?

,

问题描述

我在虚拟机上的虚拟机中运行 ubuntu 12.04。它的存在主要是作为与 Ubuntu 一起玩的 ‘toy’,因此我想要 GUI(这就是 ‘Dash’ 在 ubuntu 12.04 中的内容吗?无论如何……)

我目前使用这台机器的一件事是 LAMP 服务器。我使用 ‘gedit’ 来编辑我的文件,但是因为我还没有正确设置权限,所以我只是在终端中使用 sudo 打开它。

刚才,为了简化这个过程,我用一个非常简单的工作在桌面上创建了一个 shell 脚本 – sudo gedit

我不禁想到必须有一种比这更明显的方法可以从 GUI 以 root 身份打开 gedit。那么有吗?

编辑:我只是通过将 sudo 替换为 gksudo 来 ‘improved’ 我的脚本。现在我不必在打开 gedit 时打开终端窗口。所以我想现在这很方便:) 为了知识起见,知道这是否与经验丰富的 ubuntu 用户如何做这类事情很接近。

最佳思路

使用 gksudo gedit

gksudo 相当于图形程序的 sudo ,使用 sudo 运行是不安全的。

次佳思路

我发现自己经常以 root 身份运行 gedit ,因此我在 Unity 的右键菜单中添加了该选项(它使用与所选答案相同的命令 gksu gedit )。

您需要编辑 *.desktop 文件以添加菜单选项,您有两个选择:

  • /usr/share/applications/gedit.desktop(需要 root 访问权限才能编辑)- 将为所有用户添加菜单选项。请注意,您可能需要 re-edit 此文件,如果发生 gedit 更新会覆盖您的更改,请添加选项。

  • ~/.local/share/applications/gedit.desktop (如果在此处找不到,请复制在 /usr/share/applications/ 中找到的那个,并将其保存到这个新位置) – 菜单选项将仅对指定用户可用,并被视为 “better practice”。请注意,如果您已经将它停靠在 Unity 栏上,则需要在现有 GEdit 图标上选择 Unlock from Launcher,然后选择 re-add 您的 “custom” 版本。即使 GEdit 得到更新,这些更改也应该保留。

编辑文本文件 gedit.desktop ,添加以下代码块(您可以使用现有的两个块作为模板):

[Desktop Action RootWindow]
Name=Open a Root Window
Exec=gksu gedit
OnlyShowIn=Unity;

接下来,将新操作添加到列表中(应该在文本文件的第 19 行左右):

Actions=Window;Document;RootWindow;

现在 right-clicking Unity 中的文本编辑器窗口带来了这个方便的新选项:

第三种思路

在文件名前面使用 admin://,这会为您的相应 WM/shell 显示标准 GUI 密码提示。

因此,例如,如果您想编辑您的存储库,而不是键入 sudo gedit /etc/apt/sources.list 您将键入 gedit admin:///etc/apt/sources.list 。它适用于基本上所有的 GUI 程序,而不仅仅是 Gedit。

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/13007.html,未经允许,请勿转载。