这里这是为了将“在此处打开终端”添加到 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
接受的答案是正确的,但是需要更多细化
sudo sed -i '/pkexec/ s/$/ $@/' /usr/bin/io.elementary.files-pkexec
接受
io.elementary.files-pkexec
初始目录创建承包商
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