面向 UOS Desktop 20(及其他 Debian 系 Linux)的图形化系统信息采集与查看工具。基于 Qt 5 Widgets 开发,一次采集覆盖硬件、操作系统、软件、服务等 10 大类信息,支持导出 JSON 快照并在任意机器上离线回放。
功能特性
采集类别
| 类别 | 主要数据源 | 说明 |
|---|---|---|
| 系统信息 | /proc/cpuinfo、/proc/meminfo、dmidecode、QStorageInfo、QNetworkInterface | 硬件(CPU / 物理内存 / 磁盘分区 / 网卡)与操作系统(版本 / 内核 / 账号 UID·GID / DNS)分两个页签展示 |
| 环境变量 | QProcessEnvironment | 当前进程视角的全部环境变量 |
| PRELOAD 配置 | /etc/ld.so.preload | 受限文件,按需提权读取 |
| 库搜索路径 | /etc/ld.so.conf.d/*.conf | 动态链接器配置解析 |
| Shell 登录账号 | /etc/passwd、/etc/shells | 可登录 shell 的账号清单 |
| 内核模块 | /proc/modules | 已加载模块的大小 / 引用 / 污染标记 |
| 文件类型关联 | XDG mimeapps.list + .desktop | 按 XDG 优先级合并的 MIME 默认程序 |
| 根目录条目 | / + lstat() | 所属用户 / 组 / 权限 / 链接目标 |
| 已安装软件 | /var/lib/dpkg/status、/var/lib/apt/extended_states、ll-cli list | dpkg + 玲珑应用,区分手动 / 自动安装,含安装时间 |
| 已安装服务 | systemctl list-unit-files / list-units、/etc/init.d | systemd 服务单元(启用 / 运行状态)+ SysV 脚本 |
核心能力
- JSON 导出:一键导出全部类别到带时间戳的 JSON 文件(含 schema 版本)
- 快照回放:打开此前导出的 JSON,所有面板从文件渲染而非实时采集;标题栏与状态栏明确标识数据源,可随时返回实时模式
- 按需提权:读取受限文件时才弹出自绘密码框(
sudo -S),密码仅会话内缓存、退出即覆写清零;绝不要求以 root 启动 - 无头导出:命令行直接采集导出,无需图形环境(SSH 会话可用)
- 交互细节:所有列表支持列宽拖动并持久化、禁止横向滚动条(列宽自适应视口)、统一排序箭头(升序 ▲ / 降序 ▼)、右键复制 / 在文件管理器中打开、窗口位置与分隔条状态跨启动保持
使用
图形界面
./sys-info # 实时模式启动
./sys-info snapshot.json # 启动并直接加载 JSON 快照
- 左侧导航树切换类别,面板首次显示时才采集(懒加载),工具栏可单独 / 全量刷新
文件 → 导出 JSON…(Ctrl+S)导出全部类别文件 → 打开 JSON…(Ctrl+O)进入快照回放模式;也可直接把.json文件拖进主窗口文件 → 最近打开保留最近 10 条快照记录,可一键清除
命令行
./sys-info --export-all-packages out.json # 不启动窗口,全量采集并导出
./sys-info --help # 帮助
./sys-info --version # 版本
无头导出说明:
- 自动使用 offscreen 平台,无需 X display
- 已安装软件按
all_packages全量策略导出(含全部依赖包详情,约 2.5 MiB);GUI 导出默认summary_plus_manual(统计全量 + 仅手动安装详情) - 不弹密码框:需提权的受限文件记录
requires_root: true后跳过 - 退出码:
0成功,1采集 / 写盘失败,2参数错误
运行环境
- 开发 / 验证环境:UOS Desktop 20 Professional(Debian 10 底座,Qt 5.11.3,systemd 241)
- 理论兼容:任何 Qt ≥ 5.11 的 Debian 系发行版;非 systemd / 非 dpkg 环境对应类别自动降级



