GNOME Commander 是一款面向 GNOME 桌面环境的经典双栏文件管理器(orthodox file manager),其设计灵感源自于早年 DOS 时代的 Norton Commander。近日,该项目正式发布了 2.0 版本,新版本最大的变化在于使用 Rust 编程语言进行了彻底的代码重写,同时将图形界面工具包迁移至 GTK4。这标志着该软件在经历了多年滚动更新后,迎来了一次深层的技术栈换代。
正统双栏文件管理器
所谓“orthodox file manager”(正统文件管理器),指的是遵循 1980 年代 Norton Commander 所开创的界面范式:主窗口分为左右两个面板,用户可以在两个不同目录之间进行复制、移动等操作;下方为命令行输入区域,支持键盘快捷键驱动。GNOME Commander 继承了这一经典交互模式,并在 GNOME 桌面环境下提供了现代化的实现。它允许用户通过键盘高效浏览文件系统,同时仍保留鼠标操作便利性,适合习惯双栏工作流的用户群体。
自诞生以来,GNOME Commander 一直使用 C 语言开发,底层基于 GTK+ 工具包(后续版本逐步升级至 GTK3)。随着 Rust 语言在系统软件领域兴起,以及 GTK4 成为 GNOME 生态的新标准,开发者决定进行一次彻底的现代化重写,于是有了这次 2.0 版本的发布。
Rust 与 GTK4 的技术迁移
GNOME Commander 2.0 的源代码完全使用 Rust 重写,图形界面部分依托 GTK4 工具包。Rust 是一种强调内存安全与并发性的系统编程语言,近年来在基础设施软件、命令行工具和守护进程领域获得了广泛应用。GTK4 则是 GNOME 项目推出的新一代界面工具包,相比 GTK3 提供了更现代的渲染管线、改进的 CSS 样式支持以及更高效的控件模型。
此次重写并非简单地将旧代码“翻译”为 Rust,而是借助 Rust 的类型系统和所有权模型,对文件管理器核心逻辑重新梳理。虽然官方没有量化的性能对比数据,但从技术层面来看,Rust 的内存安全特性有助于减少因内存错误导致的崩溃,GTK4 的引入则让界面与 GNOME 桌面环境有了更一致的外观和行为。这意味着 GNOME Commander 能够更紧密地集成在 GNOME 桌面中,例如对 Wayland 显示服务器的支持、对黑暗模式的适配等。
版本 2.0 的发布意义
2.0 是 GNOME Commander 历史上第一个主版本号的大幅升级。在此之前,项目一直以 1.x 系列迭代,最近一个稳定版为 1.18 左右。2.0 的重写工作直接跳过了多个中间版本,说明开发者希望通过更换语言和工具包为后续功能开发奠定更稳固的基础。目前 2.0 版本已可在 GitHub 上获取源码编译,部分 Linux 发行版也可能在未来将其纳入仓库。
对于双栏文件管理器的忠实用户而言,GNOME Commander 2.0 的发布意味着它们喜爱的工具在底层得到了全面革新,未来的维护和功能扩展将更加容易。同时,Rust 版本的 GNOME Commander 也为其他开源项目提供了一个迁移案例——将 C/GTK 的老程序使用 Rust/GTK4 重写,在保持用户体验不变的前提下改善代码质量和可维护性。
总体而言,这是一次朴实但重要的软件更新。GNOME Commander 没有全新的功能,也没有改变用户界面布局,但通过更换到更现代的技术栈,延长了项目的生命周期,使其能够在未来的 GNOME 桌面环境中持续运行下去。
本文参考来源:Phoronix
微信扫描下方的二维码阅读本文


