问题描述
当我遇到以下问题时,我正在尝试使用 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
怎么了?
最佳回答
使用 gedit 以 root 身份编辑文件没有问题。我经常这样做并且总是会使用以下方法,这是使用具有超级用户权限的 gedit 的正确方法:
gksudo gedit /etc/pm/config.d/config
以root权限编辑文件。
不知道为什么downvotes,因为这是唯一正确的答案,另一个说使用另一个编辑器。所以我会告诉你为什么。
You should never use normal sudo to start graphical applications as Root. You should use gksudo (kdesudo on Kubuntu) to run such programs. gksudo sets HOME=~root, and copies .Xauthority to a tmp directory. https://help.ubuntu.com/community/RootSudo#Graphical_sudo
次佳回答
两条消息都是警告:
IBUS-WARNING **: The owner of /home/myPC/.config/ibus/bus is not root!
发生这种情况是因为您使用 sudo
调用 Gedit。这可能发生是完全正常的。您可能希望使用 nano
或 vim
或任何其他非 GUI 编辑器来代替 Gedit。
Gtk-WARNING **: Calling Inhibit failed: GDBus.Error:org.freedesktop.DBus.Error.ServiceUnknown: The name org.gnome.SessionManager was not provided by any .service file
GD 尝试访问 org.gnome.SessionManager
dbus 指令,但未提供该指令。实际上,该指令在正常安装中不存在,可以安全地忽略该消息。
第三种回答
我也遇到过这个,发现重新安装gedit可以解决这个问题:
sudo apt-get purge gedit
sudo apt-get install gedit