Win*_*nix 4 configuration permissions gedit sudo users
使用sudo
权力和调用gedit
顶级菜单时File Edit View Search Tools Documents Help
丢失。
如果我创建用户 ID root并登录一次并调用gedit
它是否会创建可能解决此问题的必要用户配置文件?
这会不会也让恼人的错误信息消失,每当我使用sudo
,gksu
或pkexec
与提升权限,以一个普通用户gedit
?
Nautilus 和其他 Gnome 衍生的 Ubuntu 应用程序还有其他好处吗?
注意:通过sudo
权力你可以谷歌pkexec gedit
3.5k 命中、gksu gedit
40k 命中或sudo gedit
500k 命中。我是使用第一种方法的少数人,但我相信它会成为 Ubuntu 17.04 的标准。
2017 年 6 月 12 日更新以下是您在使用时遇到的错误列表pkexec gedit
:
(gedit:13003): 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:13003): WARNING **: Set document metadata failed: Setting attribute metadata::gedit-spell-enabled not supported
** (gedit:13003): WARNING **: Set document metadata failed: Setting attribute metadata::gedit-encoding not supported
** (gedit:13003): WARNING **: Set document metadata failed: Setting attribute metadata::gedit-position not supported
Run Code Online (Sandbox Code Playgroud)
在此错误报告中,承诺自 2017 年 6 月 5 日起修复这些令人分心的消息。没有说明修复何时会在上游进行,也没有说明是否会实施功能或错误消息会消失。
请注意,错误报告是一年多前提交的,在那段时间里,它只影响了 18 人。
Kaz*_*lfe 12
再一次,凭着感觉。不要使用图形应用程序作为根!
现在,上述规则有一些例外。例如,请求 root 的 Ubuntu 控制面板的任何部分通常都是安全的,但这只是因为它只在需要时保留特权,此时它会立即将它们转储回正常模式。同样,它们也经过专门设计,可以root
有效地使用并且不会损坏东西。简而言之,一切gedit
和大多数其他应用程序都做不到。
如果您确实需要gedit
在/root
文件夹中拥有自己的配置,请像这样启动它:
sudo -i gedit
Run Code Online (Sandbox Code Playgroud)
但是,由于多种原因,这仍然不起作用。您的菜单栏消失或多或少是Ayatana菜单系统工作方式的副作用。简而言之,系统正在尝试为用户创建/拥有的菜单对象root
,这会导致事情明显中断。
您可以通过使用sudo
's-E
标志来解决缺少菜单的问题,但这仍然会导致 DBus/DConf/whatever 对您感到恼火。在这种模式下,菜单将直接嵌入到gedit
的窗口中,因为我们仍然无法获得 DBus/Ayatana 的链接。
这与 Ubuntu 开发人员的情绪相呼应,并不是一个错误。他们认为 GUI 实际上是“简单模式”,而root
访问实际上不是“简单模式”。如果需要root
,请转到终端并在那里使用它。事实上,这几乎是一种有效的抵抗形式——如果你不能nano
用来编辑文件,你就不应该以root
用户的身份四处闲逛。
如果您绝对必须root
在 GUI 下使用(我强烈建议您不要这样做,即使是它自己的用户),请创建一个名为的文件/etc/lightdm/lightdm.conf
并将其放入该文件中:
[SeatDefaults]
greeter-show-manual-login=true
Run Code Online (Sandbox Code Playgroud)
使用重新启动lightdm
服务sudo systemctl restart lightdm.service
,您应该能够以root
. 如果您不使用lightdm
,请查找并按照与该显示管理器相关的说明进行操作。
您还需要重新启用 root 帐户,只需运行以下命令即可:
sudo passwd root
Run Code Online (Sandbox Code Playgroud)
确保您选择了一个非常强的密码,因为这将允许 root 登录到您的系统。请注意,这也违反了所有建议,因为sudo
存在并且更安全/不太可能让您意外破坏某些东西。
在这一点上,当您实际执行此操作时,gedit
将在root
用户会话中以 root 身份(如您所期望的那样)工作。但是,当您再次回到主会话时,它仍然会拒绝工作(出于上述原因)。
root
不应该使用该帐户来绕过令人讨厌的Permission denied
错误。将该消息视为以下内容:
嘿,您正在做的事情可能会对您的系统产生严重的副作用。仔细考虑并仔细检查您的命令,以确保您正在做的正是您打算做的。如果您确定这是您想要执行的操作,请升级到可用于执行您想要执行的操作的最低权限级别。
即便如此,看看是否有不涉及升级到特权帐户的解决方案。删除和重新创建损坏的用户比重新创建损坏的系统容易得多。
归档时间: |
|
查看次数: |
1055 次 |
最近记录: |