deepin‑skills 优秀实践案例 -IPP‑USB 免驱助手

开发者:克亮

deepin-skills:dtk-development

项目仓库:https://github.com/tonglingcn/ipp‑usb‑assistant

社区讨论帖:IPP-USB 免驱助手-专帖

支持平台:deepin 25 / UOS V20

适配架构:amd64 /arm64 /riscv64 /loong64

项目缘起

家里或者办公室的 USB 一体机,明明硬件支持免驱打印扫描,deepin 系统底层其实也已经准备好了全套后台服务,奈何所有操作全都藏在命令行里。

普通小伙伴碰到问题就很头疼:

要敲命令启停后台服务、手动新建打印队列,遇到原厂驱动和系统组件抢设备的时候,还得去改黑名单配置。

社区论坛里,这类一体机的求助帖一直都不少。

正是基于这样的现状,一款 DTK 原生桌面小工具应运而生,为命令行操作补充图形入口,它就是 IPP‑USB 免驱助手。

 

AI 辅助开发过程

本项目是一次很有参考价值的 AI 协同开发实践:

辅助开发工具

CodeBuddy‑hy3 (free) + Opencode‑Ox (free) + deepin‑skills

项目开发以官方 dtk‑development skill 提供的 DTK6 / Qt6 开发规范作为核心依据,帮助规避了大量 API 适配的试错工作。

 

整体开发流程

  • 由开发者编写完整的 README 文档,梳理产品功能,作为项目开发指南;
https://github.com/tonglingcn/ipp-usb-assistant?tab=readme-ov-file
  • 研读上游 ipp‑usb 开源源码,理清底层服务逻辑;
  • 使用 AI 助手,调用 dtk‑development skill ,仅几轮对话就生成软件基础原型;
  • 在原型的基础上,完成真机测试、bug 修复以及多架构兼容性打磨。

 

原型完成之后继续开展后续打磨工作

  • 实现一套源码同时兼容 Qt5/DTK5、Qt6/DTK6,维护两套编译脚本;
  • 维护两套 debian 打包目录,分别适配 deepin 25、UOS V20;
  • 依次完成环境自检、打印管理、扫描管理、高级过滤设置四大业务模块;
  • 权限采用 pkexec 最小提权方案,不以 root 运行图形会话,规避桌面会话异常;
  • 通过 CI 流水线完成四大硬件架构的 deb 构建,同步开展 lintian 打包规范校验。

 

主要功能

环境自检

  • 一键检测 ipp‑usb、avahi‑daemon、cups 后台服务运行状态,自动识别 USB 一体机硬件。
  • 区分就绪、部分就绪、不可用三种状态;异常服务支持一键重启,同时对缺失的软件包给出安装指引。

打印管理

  • 无需厂商驱动文件,直接图形化创建 driverless 免驱打印队列;
  • 可查看、删除本机已有 CUPS 打印队列,一键输出测试页验证打印效果;
  • 支持纸张规格调整、双面翻转方向修正。

扫描功能

  • 同时兼容 eSCL 免驱扫描、原生 SANE 驱动扫描两种工作路径。
  • 支持分辨率、色彩模式设置,内置扫描预览,扫描结果直接保存至本地。

💡小提示:该工具定位偏向环境调试;如果需要完成大批量多页扫描作业,可以搭配社区开源应用「靓仔扫描」使用。

高级设置

提供两个互相独立的过滤维度,用于解决「厂商自带原生驱动」与「免驱」的共存问题。

  • 整机放行:将设备移出 ipp‑usb 接管,打印扫描全部交由原厂驱动处理;
  • 扫描通道排除:保留 IPP‑USB 免驱打印能力,仅关闭 eSCL 扫描通道。

 

安装方式

deepin 应用商店直接搜索「IPP‑USB 免驱助手」一键安装,全架构版本均已上架,后续还可以接收商店自动更新。

如果是内网环境,也可前往 Github Releases 下载 .deb 安装。

 

写在最后

IPP‑USB 免驱助手是 deepin‑Skills 开发者活动当中一个很典型的实践案例。

对于 Linux 桌面平台而言,很多底层系统组件本身已经具备完整能力,独立开发者不必重复实现复杂底层协议;为原有命令行能力补充一层原生 DTK 图形界面,就可以打造出实用的桌面小工具。

依托多款 AI 编程助手以及官方 dtk‑development skill 开发规范,可以有效减少样板代码编写与版本适配试错的工作量,让开发者把重心更多放在上游源码研读、多机型多架构真机测试上面。

当然,各式各样外设带来的兼容性难题,依旧需要依靠人工不断打磨完善。

项目保持完全开源,欢迎提交 Issue 与 PR,持续迭代优化这款工具。

作为在 DistroWatch 全球排名中表现突出、广受全球用户认可的开源操作系统,deepin 积极拥抱人工智能,紧跟智能化发展的趋势。无论你是想为 deepin 生态添砖加瓦,还是希望提升自己的桌面应用开发能力,deepin-skills 都将是你的得力助手。让我们一起,共建更强大的 deepin 开源生态!

如果大家对IPP‑USB 免驱助手感兴趣,也欢迎来 IPP-USB 免驱助手-专帖 一起讨论~