如何以 root 身份运行 Dolphin?

Ank*_*r S 23 kde root dolphin

我目前使用Dolphin 17.04.3,每当我将其作为 运行时sudo,都会出现以下错误:

Executing Dolphin as root is not possible.
Run Code Online (Sandbox Code Playgroud)

不解释原因或给出替代方案。

如何运行 Dolphinroot来复制或删除文件?

use*_*687 18

短的:

海豚 17.04

Dolphin 17.04 或更高版本有一个检查:

if uid == 0 then show the "Executing Dolphin as root is not possible." and exit.
Run Code Online (Sandbox Code Playgroud)

解决方法

您可以编辑源并禁用检查。然后 Dolphin 将像以前一样工作。

海豚 18.08

很少有审查请求

Dolphin 18.08.0 正在使用这些更改,并且可以使用 pkexec 命令作为管理超级用户启动 Dolphin。

pkexec env DISPLAY=$DISPLAY XAUTHORITY=$XAUTHORITY KDE_SESSION_VERSION=5 KDE_FULL_SESSION=true dolphin
Run Code Online (Sandbox Code Playgroud)

更多:KDE Foruns - 如何使用 Kubuntu 或 KDE neon 以 root 身份运行 Dolphin 18.08?- https://forum.kde.org/viewtopic.php?f=224&t=153655

在此处输入图片说明

背景:

之前 - KDE 论坛 - 如何以 root 身份运行 Dolphin?:https ://forum.kde.org/viewtopic.php?f = 224 & t =141836

出于安全原因:禁止在 Linux 上以 root 身份执行 Dolphin - https://cgit.kde.org/dolphin.git/commit/?id=0bdd8e0b0516555c6233fdc7901e9b417cf89

禁止在 Linux 上以 root 身份执行 Dolphin

禁止在 Linux 上以 root 身份执行 kate 和 kwrite:https ://phabricator.kde.org/R40: 9adcebd3c2e476c8a32e9b455cc99f46b0e12a7e

更多提示

KDE Reddit - KDE App 17.04 上的 Dolphin root:https : //www.reddit.com/r/kde/comments/6785b1/dolphin_root_on_kde_app_1704/

绕过“以 root 身份执行 Dolphin 是不可能的”并重新获得 KDE Dolphin Root 权限:https : //www.reddit.com/r/kde/comments/6xs3mp/bypass_executing_dolphin_as_root_is_not_possible/

未来

KIO 中的 Polkit 支持:https ://phabricator.kde.org/T6561

准备就绪后,Dolphin 将根据需要显示密码查询。现在,使用修补过的 Dolphin&KIO:

在此处输入图片说明


小智 13

不是答案,只是针对 OP ( copying or deleting files)提到的目的的解决方法。

这个想法是

  1. 安装另一个没有该限制且不会带来很多依赖项的文件管理器

  2. 在 Dolphin 中为这个其他文件管理器创建一个“以 root 身份打开”上下文菜单。

可以使用其他桌面的主要文件管理器(Nautilus、Nemo、Caja、Thunar),但它们确实带来了一些依赖性。甚至 PCManFM 和 PCManFM-Qt 也能做到这一点。如果您需要其中一个用于其他目的,添加一个可能是一个很好的解决方案。

我发现Krusader(我认为过去曾经在某些 KDE 系统中默认安装)可以轻松安装,在 Kubuntu 18.04 中不带任何依赖项,并且可以作为 root 使用。

sudo apt install krusader
Run Code Online (Sandbox Code Playgroud)

在其工具下,它具有“Root”选项。

在此处输入图片说明

它要求在 gui 中输入密码。

要在 dolphin 中添加上下文菜单,请创建文件夹~/.local/share/kservices5/ServiceMenus,然后执行

kate ~/.local/share/kservices5/ServiceMenus/filemanager_root.desktop
Run Code Online (Sandbox Code Playgroud)

并添加

[Desktop Action root]
Exec=/usr/lib/kde4/libexec/kdesu krusader
Icon=dolphin
Name=Open in Krusader file manger as administrator

[Desktop Entry]
Actions=root
Icon=krusader_root
MimeType=inode/directory
ServiceTypes=KonqPopupMenu/Plugin
Type=Service
X-KDE-Priority=TopLevel
X-KDE-StartupNotify=false
Run Code Online (Sandbox Code Playgroud)

由于某种原因kdesu krusader不起作用,我已经使用了here的解决方案..同样有效的是konsole -e sudo krusader,但它显示的是终端而不是密码提示的gui。

然后,您将在 Dolphin 中看到:

在此处输入图片说明

带来一个对话

在此处输入图片说明

这是一个有效的..


cal*_*ode 5

我根据上面的回复制作了自己的版本。因此,要添加上下文菜单以以 root身份打开 Dolphin,请执行以下步骤:

  • DolphinAsRoot.desktop在目录上创建一个名为例如的文件~/.local/share/kservices5/ServiceMenus/
  • 使用文本编辑器将以下内容放在上面:
[Desktop Entry]
Actions=root
Icon=system-file-manager-root
MimeType=inode/directory
ServiceTypes=KonqPopupMenu/Plugin
Type=Service
X-KDE-Priority=TopLevel
X-KDE-StartupNotify=false

[Desktop Action root]
Exec=/usr/bin/pkexec env DISPLAY=$DISPLAY XAUTHORITY=$XAUTHORITY KDE_SESSION_VERSION=5 KDE_FULL_SESSION=true dolphin
Icon=system-file-manager-root
Name=Open as administrator
Run Code Online (Sandbox Code Playgroud)
  • 如果它仍未出现在 Dolphin 的上下文菜单中,请转到“设置 -> 配置 Dolphin...-> 服务”并激活您最近添加的选项。它应该在那里。如果没有,请关闭 Dolphin,甚至注销并登录您的会话。

就是这样,我希望它能帮助你们,就像它帮助我一样;)


小智 5

在当前版本 (21.08.0) 中,您可以通过$SUDO_USER在使用sudo. 这个简单的命令将起作用:

sudo SUDO_USER= dolphin
Run Code Online (Sandbox Code Playgroud)