小智 115
取自这里:
您永远不应该使用 normal
sudo
以 root 身份启动图形应用程序。您应该使用gksudo
(kdesudo
在 Kubuntu 上)来运行此类程序。gksudo
设置HOME=/root
,并复制.Xauthority
到一个tmp
目录。这可以防止您的主目录中的文件被 root 拥有。
请注意,这主要是关于配置文件。如果您运行的鹦鹉螺root
,即使有gksu
/ gksudo
,和您创建一个文件或它的任何地方文件夹(包括你的主目录),该文件或文件夹将所拥有root
。但是,如果你运行的Nautilus(或其他大多数图形应用)作为root
与sudo
,他们可能挽救他们的配置文件在你的home目录(而不是root
主目录)。root
当您不是以 root 身份运行时,这些配置文件可能归您所有且无法访问,这会严重弄乱您的设置,甚至可能使某些应用程序完全无法运行。
一旦你犯了这个错误,解决方案是找到配置文件并删除它们或chown
它们回到属于你的非root
用户。许多这样的文件以.
或 开头的目录包含在以.
. 有些位于.config
您的主目录中的文件夹内。要查看.
Nautilus 中以 a 开头的文件和文件夹,请按Ctrl+ H(这会显示隐藏文件。)要查看它们ls
,请使用-a
(或-A
) 标志。
要查找主目录中是否存在不属于您的文件,您可以在终端中使用以下命令:
find $HOME -not -user $USER -exec ls -lad {} \;
Run Code Online (Sandbox Code Playgroud)
这将列出主目录下不属于用户的所有文件。
sudo -H GUI-application-program
在 Ubuntu (17.10) 17.10.1 以及可能的 Ubuntu 未来版本中,gksu
和gksudo
已被弃用。他们在 Xorg 中工作,但不在 Wayland 中工作。但您可以用来sudo -H
运行 GUI 应用程序,而不会损坏您的配置文件。不要使用普通的sudo
.
如果您正在运行 Wayland(取代 Xorg 的新图形系统),您还需要一个命令xhost
。
xhost +si:localuser:root # if Wayland
sudo -H nautilus --no-desktop
Run Code Online (Sandbox Code Playgroud)
请参阅以下链接了解更多详细信息,
为什么 gksu/gksudo 或使用 sudo 启动图形应用程序不能与 Wayland 配合使用?
归档时间: |
|
查看次数: |
56780 次 |
最近记录: |