当我尝试使用 gedit 时,遇到了以下问题:
myPC@TM77:~$ sudo gedit /etc/pm/config.d/config
(gedit:12512): IBUS-WARNING **: The owner of /home/myPC/.config/ibus/bus is not root!
(gedit:12512): Gtk-WARNING **: Calling Inhibit failed: GDBus.Error:org.freedesktop.DBus.Error.ServiceUnknown: The name org.gnome.SessionManager was not provided by any .service files
怎么了?
答案1
使用 gedit 以 root 身份编辑文件没有任何问题。我经常这样做,并且始终会使用以下方法,这是以超级用户权限使用 gedit 的正确方法:
gksudo gedit /etc/pm/config.d/config
以 root 权限编辑文件。
不确定为什么会有人投反对票,因为这是唯一正确的答案,另一个人说使用另一个编辑器。所以我会告诉你原因。
您永远不应使用普通 sudo 以 Root 身份启动图形应用程序。您应该使用 gksudo(Kubuntu 上的 kdesudo)来运行此类程序。gksudo 设置 HOME=~root,并将 .Xauthority 复制到 tmp 目录。 https://help.ubuntu.com/community/RootSudo#Graphical_sudo
答案2
两条消息都是警告:
IBUS-警告**:/home/myPC/.config/ibus/bus 的所有者不是 root!
发生这种情况是因为您正在使用 调用 Gedit sudo
。完全正常这种情况可能会发生。您可能想使用 Geditnano
或vim
任何其他非 GUI 编辑器。
Gtk-警告**:调用抑制失败:GDBus.Error:org.freedesktop.DBus.Error.ServiceUnknown:任何 .service 文件均未提供名称 org.gnome.SessionManager
GD 正在尝试访问org.gnome.SessionManager
dbus 指令,但未提供该指令。实际上,该指令在正常安装中不存在,消息可以安全地忽略。
答案3
我也遇到了这个问题,发现重新安装 gedit 可以解决问题:
sudo apt-get purge gedit
sudo apt-get install gedit