Ubuntu 24.04 文件管理器中的上下文菜单 - Nautilus 与 Nemo 与 Dolphin 与 Caja 的比较

在 Nautilus 中如何自定义上下文菜单?

目录

在新电脑上安装了全新的 Linux 系统后,我惊讶地发现竟然找不到一个简单的方法来 自定义 Ubuntu 24.04 的右键菜单

我已经习惯了 自定义 Nemo / Linux Mint 的右键菜单, 现在却感到如此惊讶!这个崭新的 Ubuntu 系统似乎没有这个功能…

鱼和潜艇

以前的标准方式和现在的状况

在 Ubuntu 的 Nautilus 文件管理器中添加自定义右键菜单项,你可以根据需求和 Ubuntu 的版本使用几种方法:

1. 使用 Nautilus-Actions(FileManager-Actions)

这是向 Nautilus 右键菜单添加自定义操作最用户友好的方式。

步骤:

  1. 安装 Nautilus-Actions:
    sudo apt-get install nautilus-actions
    
  2. 启动 Nautilus-Actions 配置工具:
    nautilus-actions-config-tool
    
  3. 创建新操作:
    • 点击 “Define New Action”
    • Action 选项卡中,设置菜单标签和(可选)图标。
    • Command 选项卡中,指定当菜单项被点击时要运行的命令或脚本(例如,使用 /usr/bin/gedit 在 Gedit 中打开文件)。
    • 使用 Legend 按钮查看可用参数(例如,%f 表示所选文件)。
    • Execution 选项卡中,选择操作是否在终端中运行或正常运行。
  4. 保存 操作并 重新加载 Nautilus
    nautilus -q
    
    重新打开 Nautilus,你的新右键菜单项应该出现在 “Nautilus Actions” 子菜单下。如果没有,请注销并重新登录。

2. 使用 Python Nautilus 扩展

如果你想要更高级或集成的功能,可以编写一个 Python 脚本作为 Nautilus 扩展。

步骤:

  1. 安装 Python 扩展支持:

    sudo apt-get install python3-nautilus
    
  2. 创建扩展目录(如果不存在):

    mkdir -p ~/.local/share/nautilus-python/extensions/
    
  3. 在该目录中编写你的扩展脚本(例如,my_extension.py)。你可以使用一些 示例代码 作为模板。

  4. 重新加载 Nautilus:

    nautilus -q
    

    你的扩展将根据脚本中定义的内容添加新的右键菜单项。

方法 难度 GUI 支持 自定义脚本 最适合
Nautilus-Actions 简单 大多数用户,简单操作
Python Nautilus 扩展 中等 高级,集成操作
  • 自从 Ubuntu 19.04 起,Nautilus-Actions 正在向 FileManager-Actions 过渡,但流程仍然相似。
  • 对于 Ubuntu 21.10 及更高版本,Python 扩展和脚本是添加自定义菜单项最集成的方式。

今天的残酷现实

nautilus-actions 现在在 Debian 中已被弃用,Ubuntu 也已不再包含它。同样,filemanager-actions-nautilus-extension 也是如此。

尽管如此,仍然有办法——使用 Python 脚本作为 Nautilus 扩展。

你还可以在“模板”文件夹中创建一个文件,它将用于“新建文档”右键菜单, 但这不足以满足你想要的自定义程度。

替代文件管理器

除了 Nautilus,我们还可以使用 Nemo、Caja、Dolphin 或 Thunar 来自定义右键菜单。

以下是 右键菜单自定义 能力在 Nemo、Caja、Dolphin 和 Thunar 中的比较:

文件管理器 自定义右键菜单支持 方法与灵活性 备注
Nemo Nemo Actions—GUI 或手动编辑;高度灵活 可以为特定文件类型、命令和脚本添加自定义右键菜单项。许多用户称赞其可扩展性。
Caja 有限 没有直接的、内置的自定义操作 GUI 右键菜单自定义不如 Nemo 或 Thunar 强大。一些插件存在,但灵活性有限。
Dolphin 服务菜单—在特定文件夹中添加 .desktop 文件;高度灵活 通过服务菜单脚本允许对文件和文件夹进行强大的自定义操作。文档良好,但设置是手动的。
Thunar 自定义操作—添加/编辑的 GUI;非常用户友好 可通过 GUI 轻松添加自定义操作。你可以指定文件类型和操作出现的条件。

优势总结:

  • Nemo: 通过 Nemo Actions 提供出色的、用户友好的自定义功能。支持脚本、命令和文件类型条件。
  • Dolphin: 通过服务菜单非常灵活,但设置需要手动(编辑 ~/.local/share/kservices5/ServiceMenus/ 中的文件)。
  • Thunar: 简单、直观的 GUI 用于自定义操作。适合快速、基本的自定义。
  • Caja: 缺少专门的、用户友好的自定义操作界面;灵活性不如其他。

推荐:
对于最强大且用户友好的右键菜单自定义,NemoDolphin 是最佳选择。Thunar 适合简单需求,而 Caja 在这方面较为有限。

安装和配置 Nemo

要安装 Nemo 文件管理器,请执行

sudo apt-get install nemo

有一种方法可以完全用 Nemo 替换 Nautilus,但让我们不要花太多时间在这上面。

有关 Nemo 配置步骤,请参阅博客文章 Nemo 右键菜单自定义

配置 Dolphin 的右键菜单

安装 Dolphin

sudo apt update
sudo apt install dolphin
# sudo apt autoremove --purge dolphin

备注:

  • 在基于 GNOME 的系统中,安装 Dolphin 会添加额外的 KDE 库和依赖项(大约 174MB 或更多)
  • 如果你使用的是 Ubuntu 桌面版或服务器版,并且遇到“找不到包”的错误,请确保已启用“universe”仓库

