我如何以root身份启动Nautilus?
我在Ubuntu 12.04 LTS中遇到了Nautilus的问题。
当我运行命令gksu nautilus /
,出现密码询问框,我输入我的超级用户密码,然后密码框消失,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
作为管理员运行pkexec
AND Nautilus
在Ubuntu 18.04中测试了GVfs方法
使用GVfs管理员后端,只需将admin://
添加到首选目录的完整路径的开头即可。
按常规方式打开Nautilus并按Ctrl + L启用在地址栏中输入,然后输入例如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年以来未更新, 不再推荐 。 事实上,默认情况下Ubuntu不再附带gksu(虽然它可能会为你们中的许多人安装,因为一些应用程序仍然依赖它),甚至可能在某些时候完全删除它。
Nautilus admin
为Nautilus和Gedit添加了PolicyKit文件 ,它允许通过PolicyKit以root身份从Nautilus打开文件或文件夹:
要在Ubuntu中安装Nautilus Admin
,请按Ctrl + Alt + T打开终端并使用以下命令:
sudo apt-get install nautilus-admin
要重新启动Nautilus,请使用以下任一命令:
nautilus -q
或killall nautilus
在此之后,当您右键单击文件夹时,您将看到:
如果您右键单击Gedit可编辑的文本文件,您将看到:
然后会提示您输入密码:
相关问题: “在终端中打开”不能以root身份使用nautilus
最后,安装nautilus-admin
还允许从命令行以root身份打开nautilus。 使用以下命令而不是gksu
或gksudo
:
pkexec nautilus
以root身份打开鹦鹉螺。
希望这可以帮助
使用root权限打开Nautilus时,最好使用该命令
gksudo
除非您的root帐户已解锁,在这种情况下,Ubuntu不鼓励这样做。
“gk”的原因是因为sudo
本身不会自动执行必要的操作以正确运行图形应用程序作为另一个用户。
但是,例如,如果您使用的是Kubuntu等KDE系统,则需要发出命令
kdesudo
ps当你不使用它时,不要让你的Nautilus根窗口打开,然后忘记它,因为使用一个你不知道的根窗口是一个坏主意。
有关更多信息,请在此处查看gksudo
的Ubuntu手册页。
如果您发现自己经常以root用户身份打开nautilus,我建议将该选项添加到Unity中的右键菜单:(它使用与最佳答案相同的命令, gksu nautilus
)。
您需要编辑*.desktop
文件才能添加菜单选项,您有两种选择:
-
/usr/share/applications/nautilus.desktop
(需要root访问权限才能编辑) – 将为所有用户添加菜单选项。 请注意,您可能需要重新编辑此文件,如果对Nautilus的更新发生覆盖您的更改,则添加该选项。 -
~/.local/share/applications/nautilus.desktop
(如果你在那里找不到它,复制一下/usr/share/applications/
那个,并将它保存到这个新位置) – 菜单选项仅适用于指定用户,并被视为“更好的做法”。 请注意,如果您已将其停靠在Unity栏中,则需要在现有Nautilus图标上选择Unlock from Launcher
(默认情况下显示为命名Files
),然后重新添加“自定义”版本。 即使Nautilus获得更新,这些更改也应该保留。
编辑文本文件nautilus.desktop
,添加以下代码块(您可以使用现有的两个块作为模板):
[Desktop Action RootWindow] Name=Open a Root Window Exec=gksu nautilus OnlyShowIn=Unity;
接下来,将新操作添加到列表中(应该位于文本文件的第18行):
Actions=Window;RootWindow;
现在右键单击Unity中的文本编辑器窗口会显示这个方便的新选项:
“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的显示环境。
打开终端并输入以下内容:
sessionfile=$(find "${HOME}/.dbus/session-bus/" -type f) export $(grep "DBUS_SESSION_BUS_ADDRESS=" "${sessionfile}" | sed '/^#/d')
尝试再次运行您的命令( sudo nautilus
)。
如果你正在运行Ubuntu Live或Persistent安装,sudo nautilus是可以的,除了home之外,驱动器上的所有内容都已经由root拥有并且是只读的。
如果您使用sudo nautilus以root用户身份在持久驱动器上的主文件夹内创建,复制或修改文件或文件夹,则权限将在重新启动时恢复为所有者。 如果使用sudo nautilus在其他驱动器上创建,复制或修改文件,则在关闭USB驱动器后,权限将恢复为所有者。
使用以下命令编辑/etc/profile
:
sudo nano /etc/profile
然后将其添加到文件的末尾:
xhost +local:all
按Ctrl + X退出。
Y确认。
输入以确认路径。
完成。
以root身份运行任何内容