[AI Development Lab] 【deepin插件开发活动】+ipp-usb 免驱助手(首发)
Tofloor
poster avatar
克亮
Moderator
2026-08-30 22:41
Author

IPP-USB 免驱助手 (IPP-USB Driverless Assistant)

作品方向:方向三 · DTK 创新原生应用

使用 Skill:dtk-development

源码仓库:https://github.com/tonglingcn/ipp-usb-assistant

开源协议:GPL-3.0

运行环境:deepin 25(amd64 / arm64 / riscv64 / loong64)

作品类型:独立桌面应用,拥有自身窗口,通过 .desktop 文件启动


一、作品简介
在 deepin 25 上接一台「免驱动」打印机 / 扫描仪(即支持 IPP-USB、AirScan 的现代一体机),很多用户会遇到一个尴尬局面:设备连上了,但要么找不到、要么添加后双面打反、要么扫描死活发现不了。

这类设备本质上不需要厂商 PPD 驱动——系统里的 ipp-usb、avahi-daemon、cups 加上 sane-airscan 已经能把它跑起来。真正缺的,是一个把这套零散命令行排查工具,变成可视化专业操作界面的工具。

IPP-USB 免驱助手 就是为此而生:它把「IPP-USB 免驱」从 driverless / lpadmin / scanimage 的命令行组合,变成开箱即用的图形化面板。

💡 痛点调研:deepin 论坛里「打印机 / 扫描仪不能用」相关求助常年居高不下,其中一大类是「设备本身支持免驱,但用户不知道怎么免驱添加」。

二、功能特性
✅ 环境能力检测

实时检测 ipp-usb / avahi-daemon / cups 三大服务状态
检测已连接 USB 外设中是否含打印 / 成像类设备
侧边栏给出「就绪 / 部分就绪 / 不可用」结论,未就绪时附修复指引
✅ 打印管理

driverless 发现免驱打印机(ipp:// URI),合并 CUPS 已配置队列
一键 lpadmin -p <队列> -v -m driverless -E 建立免驱队列(免厂商 PPD)
驱动微调(重点):针对免驱生成的 PPD 做关键修正
默认页面大小(*DefaultPageSize)
双面长边翻页实机修正
一键打印测试页
✅ 扫描管理

基于 SANE + sane-airscan (eSCL) 发现 USB 扫描仪并扫描
可调分辨率(75/150/300/600 DPI)与色彩模式(彩色 / 灰度 / 黑白)
扫描结果内嵌预览,一键打开原图

✅ 高级设置(两个独立过滤维度)

ipp-usb 整机放行:按设备名把整台设备移出 ipp-usb 接管
扫描通道排除:仅摘掉 eSCL 扫描,保留免驱打印,立即生效
三、截图
发布时请在此处插入 3–5 张图(建议:① 首页环境检测 ② 打印管理-添加队列 ③ 驱动微调对话框 ④ 扫描管理 ⑤ 高级设置)。

image.png

支持在线安装(同时提供离线下载网盘地址)

截图_ipp-usb-assistant_20260830213318.png

截图_ipp-usb-assistant_20260830213419.png

截图_ipp-usb-assistant_20260830213444.png

截图_ipp-usb-assistant_20260830213452.png

扫描管理 若是能成功执行预览并扫描 推荐使用靓仔扫描

截图_ipp-usb-assistant_20260830213818.png

提前预告:靓仔扫描下个月会迭代新版本(增加进纸方向判断)

image.png

wechat_2026-08-30_213827_878.png

wechat_2026-08-30_213843_473.png

四、安装方式

方式一:Release deb 包(推荐)

在 https://github.com/tonglingcn/ipp-usb-assistant/releases 下载对应架构的 .deb,双击安装

https://github.com/tonglingcn/buildpackage-deepin/actions

已覆盖 amd64 / arm64 / riscv64 / loong64 四架构并通过 lintian。

截图_选择区域_20260830201531.png

方式二:源码构建

依赖(deepin 25)

sudo apt install build-essential cmake
qt6-base-dev qt6-tools-dev dtk6core-dev dtk6gui-dev dtk6widget-dev
libcups2-dev libsane-dev pkg-config

cd examples/ipp-usb-assistant
bash build.sh # 自动完成 cmake + 编译,生成 ./build/ipp-usb-assistant
./build/ipp-usb-assistant
五、使用说明
打开应用,首页自动检测免驱环境,绿色即「就绪」。
进入「打印」页 → 点「发现设备」→ 选 ipp:// 设备 → 「添加打印机」。
如需修正双面方向,进入「驱动微调」开关长边翻页,改完自动重启队列。
进入「扫描」页,等 mDNS 回环发现(约 15–20 秒),选设备、设参数、扫描。
六、开发过程说明(AI + deepin Skills)
本作品全程在 AI 编程助手CodeBuddy-hy3(free) +Opencode -Ox(free)+deepin Skills协助下开发,

核心依据是官方 dtk-development Skill 提供的 DTK6 / Qt6 规范,避免了大量试错。



Reply Favorite View the author
All Replies
avatar
玲泷沙.spark
deepin
2026-08-30 22:44
#1

真大佬

Reply View the author
avatar
罐子
Moderator
2026-08-30 22:45
#2

agree agree agree

Reply View the author
avatar
骑🐖追帅哥bot
Moderator
2026-08-31 08:57
#3

企业微信截图_20260811132152.png

Reply View the author
avatar
绍贝格尔
deepin
2026-08-31 08:58
#4

666

Reply View the author
avatar
neko
deepin
Ecological co-builder
Q&A Team
2026-08-31 09:48
#5

好工具!

Reply View the author
avatar
SmallDimples
deepin
a day ago
#6

绝世好文,信创必读!

Reply View the author
avatar
deepin157
deepin
a day ago
#7

点赞大佬,这是最实用的刚需应用。

Reply View the author