在Nautilus右键菜单中添加自定义选项

7

当用户在Nautilus中右键单击文件夹时,会出现一个菜单。我想在那个菜单中添加更多选项。我正在使用Gnome 3。

是否有其他方法可以使用命令行自定义该菜单?实际上,我正在制作Linux软件,我希望这些选项在用户安装该软件时被添加。

3个回答

12

这个答案可能有点晚,但仍然有用。

不需要任何第三方软件包

编写您自己的脚本并将其放在:~/.local/share/nautilus/scripts/

一个示例可能更清楚:

如果您想添加一个名为Open By VSCode的上下文菜单,可以创建一个名为OpenByVScode.sh的文件,并使用以下内容:

#!/bin/bash
code -n ${NAUTILUS_SCRIPT_SELECTED_FILE_PATHS}

然后,使它可执行;

chmod 744 OpenByVScode.sh

最后,将此文件复制/移动到~/.local/share/nautilus/scripts/目录下。

右键菜单已准备就绪,在脚本子菜单下显示。

enter image description here

代码解释:

第一行:#!/bin/bash,表示需要使用哪种语言解释器。

第二行:code -n ${NAUTILUS_SCRIPT_SELECTED_FILE_PATHS}

codeVSCode的默认命令,选项-n表示强制在新窗口中打开,相反地,它还有其他选项,如-r,重用当前窗口,如果软件未打开,则此选项与-n相同。有关更多信息,请使用code --help查看。

变量NAUTILUS_SCRIPT_SELECTED_FILE_PATHSnautilus定义,如其名称所示,表示所选文件或文件夹的路径。它还有其他三种类型的变量:

1. NAUTILUS_SCRIPT_SELECTED_URIS   : newline-delimited URIs for selected files
2. NAUTILUS_SCRIPT_CURRENT_URI     : current location
3. NAUTILUS_SCRIPT_WINDOW_GEOMETRY : position and size of current window

更多信息,请参考这里


有没有办法将它添加到菜单中,而不是子菜单中? - EnthusiastiC
@EnthusiastiC 是的,请使用文件管理器操作 - Xiang
此软件包不再与最新版本的Ubuntu兼容。 - EnthusiastiC
然而,我发现了好消息 - EnthusiastiC

9

你可能想要使用 Nautilus 脚本,它不需要像 Nautilus 操作那样进行额外的安装。

为了实现这一点:

  • 将你的脚本复制到文件夹~/.local/share/nautilus/scripts/
  • 确保它是可执行的

然后它将出现在右键上下文菜单中的Scripts条目下,如下所示:

Screenshot of Nautilus script context menu


3

Nautilus Actions

使用Nautilus Actions,我们可以定义自己的右键上下文菜单项。 安装Nautilus Actions

请注意,本文中的HTML标记应保留,不要进行更改或删除。
  • Run the Nautilus-Actions Configuration Tool either from the Dash, or from a terminal with

    nautilus-actions-config-tool
    

enter image description here

  • Action选项卡中为您的操作添加一个合理的标签,例如"在终端中打开"并选择在选区或上下文菜单中显示此标签。

  • 接下来打开Command选项卡以输入要运行的命令。

enter image description here

  • 输入您的命令的完整路径(/usr/bin/command_to_run)和程序选项。

  • 注销并重新登录后,将显示如下右键上下文菜单:

enter image description here


1
有没有其他的命令行方式来完成它?实际上,我正在制作一个Linux软件,我希望当用户安装软件时,这些选项应该被添加。 - PRATEEK AGRAWAL
1
有没有办法将它添加到菜单中而不是子菜单里? - EnthusiastiC

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接