惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

A
About on SuperTechFans
Y
Y Combinator Blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
Microsoft Security Blog
Microsoft Security Blog
aimingoo的专栏
aimingoo的专栏
I
InfoQ
C
Check Point Blog
IT之家
IT之家
MyScale Blog
MyScale Blog
Apple Machine Learning Research
Apple Machine Learning Research
Vercel News
Vercel News
Last Week in AI
Last Week in AI
GbyAI
GbyAI
P
Proofpoint News Feed
量子位
Stack Overflow Blog
Stack Overflow Blog
Microsoft Azure Blog
Microsoft Azure Blog
月光博客
月光博客
阮一峰的网络日志
阮一峰的网络日志
人人都是产品经理
人人都是产品经理
B
Blog
T
The Blog of Author Tim Ferriss
H
Help Net Security
云风的 BLOG
云风的 BLOG

姓王者的博客

Linux用户Secure Boot自主维护指南 | 姓王者的博客 MAD Bugs 已经开始——关于信息安全的军备竞赛 | 姓王者的博客 解决钉钉Dingtalk无法在Linux新版内核上启动问题-修复可执行栈错误 | 姓王者的博客 突发:GitHub 正遭受大规模 Issue 赌博广告轰炸 | 姓王者的博客 Ubuntu26.04-beta体验:坚毅浣熊! | 姓王者的博客 fakeclaw装作龙虾发贴吧 | 姓王者的博客 找回12年前的QQ记忆 | 姓王者的博客 在Linux上玩Flash网页游戏-洛克王国 | 姓王者的博客 Copilot将使用交互数据来训练 | 姓王者的博客 重要通知-请更新我的GPG公钥 | 姓王者的博客 为了自由Android | 姓王者的博客 GPL"2,3"事 | 姓王者的博客 短文-对VitePlus的一点🤏小贡献 | 姓王者的博客 Bing收录没了?亲测有效的快速恢复指南 | 姓王者的博客 解决桌面设备二维码快速识别的工具-ClipQR | 姓王者的博客 OpenClaw 该熄火了 | 姓王者的博客 Vite8 - 统一的基建开始 | 姓王者的博客 Astro 6 推出啦 | 姓王者的博客 ubuntu的openvpn异常暂停推送更新 | 姓王者的博客 Ubuntu 24.04 安装 Win10 虚拟机 | 姓王者的博客 ESA-后记:热爱阿里云 | 姓王者的博客 Moonbit 0.8.0 重大发布,我也要改一下我的包 | 姓王者的博客 ESA Pages 边缘开发大赛获奖 | 姓王者的博客 Astro: 优化katex,mermaid和灯箱使用 | 姓王者的博客 从edgeone迁移到esa | 姓王者的博客 出租人类:AI时代的荒诞与真实 | 姓王者的博客 Astro 5.17构建性能优化实践:从18s到13s | 姓王者的博客 Moonbit License Checker 开发使用 | 姓王者的博客 Stalux Astro博客主题自荐 | 姓王者的博客 把Hexo永久链接迁移到Astro | 姓王者的博客
解决 Nautilus 自定义终端插件安装依赖问题 | 姓王者的博客
作者:xingwangzhe · 2026-03-18 · via 姓王者的博客

🕒 阅读时间:2 分钟 📝 字数:553 👀 阅读量: Loading...

事实上,本文为了追求最新,采用了源码安装。对于一般用户,直接去Release里下载deb包安装,快速解决冲突,配置才是理想选择

自定义终端打开效果

问题背景

默认的 GNOME Nautilus 只支持打开 gnome-terminal,如果你像我一样使用 GhosttyAlacrittyKitty 这样的第三方终端,就需要一个扩展来添加右键菜单。

nautilus-open-any-terminal 正是这样一个优秀开源扩展,支持数十种终端模拟器的开箱即用,还支持自定义快捷键。

但是在 Ubuntu 24.04 上直接安装官方提供的 .deb 包会遇到依赖错误:

$ sudo apt install ./nautilus-extension-any-terminal_xxx.deb

正在读取软件包列表... 完成

正在分析依赖关系树... 完成

下列软件包有未满足的依赖关系:

nautilus-extension-any-terminal : 依赖: python3-nautilus 但是它将不会被安装

问题分析

Ubuntu 24.04 搭载的 Nautilus 版本是 46,使用 GTK 4 作为界面工具包。官方 deb 包的 debian/control 文件中缺少了两个关键依赖:

  • gir1.2-gtk-4.0 - GTK 4 的 GObject 内省数据
  • gir1.2-nautilus-4.0 - Nautilus 4.0 扩展接口的 GObject 内省数据

这导致 python3-nautilus 因为缺少依赖无法安装,整个扩展安装流程卡住。

解决方案

修复依赖,重新安装

我们需要更新 debian/control 添加缺失的依赖,然后从源码编译安装。

1. 安装基础依赖

sudo apt install gettext python3-nautilus gir1.2-gtk-4.0 gir1.2-nautilus-4.0 libglib2.0-dev-bin

如果之前安装失败了,先修复:

sudo apt --fix-broken install

2. 克隆源码

git clone https://github.com/Stunkymonkey/nautilus-open-any-terminal.git

cd nautilus-open-any-terminal

3. (可选)修复 debian/control

如果你想重新打包 deb,可以在 debian/controlDepends 部分添加缺失依赖.

Depends: ${python3:Depends},

${misc:Depends},

python3-nautilus,

gir1.2-gtk-4.0,

gir1.2-nautilus-4.0,

nautilus

4. 编译并从源码安装

make

sudo make install-nautilus schema

5. 重启 Nautilus 生效

配置你喜欢的终端

安装完成后,通过 gsettings 命令配置你想要的终端:

# 设置为 Ghostty

gsettings set com.github.stunkymonkey.nautilus-open-any-terminal terminal ghostty

# 设置为 Alacritty

gsettings set com.github.stunkymonkey.nautilus-open-any-terminal terminal alacritty

# 设置为 Kitty

gsettings set com.github.stunkymonkey.nautilus-open-any-terminal terminal kitty

# 设置快捷键 Ctrl+Alt+T 快速打开

gsettings set com.github.stunkymonkey.nautilus-open-any-terminal keybindings '<Ctrl><Alt>t'

# 开启新标签页打开(支持的终端)

gsettings set com.github.stunkymonkey.nautilus-open-any-terminal new-tab true

完整支持的终端列表可以查看项目README,从 alacritty 到 xterm 应有尽有。

常见问题

右键出现两个相同的”Open in XXX”

大概率是因为你使用的终端模拟器本身就自带Nautilus插件,在你kill Nautilus之后又显示罢了,只需要删除冗余就好

# 检查是否有重复安装

find /usr/share/nautilus-python/extensions/ -name "*.py"

# 删除冗余的扩展

sudo rm /usr/share/nautilus-python/extensions/xyz.py

# 重启 Nautilus

nautilus -q

小结

通过添加缺失的 gir1.2-gtk-4.0gir1.2-nautilus-4.0 依赖,就能在 Ubuntu 24.04 上成功安装这个很棒的扩展。现在你可以在 Nautilus 右键直接打开你喜欢的任意终端了。