例如,当我尝试以 root 调用方式打开文件管理器时,sudo thunar
左侧的单元显示没有标签(还有一些不应该出现的单元,如 dev、pts、proc、sys):
如果我称sudo dbus-launch thunar
它加载得很好(就像普通用户一样),但是在关闭应用程序后,dbus-daemon
实例将永远运行。
如果我称它为sudo dbus-run-session -- thunar
负载就好了,所以它看起来是正确的做法。但是,如果我想打开文件而不是应用程序,我需要调用xdg-open
或gio open
(例如sudo dbus-run-session -- xdg-open /home/test.txt
或sudo dbus-run-session -- gio open /home/test.txt
),但在这两种情况下,当从应用程序内部浏览文件时,单位以错误的方式显示,并且终端输出被大量填充具有以下内容:
(mousepad:7837): dconf-WARNING **: 19:33:35.947: failed to commit changes to dconf: Could not connect: Connection refused
对于这个混乱的局面,有什么好的解决办法吗?
从 2021 年 12 月起在 Slackware Live Xfce 上进行了测试。但哪个发行版并不重要——同样的事情也发生在 Ubuntu 中。
笔记:如果人们跳过“为什么你想这样做/你不应该那样做”,我真的很感激。谢谢!
答案1
以 root 身份运行应用程序并不是一个好习惯。
要以 root 身份编辑文件,请使用sudoedit
:
sudoedit file
要使用不同的编辑器,请执行以下操作:
EDITOR=by_favourite_editor sudoedit file