我一直在通过+使用gksudo nautilus
和。sudo nautilus
AltF2
有什么不同?它们看起来很相似!
答案1
取自这里:
你应该绝不使用 normal
sudo
以 root 身份启动图形应用程序。您应该使用gksudo
(kdesudo
在 Kubuntu 上)来运行此类程序。gksudo
设置HOME=/root
,并复制.Xauthority
到tmp
目录。这可以防止您的主目录中的文件被 root 拥有。
请注意,这主要是关于配置文件。如果您以 的身份运行 Nautilus root
,即使使用gksu
/ gksudo
,并且您在任何地方(包括您的主目录中)创建文件或文件夹,则该文件或文件夹将归 拥有。但是,如果您以 的root
身份运行 Nautilus(或大多数其他图形应用程序),它们可能会保存其root
sudo
配置文件在您的主目录中(而不是root
的主目录中)。这些配置文件可能归您所有,root
并且当您不以 root 身份运行时无法访问,这可能会严重扰乱您的设置,甚至可能导致某些应用程序完全无法运行。
一旦犯了这个错误,解决办法就是找到配置文件并删除它们,或者chown
将它们恢复为非用户文件root
。许多此类文件以 开头.
,或包含在以 开头的目录中.
。有些位于.config
主目录中的文件夹中。要.
在 Nautilus 中查看以 开头的文件和文件夹,请按Ctrl+ H(此显示隐藏文件)看到他们ls
,使用-a
(或-A
)标志。
要查找主目录中是否存在不属于您的文件,您可以在终端中使用以下命令:
find $HOME -not -user $USER -exec ls -lad {} \;
这将列出主目录下不属于用户的所有文件。
答案2
你知道有一款名为 Nautilus 的插件吗?nautilus-gksu这会向 nautilus 的右键菜单中添加“以管理员身份打开”?
注意:在 Ubuntu 12.04 及更高版本中不可用。
答案3
如果您使用 sudo 启动图形应用程序,则可能会弄乱文件的所有权,从而导致应用程序崩溃。切勿这样做。检查社区帮助:
你永远不应该使用普通的 sudo 以 Root 身份启动图形应用程序。您应该使用 gksudo(Kubuntu 上的 kdesudo)来运行此类程序。gksudo 设置 HOME=~root,并将 .Xauthority 复制到 tmp 目录。这可防止主目录中的文件被 Root 所拥有。(据我所知,这就是使用 gksudo 与 sudo 启动进程的环境的所有特殊之处)。
答案4
sudo 默认会保留您的 $HOME 变量。例如,如果您运行,sudo firefox
您将以 root 权限运行,但您的配置是您的。如果您在这种情况下更改设置,您的部分配置最终将归 root 所有,而不是您的用户 ID。