PackLens - 看清 Linux 软件、磁盘与进程的一站式工具
如果你长期使用 Linux 桌面,大概率会遇到一个很现实的问题:软件不是只从一个地方来的。
有些来自 apt,有些来自 snap 或 flatpak,有些只是一个 .desktop 入口;开发环境里还会叠加 Python、Node、Rust、Java、conda、nvm、rustup、pipx、npm 全局包、cargo install 工具。时间一久,系统里到底装了什么、占了多少空间、哪些缓存可以清理、哪些后台进程正在吃内存,就会变得越来越难看清。
于是我做了 PackLens:一个面向 Linux 桌面的原生 GUI 工具,把软件清单、开发环境、磁盘分析、清理建议和进程检查放到一个应用里。
项目地址:https://github.com/1776686596/PackLens

PackLens 想解决什么
PackLens 的核心目标很简单:让 Linux 系统整理变得可见、可查、可判断。
它不是单纯的卸载器,也不是只显示磁盘占用的分析器,而是围绕一个更完整的问题展开:
这个系统里装了什么?它从哪里来?占用了多少?我能不能安全地清理或卸载?
为了回答这个问题,PackLens 把几个常见但分散的操作集中在一起:
- 查看
apt、snap、flatpak和桌面入口中的软件 - 识别 Python、Node、Rust、Java 等开发环境
- 分析目录和缓存占用
- 给出带风险等级的清理建议
- 扫描后台进程和内存占用
软件全景:先把“装了什么”看清楚
Linux 桌面上软件来源很多,只看某一个包管理器经常不够。PackLens 会聚合常见来源,并在一个列表里展示软件名称、来源、安装方式、路径和卸载命令。

这里比较实用的是两点:
- 可以搜索和筛选,不需要在终端里记不同包管理器的查询命令。
- 可以看到卸载命令,适合在动手前先确认来源和影响范围。
对于手动安装、带 .desktop 文件但不在包管理器记录里的应用,PackLens 也会尽量把入口信息展示出来,避免“明明菜单里有,但不知道从哪来的”这种情况。
开发环境:专门照顾开发者的混乱现场
开发机最容易膨胀的部分,往往不是普通桌面应用,而是各种语言生态。
PackLens 会检查常见运行时和版本管理器,例如:
- Python:
python3、pip、pipx、uv tool - Node:
node、npm -g、nvm - Rust:
rustc、cargo install、rustup - Java:
java、javac

这部分对我自己的意义很大。很多时候磁盘空间被吃掉,不是因为装了一个特别大的软件,而是多个开发生态各自缓存、各自安装全局工具,最后叠在一起变成一堆很难回忆来源的东西。
PackLens 把这些信息放到独立页面里,方便快速判断:哪些运行时还在用,哪些全局包可能已经不需要了。
磁盘分析:不只看大小,也要能定位路径
当磁盘空间告急时,最怕的不是“大文件很多”,而是不知道应该从哪里开始看。
PackLens 提供快速扫描和完整扫描两种模式。快速模式适合日常看用户目录,完整模式可以覆盖 /,但会更慢。扫描结果会用目录树和可视化块图展示占用情况,也可以打开路径继续检查。

它还会识别常见开发缓存目录,例如 apt、pip、npm、conda、cargo、docker 等。这样你看到的不只是“某个目录很大”,而是能进一步判断它为什么大、能不能清。
清理助手:把风险说清楚
清理系统最麻烦的地方在于:有些东西可以放心删,有些东西最好先确认,有些操作还需要 sudo。
PackLens 的清理助手会生成清理建议,并标注风险等级。无需 sudo 的清理项可以在应用内执行;需要管理员权限的操作会提示复制命令到终端执行。
这种设计比较保守,但我更喜欢这种方式:清理工具不应该为了“一键释放空间”而隐藏风险。尤其是开发机,很多缓存目录重新下载成本不低,清理前知道影响范围更重要。
进程管理:找到正在吃内存的后台任务
除了磁盘,内存占用也是日常整理的一部分。PackLens 的进程管理页会展示内存和交换分区占用,并列出后台进程。你可以搜索、筛选,并选择结束可终止的进程。

它不会假装能结束所有进程:权限不足或系统关键进程可能无法结束。这也是我希望 PackLens 保持的边界,能帮你看清楚和处理常见问题,但不做危险的越权操作。
技术栈
PackLens 是一个 Linux 原生桌面应用,当前版本为 0.1.2,主要技术栈如下:
| 模块 | 技术 |
|---|---|
| 应用语言 | Rust |
| GUI | GTK4 + libadwaita |
| 异步任务 | Tokio |
| 日志 | tracing |
| 配置 | TOML |
项目使用 GPL-3.0-or-later 协议发布。
安装与运行
如果你想直接体验,可以关注项目的 GitHub Releases:
https://github.com/1776686596/PackLens/releases
预构建包依赖系统已安装 GTK4 和 libadwaita。Ubuntu 24.04+ 用户可以优先选择 .deb 包;也可以下载 .tar.gz 后执行本地安装脚本。
如果你想从源码运行:
git clone https://github.com/1776686596/PackLens.gitcd PackLenscargo run --bin packlens发布构建:
cargo build --release./target/release/packlens系统依赖方面,需要 GTK4、libadwaita 和 pkg-config。不同发行版安装方式略有差异,README 中已经给出了 Ubuntu / Debian、Fedora、Arch 的示例命令。
适合谁
我会推荐这些用户试试 PackLens:
- 经常折腾 Linux 桌面环境的人
- 想清理磁盘,但不想盲目删除目录的人
- Python / Node / Rust / Java 环境比较多的开发者
- 想知道系统里软件来源和卸载方式的人
- 偏好 GNOME / GTK 风格原生应用的人
写在最后
PackLens 目前还在持续完善中,但它已经能覆盖我自己整理 Linux 桌面环境时最常遇到的几个问题:软件来源分散、开发环境混乱、缓存占用不透明、后台进程不容易快速判断。
如果你也遇到过类似问题,欢迎下载体验,也欢迎在 GitHub 上提 Issue 或 Star 支持:
分享
如果这篇文章对你有帮助,欢迎分享给更多人!

