问题描述
我在虚拟机上的虚拟机中运行 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。