选型结论
- 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 的图标显示为方块。
提权:以管理员身份操作 root 文件(kio-admin)
Dolphin 自己没有提权能力:它对 root 拥有的文件做删除/改名时,操作用当前用户身份执行 —— 而「删除」要求的是所在目录的写权限,所以会报「无法删除:您没有从此文件夹中删除项目的权限」。真正提供提权的是 KDE 的 admin:// KIO 后端,也就是 kio-admin:装上后 Dolphin 右键多出「以管理员身份操作 / Open as Administrator」,经 polkit 授权后就能在同一个窗口里临时读写 root 文件。
本机装法(已落地)
- 模块:
/etc/nixos/modules/system/service/kio-admin.nix → environment.systemPackages = [ pkgs.kdePackages.kio-admin ];(自包含、只装包;configuration.nix 的 imports 放开那一行即启用)。
- 归类:它是 KDE/KIO 框架级能力(不只 Dolphin —— Kate 等任何 KIO 应用都能用 admin://),所以放
system/service/,不放 explorer/(explorer/ 是文件管理器本体)。
- 版本:跟随 nixpkgs 的
kdePackages、不钉版 —— 要与桌面版本一致(本机 kio-admin-26.04.3 与 Plasma 26.04.3 同版)。
- 前置:polkit 认证代理要在跑(本机
plasma-polkit-agent 已随桌面启动),否则授权弹窗不会出现。
怎么用
- Dolphin 里右键目标 →「以管理员身份操作」;或地址栏直接访问
admin:///路径。
- polkit 弹窗授权后即可在该窗口里新建/改名/删除/编辑 root 文件。
- 「临时」的含义:授权是一次性的(不写 sudoers、不常驻 root 会话);关掉该窗口/会话就回到普通权限,下次再操作会重新弹授权。
验证证据(本机)
| 检查 | 结果 |
| 包 | kio-admin-26.04.3(在 /nix/store,已随 rebuild 进当前系统) |
| polkit 动作 | /run/current-system/sw/share/polkit-1/actions/org.kde.kio.admin.policy(在) |
| D-Bus 系统服务定义 | /run/current-system/sw/share/dbus-1/system.d/org.kde.kio.admin.conf(在) |
| KIO 服务菜单 / 元信息 | …/share/kio/servicemenus/、…/share/metainfo/org.kde.kio.admin.metainfo.xml |
| 模块与启用 | /etc/nixos/modules/system/service/kio-admin.nix(configuration.nix 的 imports 里放开) |
与命令行/agent 的关系(别混)
- kio-admin 只服务桌面里 KIO 应用的交互操作;命令行/agent 提权走另一条路(本机是
/run/wrappers/bin/sudo -n,wheel 免密)。
- 命令行里
sw/bin/sudo 是非 setuid 壳、会直接报错;要 root 就用 wrappers 里那个。
待实测
- 在 admin:// 会话里编辑并保存 NixOS 配置文件(如
/etc/nixos/…)是否顺畅,以及改完是否记得 rebuild 才生效。
- 关窗后是否立刻回落为普通权限(再操作应重新弹 polkit)。
相关
- skill:
nixos-per-app-modules(模板与已核实事实表)
- 同层笔记:「浏览器选择」