是否有更容易或更“正确”的方式以root身份打开gedit?
我在虚拟机上的虚拟机中运行ubuntu 12.04。 它的存在主要是作为Ubuntu玩的“玩具”,因此我想要GUI(是什么’Dash’在ubuntu 12.04?无论如何……)
我目前使用这台机器的一件事是LAMP服务器。 我使用’gedit’编辑我的文件,但由于我没有正确设置权限,我只是在终端中使用sudo打开它。
刚才,为了尝试简化这个过程,我在桌面上用一个非常简单的工作创建了一个shell脚本 – sudo gedit
我不禁想到必须有一个更明显的方法来从GUI打开gedit作为root而不是这个。 那有吗?
编辑:我只是通过用gksudo替换sudo来’改进’我的脚本。 现在,当gedit打开时,我不必打开终端窗口。 所以我觉得现在这很方便:)为了知识,这将是一件好事,知道这是否与经验丰富的ubuntu用户如何做这类事情有关。
使用gksudo gedit
。
gksudo
相当于图形程序的sudo
,使用sudo
运行是不安全的。
我发现自己经常以root身份运行gedit
,所以我将选项添加到Unity中的右键菜单(它使用与所选答案相同的命令, gksu gedit
)。
您需要编辑*.desktop
文件才能添加菜单选项,您有两种选择:
-
/usr/share/applications/gedit.desktop
(需要root访问权限才能编辑) – 将为所有用户添加菜单选项。 请注意,您可能需要重新编辑此文件,如果更改了覆盖更改的gedit更新,则添加该选项。 -
~/.local/share/applications/gedit.desktop
(如果你在那里找不到它,复制一下/usr/share/applications/
那个,并将它保存到这个新位置) – 菜单选项仅适用于指定用户,并被视为“更好的做法”。 请注意,如果您已将其停靠在Unity栏中,则需要在现有的GEdit图标上选择Unlock from Launcher
,然后重新添加“自定义”版本。 即使GEdit获得更新,这些更改也应该保留。
编辑文本文件gedit.desktop
,添加以下代码块(您可以使用现有的两个块作为模板):
[Desktop Action RootWindow] Name=Open a Root Window Exec=gksu gedit OnlyShowIn=Unity;
接下来,将新操作添加到列表中(应该位于文本文件的第19行):
Actions=Window;Document;RootWindow;
现在右键单击Unity中的文本编辑器窗口会显示这个方便的新选项:
gksudo gedit
在16.04 LTS工作,但在17.10与Wayland gksudo
不起作用。
-
如果在登录屏幕中选择Xorg ,则可以安装和使用
gksudo
, -
但在Wayland你应该使用
-
一个文本模式编辑器,简单的
nano
或高级emacs
,这是Wayland想要的开发人员(出于安全考虑) -
或者您可以根据以下链接使用
xhost
和sudo -H gedit
,为什么不用gksu / gksudo或启动带有sudo的图形应用程序与Wayland一起工作?
-
您可以以root身份打开Nautilus, gksu nautilus
,现在从该窗口打开的任何文本文件都将以Gedit身份打开。
gksudo
显然不适用于较新的Ubuntu版本, gksu
不能为我工作,但这个答案对我的情况非常有帮助(Ubuntu 17.04)。
使用visudo
下行添加到sudo配置文件中:
Defaults env_keep="XAUTHORIZATION XAUTHORITY TZ PS2 PS1 PATH LS_COLORS KRB5CCNAME HOSTNAME HOME DISPLAY COLORS"`
EDITOR=gedit sudo -e
是推荐的。