Dolphin 的右键菜单

要配置 Dolphin(KDE 文件管理器)的右键菜单,你主要使用 服务菜单(Service Menus) 的概念。这些是当你右键点击文件或文件夹时出现的自定义操作。以下是添加和管理它们的方法:

1. 通过 Dolphin 的 GUI 添加预设操作

  • 打开 Dolphin。
  • 转到 设置配置 Dolphin
  • 从侧边菜单中选择 服务
  • 在这里,你可以启用或禁用已安装的右键菜单操作。
  • 要添加更多,点击 下载新服务。这将打开一个窗口,显示易于安装的右键菜单附加组件。

2. 手动创建自定义服务菜单

如果你想添加自己的自定义操作(例如运行脚本或命令),请在 ~/.local/share/kservices5/ServiceMenus/ 目录中创建一个 .desktop 文件。

基本示例:

[Desktop Entry]
Type=Service
MimeType=all/all;
Actions=myCustomAction

[Desktop Action myCustomAction]
Name=运行我的脚本
Icon=utilities-terminal
Exec=/path/to/your/script.sh %F
  • MimeType 控制菜单何时出现(例如,image/* 用于图片,inode/directory 用于文件夹)。
  • %F 将所选文件传递给你的脚本。
  • 将文件以 .desktop 扩展名保存在 ServiceMenus 目录中。
  • 重启 Dolphin 以查看新的菜单项。

3. 启用/禁用右键菜单项

  • 服务菜单的启用/禁用状态存储在 ~/.config/kservicemenurc 中。
  • 你可以手动编辑此文件来控制哪些服务菜单出现。

4. 没有内置 GUI 来创建自定义服务菜单

  • Dolphin 中没有内置的 GUI 来从头创建自己的自定义服务菜单;你必须按照上面描述的方式创建或安装 .desktop 文件。

OK。

方法 GUI 支持 自定义命令 位置
下载新服务 设置 → 配置 Dolphin → 服务
自定义服务菜单 ~/.local/share/kservices5/ServiceMenus/
启用/禁用操作 部分 ~/.config/kservicemenurc

请记住,在添加或编辑服务菜单后,重启 Dolphin 以应用更改。

Caja

配置 Caja(MATE 桌面的文件管理器)的右键菜单,你有几种方法,具体取决于你的需求:

1. 使用 Caja-Actions 扩展添加自定义操作

添加自定义条目到 Caja 右键菜单最强大且灵活的方式是使用 Caja-Actions 扩展。这个工具允许你将任意程序、脚本或命令添加到右键菜单中。

如何使用 Caja-Actions:

  1. 安装 Caja-Actions:

    sudo apt install caja-actions
    
  2. 打开配置工具:

    caja-actions-config-tool
    
  3. 创建和管理操作:

    • 使用图形界面 添加新操作,指定要运行的命令或脚本,设置条件(如文件类型),并配置菜单标签和图标。
    • 你还可以将操作组织到子菜单中,重新排序,或导入/导出配置。
  4. 重启 Caja 以应用更改:

    caja -q
    

    然后重新打开 Caja。

2. 使用 Caja 脚本

Caja 还支持右键菜单中的 脚本 子菜单。你放在 ~/.config/caja/scripts/ 中的任何可执行脚本都会在这里显示。

  • 如果目录不存在,请创建:
    mkdir -p ~/.config/caja/scripts
    
  • 将可执行脚本添加到此文件夹。它们会在你右键点击文件或文件夹时出现在“脚本”子菜单中。

3. “用其他程序打开”菜单

“用其他程序打开” 右键菜单允许你使用任何已安装的应用程序打开文件。你可以通过管理默认应用程序或使用“用其他程序打开…”选项来自定义此处显示的应用程序。

总结:

方法 自定义命令 GUI 支持 位置/工具
Caja-Actions caja-actions-config-tool
脚本子菜单 是(脚本) ~/.config/caja/scripts/
“用其他程序打开”菜单 否(仅应用) 内置 右键菜单 → 用其他程序打开

同样的提示:更改后,使用 caja -q 重启 Caja 以确保新菜单项出现。

向 Thunar(XFCE 的文件管理器)添加右键菜单项,使用内置的 自定义操作 功能。这允许你直接将命令、脚本或应用程序添加到文件和文件夹的右键菜单中。

Thunar:如何添加自定义右键菜单项

  1. 打开 Thunar。
  2. 转到 编辑 → 配置自定义操作…
  3. 在出现的对话框中,点击 "+" 按钮添加一个新操作。

配置你的自定义操作

  • 名称: 输入你希望在右键菜单中显示的名称。
  • 描述: 可选,添加描述。
  • 命令: 输入你希望运行的命令、脚本或应用程序。你可以使用参数如 %f(所选文件)、%F(所有所选文件)等。
  • 图标: 可选,为菜单项选择图标。

设置显示条件

  • 转到 显示条件 选项卡。
  • 指定操作何时出现:
    • 文件模式: 例如,*.txt 用于文本文件,或 * 用于所有文件。
    • MIME 类型: 勾选文件类型(例如,文本文件、图像文件)。
    • 目录: 勾选是否希望操作在文件夹中出现。
  1. 保存 你的自定义操作。

新操作现在将在你右键点击符合指定条件的文件或文件夹时出现在右键菜单中。

一些注意事项:

  • 所有自定义操作都存储在 ~/.config/Thunar/uca.xml 中,可用于备份或手动编辑。
  • 你无法通过 GUI 重新排列右键菜单项的位置或删除内置操作。
  • 对于更高级的使用,请参阅 Thunar 自定义操作文档

有用的链接