我在虚拟机上的虚拟机中运行 ubuntu 12.04。它的存在主要是作为玩 Ubuntu 的“玩具”,因此我想要 GUI(ubuntu 12.04 中的“Dash”是什么?无论如何……)
我目前使用这台机器的一个用途是 LAMP 服务器。我使用“gedit”来编辑我的文件,但由于我尚未正确设置权限,所以我只是在终端中使用 sudo 打开它。
刚才,为了尝试简化这个过程,我在桌面上创建了一个 shell 脚本,其中有一个非常简单的任务 -sudo gedit
我忍不住想,一定有比这更明显的方法从 GUI 以 root 身份打开 gedit。有吗?
编辑:我刚刚通过将 sudo 替换为 gksudo 来“改进”了我的脚本。现在,当 gedit 打开时,我不必打开终端窗口。所以我想现在这很方便 :) 为了获得知识,最好知道这是否与经验丰富的 ubuntu 用户执行此类操作的方式有任何相似之处。
答案1
使用gksudo gedit
。
gksudo
相当于sudo
图形程序,使用 运行并不安全sudo
。
答案2
我发现自己gedit
经常以 root 身份运行,因此我在 Unity 的右键菜单中添加了该选项(它使用与选定答案相同的命令gksu gedit
)。
您需要编辑一个*.desktop
文件才能添加菜单选项,您有两个选择:
/usr/share/applications/gedit.desktop
(需要 root 权限才能编辑)- 菜单选项将添加全部用户。请注意,您可能需要重新编辑此文件,添加选项,如果发生 gedit 更新则覆盖您的更改。~/.local/share/applications/gedit.desktop
(如果您在那里找不到它,请复制在中找到的文件/usr/share/applications/
,然后将其保存到这个新位置)- 菜单选项仅对指定用户可用,这被视为“更好的做法”。请注意,如果您已将其停靠到 Unity 栏,则需要选择Unlock from Launcher
现有的 GEdit 图标,然后重新添加“自定义”版本。即使 GEdit 获得更新,这些更改也应保留。
编辑文本文件gedit.desktop
,添加以下代码块(您可以使用现有的两个块作为模板):
[Desktop Action RootWindow]
Name=Open a Root Window
Exec=gksu gedit
OnlyShowIn=Unity;
接下来,将新操作添加到列表中(应该位于文本文件的第 19 行左右):
Actions=Window;Document;RootWindow;
现在右键单击 Unity 中的文本编辑器窗口会出现这个方便的新选项:
答案3
admin://
在文件名前面使用,它会弹出相应 WM/shell 的标准 GUI 密码提示。
例如,如果你想编辑你的 repos,sudo gedit /etc/apt/sources.list
你可以输入而不是gedit admin:///etc/apt/sources.list
。它适用于基本上所有的 GUI 程序,而不仅仅是 Gedit。
答案4
您可以以 root 身份打开 Nautilus,gksu nautilus
现在您从该窗口打开的任何文本文件都将以 root 身份在 Gedit 中打开。