选型结论
- Dolphin 属单窗格 GUI那一档:视图文字只跟全局字体,Ctrl+滚轮只缩放图标(上游设计,Nix 层没有开关),称不上更专业。
- 真正技术专业的两类:GUI 双窗格(Krusader / Double Commander / far2l / muCommander / Worker / Xfe)与 TUI(yazi / vifm / nnn / mc / ranger / lf / joshuto / xplr / clifm / broot / superfile / walk)。
- 已做成模块:
/etc/nixos/modules/desktop/explorer/ 26 个自包含文件,import 即启用、任意组合可同时开。
Dolphin 的具体短板(实测)
- 三个视图模式各有一份配置,键为
UseSystemFont / ViewFont / IconSize(实测其包内 kcfg)→ 只能「定死一个字体」,没有「滚轮缩放文字」这类开关。
- 缩放动作(
zoomLevel)只作用于图标大小。
- Plasma 6 里 Ctrl+滚轮根本绑不了其它动作:实测 KCM 列表无鼠标手势模块,KWin 快捷键也不接受「修饰键+滚轮」。
- 替代做法(都已落地):①
dolphinrc 里 UseSystemFont=false + ViewFont 给列表定字号;② 全局字体缩放脚本 ~/.local/bin/kde-font-zoom up|down|reset(实测即时生效:10pt→13pt 截图对比 17.9% 像素变化)。
- 顺带修的系统层问题:X11 下「显示缩放」滑块对原生 Qt 应用无效(Wayland 专属);Qt 字体 DPI 实际来自 XSETTINGS 的
Xft/DPI,而本机 xsettingsd 配置里缺该项 → 已补 Xft/DPI 122880(=120dpi;备份在 ~/.hermes/cache/scratch/xsettingsd.conf.bak-*)。
候选对比(nixpkgs 26.05 实测求值)
GUI 双窗格 / 专业向
| 包 | 版本 | 技术特性 |
| krusader | 2.9.0 | root 模式、目录同步、传输队列、内建归档、批量重命名、校验和、挂载管理;有 zoom_in / zoom_out 动作 |
| doublecmd | 1.2.4 | Total Commander 克隆:插件(WCX/WDX/WFX)、FTP/SFTP、队列、校验和 |
| far2l | 2.7.0 | Far Manager 移植:插件/宏,可独立 GUI 也可跑 TTY |
| mucommander | 1.5.2 | Java 双窗格,多协议(FTP/SFTP/S3/HDFS) |
| worker | 5.2.2 | 老牌双窗格 + 可编程按钮栏 |
| xfe | 2.1.6 | 极轻双窗格,无重依赖 |
GUI 单窗格(与 Dolphin 同一路数)
| 包 | 版本 | 定位 |
| dolphin | kdePackages.dolphin 26.04.3 | KDE 默认;Plasma 自带 |
| nemo | 6.6.4 | Cinnamon;插件与可配置度高 |
| caja | 1.28.0 | MATE;保留传统菜单/工具栏 |
| thunar | 4.20.9 | XFCE;内建批量重命名 + 自定义动作 |
| nautilus | 50.3.1 | GNOME Files;搜索与远程(gvfs)强 |
| pcmanfm | 1.4.0 | GTK2 轻量 |
| pcmanfm-qt | 2.4.0 | LXQt 轻量 |
| fff | 2.2 | 纯 bash 终端 FM,零依赖 |
TUI(字体归终端管)
| 包 | 版本 | 要点 |
| yazi | 26.5.6 | Rust 异步;预览与插件强,现代首选 |
| mc | 4.8.33 | 经典双窗格;VFS 能直接进 tar/zip/ftp |
| ranger | 1.9.4 | 三栏 + rifle 打开规则 |
| nnn | 5.2 | 极快;插件体系;会话与磁盘用量 |
| lf | 41 | Go 单二进制;keymap/命令可脚本化 |
| vifm | 0.14.3 | 完整 vim 式键位与命令,配置能力最强 |
| joshuto | 0.9.9 | Rust,ranger 风格 |
| xplr | 1.1.0 | 极简核心 + Lua 插件,可组合 |
| clifm | 1.27.1 | 无全屏 UI,纯命令行交互 |
| broot | 1.56.4 | 树形浏览 + 模糊搜索;偏「找」不偏「管」 |
| superfile | 1.3.3 | 现代 TUI 双窗格,界面友好 |
| walk | 1.13.0 | 轻量终端导航器 |
不在 nixpkgs:spacefm(已移除)、konqueror(已移除)、sunflower、gentoo(FM)、emelfm2、doublecmd-qt。
模块化配置:modules/desktop/explorer(26 个文件)
- 每个文件自包含(包 + 必要系统开关 + 头注释),不引用其它 nix 文件;import 那一行就是开关。
- 可任意组合同时 import;GTK 类文件(nemo / caja / thunar / nautilus / pcmanfm)各自以
lib.mkDefault 打开 services.gvfs(回收站/远程)与 programs.dconf(设置持久化),多文件同开也不冲突。
- 属性路径坑:
dolphin/konsole 在 kdePackages.*(pkgs.dolphin 不存在);krusader 在顶层。
验证证据(eval,未 rebuild)
| 检查 | 结果 |
| 26 个文件语法 | 全部 parse OK |
| 26 个同时 import | 26 个包全进 systemPackages,缺失 0,零选项冲突;gvfs / dconf 为 on |
| 单独注释掉某行 | 对应包从 systemPackages 消失(开关语义成立) |
启用方式
# configuration.nix 的 imports 里取消对应行注释(已按 GUI / TUI 分组注释),然后:
rebuild "explorer modules"
待实测
- Krusader 的
zoom_in / zoom_out 是否连带缩放面板字体(它有独立的图标大小设置)。
- Double Commander 的面板字体键(默认配置首次运行才生成,包内查不到)。
- Konsole 的 Ctrl+滚轮是否缩放字体(尚未实测;已知菜单/快捷键缩放存在)——TUI 文件管理器的字号快慢就取决于这条。
- TUI 图标字形需 Nerd Font,否则 nnn / lf / yazi 的图标显示为方块。
相关
- skill:
nixos-per-app-modules(模板与已核实事实表)
- 同层笔记:「浏览器选择」