更新于 2020 年 1 月 29 日

更新于 2020 年 1 月 29 日

这里这是为了将“在此处打开终端”添加到 Elementary OS 文件管理器(通常称为“文件” - 可执行文件pantheon-files)的上下文菜单中的解决方案。

对于该特定需求,想法是创建文件/usr/share/contractor/terminal.contract并添加类似的内容

[Contractor Entry]
Name=Open Terminal here
Icon=terminal
Description=Open Terminal here
MimeType=inode;application/x-sh;application/x-executable;
Exec=pantheon-terminal -d %U
Gettext-Domain=pantheon-terminal

但是如何适应这一点并建立一个模型来添加其他命令,即 - 按照我的优先级顺序 - “以 root 身份打开文件夹”?

答案1

为了创建“以根用户身份打开文件夹”上下文菜单命令 -并为了创建任何新的此类命令- A新的 *.contract文件必须创建在/usr/share/contractor.

要在以下位置创建文件gedit

sudo gedit /usr/share/contractor/Open_as_admin.contract

对于“以根用户身份打开文件夹” - 该文件必须包含类似的内容

[Contractor Entry]
Name=Open folder as root
Icon=gksu-root-terminal
Description=Open folder as root
MimeType=inode;application/x-sh;application/x-executable;
Exec=gksudo pantheon-files -d %U
Gettext-Domain=pantheon-files

(但无论如何,上下文菜单中都不会出现图标)

在此输入图像描述

答案2

[Contractor Entry]
Name=Open folder as root
Icon=gksu-root-terminal
Description=Open folder as root
MimeType=inode;application/x-sh;application/x-executable;
Exec=/usr/bin/io.elementary.files-pkexec
Gettext-Domain=pantheon-files

这在 Elementary OS 5 Juno 01/20/2019 中对我有用。另外,使用 nano 而不是 gedit。

答案3

更新于 2020 年 1 月 29 日

操作系统:elementary OS 5.1 Hera

接受的答案是正确的,但是需要更多细化

  1. sudo sed -i '/pkexec/ s/$/ $@/' /usr/bin/io.elementary.files-pkexec

    接受io.elementary.files-pkexec初始目录

  2. 创建承包商

sudo tee /usr/share/contractor/open-as-root.contract <<EOF
[Contractor Entry]
Name=Open elevated Files here
Icon=gksu-root-terminal
Description=Open folder as root
MimeType=inode;application/x-sh;application/x-executable;
Exec=io.elementary.files-pkexec %U
Gettext-Domain=io.elementary.files
EOF

创建承包商于/usr/share/contractor/open-as-root.contract

上下文菜单

高架窗

相关内容