虽然我尝试了很多命令来克服这个警告,但我无法克服它们所以帮助我摆脱这个警告
root@radhika-M68MT-D3:~# sudo nautilus
(nautilus:2642): IBUS-WARNING **: The owner of /home/radhika/.config/ibus/bus is
not root!Nautilus-Share-Message: Called "net usershare info" but it failed: 'net
usershare' returned error 255: net usershare: cannot open usershare directory /var/lib
/samba/usershares. Error No such file or directory Please ask your system
administrator to enable user sharing.
Run Code Online (Sandbox Code Playgroud)
使用gksudo nautilus或sudo -H nautilus或sudo -i nautilus代替。
你不应该使用plainsudo来运行图形应用程序,因为它会让root和你的非root用户尝试使用相同的配置文件,这通常会导致root拥有非root用户需要(但不能)访问的文件.
最新版本的 Nautilus 实际上会识别这个问题并拒绝运行,以防止它们的每用户配置在您的非 root 用户帐户上被破坏。
解决这个问题的方法是,当运行图形程序root(尤其是 Nautilus)时,使用避免这个问题的方法。避免此问题的方法是使您正在运行的程序在 root 的主目录 ( /root) 而不是您自己的主目录 ( ) 中查找和创建配置文件的方法。/home/ussername
该HOME 环境变量通常协商,以确定要使用的主目录。您希望将其设置为/root. 您不直接执行此操作;相反,以自动为您执行此操作的方式运行图形应用程序。
传统上,所有 Ubuntu 系统都安装了gksudo或(对于 Kubuntu)kdesudo,并且您将sudo在运行图形应用程序时使用它们而不是。这可能有效;我建议你在尝试其他任何东西之前先尝试用sudowith替换gksudo。不幸的是,gksudo是不是总是安装在Ubuntu的最新版本。当然,您可以安装它(在软件中心或使用sudo apt-get update && sudo apt-get install gksu)。
另外,请注意,传统上,在 Ubuntu 上,gksu也gksudo做了同样的事情。但是最近的一个错误有时会gksu导致行为不适用于 Ubuntu 系统。这就是为什么我推荐gksudo,即使我通常推荐gksu(在正确配置的情况下,它在许多不同的类 Unix 系统上做“正确的事情” )。
但是有替代方案gksudo。您可以告诉sudo以 root 身份运行程序并使用 root 的主目录而不是您的主目录:
sudo -H nautilusRun Code Online (Sandbox Code Playgroud)
如果你没有gksudo,我推荐sudo -H。但是,您也可以使用:
sudo -i nautilusRun Code Online (Sandbox Code Playgroud)
sudo -i模拟一个完整的 root 登录(即使实际的 root 登录被禁用),它将许多环境变量设置HOME为它们的 root-user 值,包括。
(命令运行后,在其他程序或其他不是从您以 root 身份运行的程序启动的命令中,环境保持不变。您永远不必“将其改回”。)
| 归档时间: |
|
| 查看次数: |
16545 次 |
| 最近记录: |