Hacker News 中文摘要

RSS订阅

通过USB/IP桥接WebUSB的浏览器内Linux虚拟机拯救旧打印机 -- Rescuing old printers with an in-browser Linux VM bridged to WebUSB over USB/IP

文章摘要

作者意外获得一台旧款佳能照片打印机,发现现代操作系统已不兼容。通过在Linux系统上安装打印服务,成功让全家通过苹果设备无线打印照片,既保留了实体照片的触感,又结合了数码编辑的便利性,重现了照片打印的乐趣。

文章总结

打印机重生记:一段技术拯救的故事

意外获得的旧照片打印机

故事始于我意外获得一台佳能SELPHY照片打印机。当我用旧3D打印机与朋友马克交换这台设备时,发现这些老式打印机价格低廉的原因:macOS和Windows早已停止对它们的支持。幸运的是,我的Manjaro Linux系统通过CUPS和Gutenprint成功驱动了这台打印机,并通过Avahi实现AirPrint共享,让全家人都能轻松打印照片。

技术挑战与解决方案

为了让非技术用户也能使用这类打印机,我尝试了多种方案: 1. 最初考虑使用Raspberry Pi作为打印服务器,但成本和使用复杂度成为障碍 2. 转而开发基于WebUSB技术的网页应用,利用v86模拟器在浏览器中运行Alpine Linux系统 3. 通过创新的USB/IP和tcpip.js技术建立双向通信,使CUPS能够完整控制打印过程

技术实现细节

核心解决方案包含以下关键技术组件: - v86模拟器:在浏览器中模拟完整x86计算机环境 - Gutenprint驱动:通过三元组搜索算法自动匹配最佳打印机驱动 - 文件处理:将HEIC/JPEG转换为适配打印机尺寸的PDF文件 - 色彩管理:保留原始图像的ICC配置文件确保色彩准确度

应用前景与商业考量

目前这个名为"Printervention"的网页应用已经支持多款照片打印机,未来计划扩展支持更多Gutenprint兼容机型。虽然出于商业考虑暂未开源核心代码,但作者希望与打印机耗材公司合作,将其整合到商业平台中。

这个项目不仅拯救了可能被淘汰的旧打印机,还展示了现代Web技术(WebUSB、WebAssembly等)的强大潜力,为其他老旧设备的再利用提供了新思路。

项目官网 | 作者George MacKerron

评论总结

总结评论内容如下:

  1. 对OSX硬件支持的质疑

    • 观点:质疑OSX对硬件的支持不如Linux
    • 引用:
      • "surely a glorious OS like osx would not be without support for hardware that linux supports?"(评论1)
      • "Isn't cups a de facto apple project? What's the VM getting you?"(评论7)
  2. 对使用LLM或AI简化驱动开发的建议

    • 观点:建议用LLM生成驱动或逆向USB协议,避免复杂框架
    • 引用:
      • "have the LLM find the relevant CUPS driver decompile or just capture the USB traffic"(评论2)
      • "I would have asked Claude to write a driver. But this works, too."(评论10)
  3. 对旧设备兼容性的兴趣与肯定

    • 观点:赞赏通过Linux或虚拟机实现旧设备兼容的创意
    • 引用:
      • "this is reasonably genius... they don't work on modern anything"(评论8)
      • "I never thought about using the Linux box as an AirPrint server!"(评论5)
  4. 对苹果限制WebUSB的批评

    • 观点:认为苹果阻碍WebUSB标准化以保护应用商店利益
    • 引用:
      • "Apple is still preventing the WebUSB spec from being standardized"(评论9)
      • "They won't even make suggestions to get it through committee"(评论9)
  5. 对商业化的讨论

    • 观点:作者希望商业化解决方案而非开源
    • 引用:
      • "I’d much prefer it if they paid me to white-label it"(评论12)
      • "They might be interested if they cared at all about the ease of use"(评论12)
  6. 对旧设备实际需求的调侃

    • 观点:部分旧设备(如点阵打印机)的实用性存疑
    • 引用:
      • "who would really want that?"(评论6)
      • "what the heck we're not in web 1.0 anymore"(评论11)
  7. 对Windows驱动兼容性的正面案例

    • 观点:Windows对旧驱动的兼容性较好
    • 引用:
      • "Using the Windows 7 64-bit driver, worked basically out-of-the-box"(评论13)

总结:评论主要围绕OSX/Linux硬件支持差异、AI辅助开发潜力、旧设备兼容方案、苹果生态限制及商业化可能性展开,既有技术探讨也有幽默调侃。