问题描述
我在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
代替gksu
或gksudo
作为管理员运行Gedit
和Nautilus
在Ubuntu 18.04中测试了GVfs方法
使用GVfs管理员后端,只需将admin://
添加到首选目录的完整路径的开头即可。
按常规方式打开Nautilus并按Ctrl
+ L
以启用键入address-bar,然后输入例如admin:///usr/
以打开/usr/
目录。
在提示时输入您的管理员密码,您将看到如下内容:
此时单击带锁定的文件夹将以管理员权限打开。
您可以为使用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 -q
或killall nautilus
在此之后,当您右键单击文件夹时,您将看到:
如果您右键单击Gedit可编辑的文本文件,您将看到:
然后会提示您输入密码:
相关问题:“Open in terminal” not working on nautilus as root
最后,安装nautilus-admin
还允许从命令行以root身份打开nautilus。使用以下命令代替gksu
或gksudo
:
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带来了这个方便的新选项:
第五种思路
“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的显示环境。
参考资料