如何以 root 身份运行 GUI 应用程序

如何以 root 身份运行 GUI 应用程序

更新


我想知道以 root 身份运行 GUI 应用程序的推荐方法是什么,主要是因为我尝试的方法运行不顺畅。我收到一些烦人的警告,让我怀疑我是否做错了什么。

我正在使用gksudosudo -i,据我所知,它们的作用相同。如果它们之间有细微的差别,请告诉我。

关于我遇到的问题,我想从 nautilus(以 root 身份运行)开始。我无法编辑首选项文件,可能是因为该程序无法创建自己的配置文件。警告说/root/.config/nautilus必须创建文件夹。当您第一次启动应用程序时,该程序负责创建它可能需要的配置文件。所以,当您以 root 身份运行时,应该也会发生同样的事情,不是吗?

此外,运行此应用程序时,shell 中会出现一些奇怪的警告,例如以下内容:

(nautilus:3406): Gtk-WARNING **: 无法注册客户端:GDBus.Error:org.freedesktop.DBus.Error.ServiceUnknown: 任何 .service 文件均未提供名称 org.gnome.SessionManager Nautilus-Share-Message: 调用“net usershare info”但失败:“共享网络”返回错误 255:net usershare: 无法打开用户共享目录 /var/lib/samba/usershares。错误该文件或文件夹不存在请要求您的系统管理员启用用户共享。

其他应用程序(例如 gedit 或 Firefox)会发出如下抱怨:

(gedit:3444):Gtk-WARNING **:调用抑制失败:GDBus.Error:org.freedesktop.DBus.Error.ServiceUnknown:任何 .service 文件均未提供名称 org.gnome.SessionManager

(gedit:3444):GLib-GIO-WARNING **:无法解析架构“org.gnome.gedit.preferences.editor”中键“editor-font”的翻译字符串“Monospace 12”:0:预期值

(gedit:3444):GLib-GIO-WARNING **:改用未翻译的默认值。

(firefox:2719):Gtk-CRITICAL **:IA__gtk_clipboard_set_with_data:断言‘目标!= NULL

我想尽快完成系统的全新安装,但在此之前,我想了解它的工作原理,以防将来需要这些东西来做特定的事情。虽然我知道在命令行中使用直接 sudo 更安全。

为什么会发生这种情况?提前致谢

答案1

使用直接登录的问题sudo nautilus是,它有时会尝试使用用户主目录中的配置文件。这可能会导致 root(超级特权用户)更改主目录中文件的权限。这通常不会造成长期危害;它可能会导致诸如拒绝登录桌面之类的烦人问题,但您通常可以通过键入以下内容来恢复以前的配置:

sudo chown -R user:user ~/

那么,gksudosudo -i所做的只是告诉程序使用和.Xauthority其他配置文件的副本或实际属于 root 的配置文件运行。我个人更喜欢sudo -i这样,这样我就不必每次都输入密码,但这完全取决于个人喜好。这两个命令的作用相同。

相关内容