如何在 nautilus 中的右键菜单中添加项目(无需 Nautilus-Actions)?

如何在 nautilus 中的右键菜单中添加项目(无需 Nautilus-Actions)?

我正在尝试为我的图片上传器提供某种右键点击->上传功能。目前我使用的是 nautilus-scripts 文件夹,但这会将菜单项放在不明显的“脚本”项后面。

我尝试查找它,但我只能找到引用 nautilus 脚本或 Nautilus Actions(这不是我想要的包装)的人。

答案1

就我而言,我需要编写一个脚本融合比较文件夹/文件的修改。

我在 UbuntuGNOME 14.04 上运行,其中 gnome-shell 3.10 和 Nautilus (Files) 3.10.1。

我是这样做的:

  1. 打开文件夹~/.local/share/nautilus/scripts/
  2. (可选)为您的脚本创建一个子文件夹,在我的情况下是Meld/
  3. 创建您的bashperlpython脚本(参见答案末尾的示例)。
  4. 使您的脚本可执行(右键单击脚本文件>属性>权限>标记执行选项)
  5. 为了确保 Nautilus 能够应用更改,我重新启动了 Nautilus,并nautilus -q; nautilus;在终端中运行。

现在,您可以右键单击任何文件夹/文件以查看上下文菜单脚本 > my-script

样本:scripts/Meld/Compare_with_Meld

#!/bin/bash    
meld $NAUTILUS_SCRIPT_SELECTED_FILE_PATHS

预定义的 Nautilus 变量:

  • NAUTILUS_SCRIPT_SELECTED_FILE_PATHS
    所选文件的换行符分隔路径 - 仅限本地(即/home/user/someFile)。
  • NAUTILUS_SCRIPT_SELECTED_URIS
    所选文件的换行符分隔的 URI(即file:///home/user/someFile)。
  • NAUTILUS_SCRIPT_CURRENT_URI
    当前位置
  • NAUTILUS_SCRIPT_WINDOW_GEOMETRY
    当前窗口的位置和大小

答案2

您可以按照此处所述创建 Nautilus 扩展:

http://saravananthirumuruganathan.wordpress.com/2010/08/29/extending-nautilus-context-menus-using-nautilus-actions-scripts-and-python-extensions/

Nautilus 是 GNOME 最常用的文件管理器之一。它受欢迎的原因之一是其可扩展的架构,允许开发人员编写脚本来自定义它。即使您是命令行人员,扩展 Nautilus 也会大大提高工作效率。在这篇文章中,我将讨论扩展 Nautilus 的多种方法以及每种方法的相对优点。

扩展 Nautilus 的第一步是找到一组繁琐(至少不简单)的操作——需要额外点击或切换到终端才能完成的任务。下一步是确定是否有命令行工具可用于自动执行任务或可以通过附加代码完成任务——同样,由于您正在扩展 Nautilus,因此所涉及的任务必须与文件或文件夹相关。例如,以管理员身份打开文件是一项“相关”任务,但从 Nautilus 发动核战争则不是!

非正式地说,如果您的任务属于以下类别,则扩展 Nautilus 很容易:在上下文菜单(或工具栏)中添加涉及选定文件/文件夹或当前文件夹的新条目,向文件添加其他自定义属性并在列表视图中显示这些详细信息,修改属性页以显示带有信息的附加选项卡等。还有其他可能性,但这些是最常见的。

如果上述讨论听起来非常抽象,让我们举一些例子:

  1. 在当前文件夹中打开终端或以 root 身份打开选定的文件。
  2. 选择一些音频文件并将其添加到 Rhythmbox“正在播放”队列。
  3. 选择几个文件并将它们发送到 thunderbird 作为附件
  4. 在属性页面等中显示有关所选电影文件的 IMDB 详细信息。

上述示例按复杂程度显示了用例的梯度。其中一些非常简单,可以使用简单的方法实现自动化。像 (4) 这样的任务很棘手,需要强大的工具。选择正确的工具很重要,我们将讨论如何选择最佳方法。

自定义 Nautilus 上下文菜单的不同方法 就像 Linux 中的所有东西一样,自定义 Nautilus 的方法多种多样,从简单到复杂。在本文中,我们将讨论三种最常见的方法:

  1. 使用 nautilus-actions 等工具
  2. 使用 Nautilus 脚本
  3. 使用 nautilus-python 编写的扩展

和以前一样,我所有的讨论将集中在 Ubuntu 上,但它应该相对容易应用于其他 Linux 发行版。

使用 nautilus-actions 自定义 Nautilus 上下文菜单 这可能是最简单的方法。您需要知道的只是执行任务的 shell 命令或脚本。Nautilus 操作提供了一个直观的 GUI 来决定要执行的过滤器和操作。如果满足以下条件,这种方法效果最佳:a. 您想要自动化的任务在命令行中很容易翻译 b. 命令行实用程序以相对简单的形式接受参数(例如空格分隔的参数等)c. 命令行实用程序仅依赖于与所选文件/文件夹有关的信息。

要安装该软件包,请在终端输入以下内容(或从 Synaptic 安装该软件包):

 sudo apt-get install nautilus-actions

安装软件包后,可以通过系统 -> 首选项 -> Nautilus 操作配置访问它。我在这里只进行基本讨论,因为在如何向 Nautilus 添加自定义功能中有一个关于如何创建新操作的不错的教程。

让我们举一个简单的例子——如果我右键单击一个文件夹,我想要一个新菜单,上面写着“在此打开终端”,单击它时,必须打开一个新终端,并且终端的工作目录必须是选定的文件夹。第一步是确定它是否可以用“单个”命令来表达。找到调用终端的命令的名称——它被称为 gnome-terminal。阅读手册页发现它接受参数“–working-dir”。提供后,它会在指定文件夹中启动终端。

现在从系统 -> 首选项 -> Nautilus 操作配置启动 Nautilus 操作。步骤如下:a. 创建操作。b. 在“操作”选项卡中,为操作命名并选择“在选择上下文菜单中显示项目”。如果您希望它在工具栏中可见,也可以这样做!选择“在工具栏中显示项目”并选择一些图标。c. 在命令选项卡中,将“gnome-terminal”指定为路径,并将参数指定为“–working-directory=%d/%f”。%d 和 %f 是特殊代码,将在调用命令时展开。要查看其他特殊代码及其含义,请单击“图例”按钮。d. 在“条件”选项卡中,选择“仅文件夹”。

现在打开一个新的 Nautilus 窗口,选择一个文件夹并右键单击。瞧!您将看到一个“在此打开终端”菜单。选择它,您将看到一个新终端打开,所选文件夹作为其当前目录!

相关内容