meraj@meraj-SATELLITE-C850-A785:~$ sudo gedit /etc/php5/apache2/php.ini
(gedit:16243): 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 中保存文件时,它都没有保存,我该怎么办?
我有ubuntu 14.04
答案1
该怎么办?
您不应该用于sudo
图形应用程序,例如gedit
.代替使用gksudo
。
导致错误的原因是什么
我不知道。显然,您收到错误的原因是gedit
试图调用SessionManager
's抑制方法通过D总线。
如果普通应用程序可以连接到 dbus,那么它们应该在/usr/share/dbus-1
.我预计他们会是/usr/share/dbus-1/services/org.gnome.SessionManager.service
或/usr/share/dbus-1/system-services/org.gnome.SessionManager.service
。在我的 Debian 机器上我找不到它们中的任何一个。
所以,我的猜测是gnome-session
不需要 dbus.session
文件,因为它不是正常的应用程序。事实上,它本身负责启动 dbus 的每会话实例。但 dbus 的每会话实例实际上是每用户每会话,因此它无法与在与您不同的用户下运行的图形应用程序交互(并且运行的 root 用户sudo gedit
与您不同)。
答案2
$ gksudo gedit <etc/ path>
这会起作用。