使用 sudo 运行 gedit 时,编辑和保存文件会导致出现以下错误(两次)。请注意,第一次出现该错误是在以任何方式编辑文件时 - 即使只是按空格键。然后在保存时再次发生。
(gedit:4063): Gtk-WARNING **: Calling Inhibit failed: GDBus.Error:org.freedesktop.DBus.Error.ServiceUnknown: The name org.gnome.SessionManager was not provided by any .service files
(gedit:4063): Gtk-WARNING **: Calling Inhibit failed: GDBus.Error:org.freedesktop.DBus.Error.ServiceUnknown: The name org.gnome.SessionManager was not provided by any .service files
这种情况并非总是发生,但最近才开始出现。这似乎是一个非致命错误。可以纠正吗?
我使用的是 14.04 LTS。我使用 Unity,但用 Docky 和 Classic Menu Indicator Applet 来补充。
运行 sudo nautilus 时,出现类似的错误:
(nautilus:4604): Gtk-WARNING **: Failed to register client: GDBus.Error:org.freedesktop.DBus.Error.ServiceUnknown: The name org.gnome.SessionManager was not provided by any .service files
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.
再说一遍,这种情况直到最近才发生,所以我相信这些问题是相关的。
答案1
切勿使用 sudo 运行图形应用程序。如果必须,请使用gksudo
。
sudo
以超级用户权限运行命令,但不更改主目录。图形应用程序通常假设当前主目录属于当前用户,并且允许它们在那里存储(并引用)配置文件。但是,如果它们在 下执行此操作sudo
,则 root 用户将尝试将文件存储在您的主目录中,最终导致文件权限不正确,从而导致后续问题。
如果您使用,您的问题可能会立即消失gksudo
,但无论如何您都应该检查主目录中的 root 拥有的文件,因为它们可能会导致进一步的问题。