当前位置: 首页>>技术问答>>正文


我如何以root身份启动Nautilus?

,

问题描述

我在Ubuntu 12.04 LTS中遇到了Nautilus的问题。

当我运行命令gksu nautilus /时,出现密码询问框,我输入我的super-user密码,然后密码框消失,Nautilus没有打开。

当我尝试使用命令nautilus以普通用户身份打开Nautilus时,将打开该文件夹。

当我在终端尝试

$ sudo nautilus

我收到以下错误

$ sudo nautilus /

** (nautilus:8523): WARNING **: Command line `dbus-launch --autolaunch=2c8ce9b7da2257c2609b749700000007 --binary-syntax --close-stderr' exited with non-zero exit status 1: Autolaunch error: X11 initialization failed.\n Could not parse arguments: Cannot open display:

我该如何解决这个错误?

最佳解决思路

尝试:

gksudo nautilus

然后输入您自己的密码,就像使用sudo一样。

Gksudo手册页:http://linux.die.net/man/1/gksudo

次佳解决思路

如何以pkexec代替gksugksudo作为管理员运行GeditNautilus

在Ubuntu 18.04中测试了GVfs方法

使用GVfs管理员后端,只需将admin://添加到首选目录的完整路径的开头即可。

按常规方式打开Nautilus并按Ctrl + L以启用键入address-bar,然后输入例如admin:///usr/以打开/usr/目录。

在提示时输入您的管理员密码,您将看到如下内容:

nautilus,ubuntu

此时单击带锁定的文件夹将以管理员权限打开。

您可以为使用admin:///前缀打开的文件夹添加书签。当您稍后单击此类书签时,系统可能会再次提示您输入管理员密码。

或者,从终端打开nautilus,参数为admin:///usr/

nautilus admin:///usr/

在Nautilus中以root身份打开/usr /目录。

使用管理员权限编辑文本文件

从Nautilus以这种方式打开,如果您单击需要管理员权限的文本文件,则会在默认编辑器(如Gedit)中打开之前再次提示您输入密码。

如果您使用的是Ubuntu 17.10

默认情况下,以下方法不适用于Wayland。有一些解决方法。最简单的不是使用Wayland。 如何在Ubuntu 17.10中从Wayland切换回Xorg? 为什么不用gksu/gksudo或启动带有sudo的图形应用程序与Wayland一起工作?中描述了其他替代方案

默认情况下,Ubuntu将在18.04 LTS中切换回Xorg,然后不再需要解决方法。

原始答案

资料来源:WebUpd8

gksu自2009年以来尚未更新,现已更名为not recommended。事实上,默认情况下Ubuntu不再附带gksu(虽然它可能会为你们中的许多人安装,因为有些应用程序仍然依赖它),甚至可能在某些时候完全删除它。

Nautilus admin为Nautilus和Gedit添加了PolicyKit文件,它允许通过PolicyKit以root身份从Nautilus打开文件或文件夹:

要在Ubuntu中安装Nautilus Admin,请按Ctrl + Alt + T打开终端并使用以下命令:

sudo apt-get install nautilus-admin

并且到restart Nautilus使用以下任一命令:

nautilus -qkillall nautilus

在此之后,当您右键单击文件夹时,您将看到:

nautilus,ubuntu

如果您右键单击Gedit可编辑的文本文件,您将看到:

nautilus,ubuntu

然后会提示您输入密码:

nautilus,ubuntu

相关问题:“Open in terminal” not working on nautilus as root

最后,安装nautilus-admin还允许从命令行以root身份打开nautilus。使用以下命令代替gksugksudo

pkexec nautilus 

以root身份打开 nautilus 。

希望这可以帮助

第三种解决思路

使用root权限打开Nautilus时,最好使用该命令

gksudo

除非您的root帐户已解锁,在这种情况下,Ubuntu不鼓励这样做。

“gk”的原因是因为sudo本身不会自动执行the necessary actions以正确运行图形应用程序作为另一个用户。

但是,例如,如果您使用的是Kubuntu等KDE系统,则需要发出命令

kdesudo

附:当你不使用它时,不要让你的Nautilus根窗口打开,然后忘记它,因为使用一个你不知道的根窗口是一个坏主意。

有关更多信息,请查看gksudo here的Ubuntu手册页。

第四种思路

如果您发现自己经常以root身份打开nautilus,我建议将选项添加到Unity中的right-click菜单中:(它使用与最常见答案gksu nautilus相同的命令)。

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

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

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

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

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

接下来,将新操作添加到列表中(应该位于文本文件的第18行):

Actions=Window;RootWindow;

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

nautilus,ubuntu

第五种思路

“sudo nautilus”适合我。以下是一些替代方案:

在终端中输入”sudo su”的超级用户模式(将询问您的密码),然后从那里运行命令:

sudo su
nautilus

另一种方法是使用其他东西进行文件探索而不是nautilus,这不需要图形环境。想到了GNU Midnight Commander – mc。您可以像这样安装和运行它:

sudo apt-get install mc
mc

您的错误消息表明根“无法打开显示”。原因可能是DISPLAY环境未正确设置。您可以在终端上查看,如下所示:

printenv | grep DISPLAY

您应该看到类似DISPLAY=:0.0的内容。如果没有,请先关注root的显示环境。

参考资料

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