gedit 错误无法保存任何文件

gedit 错误无法保存任何文件
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>

这会起作用。

相关内容