AI 요약
이 프로젝트는 저자가 친구 마크(Mark)로부터 받은 구형 Canon SELPHY 인쇄기가 최신 Mac 및 Windows에서 지원되지 않는 문제를 해결하기 위해 시작되었습니다. 초기에는 Lenovo ThinkCenter에 Manjaro Linux와 CUPS/Gutenprint를 설치하여 임시로 해결했으나, 부모님과 같은 일반 사용자들도 하드웨어 추가 없이 쉽게 사용할 수 있도록 소프트웨어 기반 솔루션을 고민하게 되었습니다. 저자는 월 18파운드 비용의 Claude Code(AI 도구)를 활용해 개발을 진행했으며, 최종적으로 Chrome의 WebUSB와 v86 x86 CPU 에뮬레이터를 결합한 웹 애플리케이션 'printervention.app'을 개발했습니다. 이 방식은 별도의 설치 없이 브라우저 내 가상 환경에서 Linux를 구동하여 프린터를 제어하므로, 수많은 구형 프린터가 매립지로 향하는 것을 방지할 수 있는 지속 가능한 기술적 대안을 제공합니다.
핵심 인사이트
- 장치 복원: 제조사의 공식 지원이 중단되어 사용 불가능했던 Canon SELPHY 사진 인쇄기를 Linux용 CUPS 및 Gutenprint 드라이버를 통해 재활용함.
- AI 기반 개발: 개발 과정에서 Claude Code를 적극 활용했으며, 작성자는 이를 '지능을 위한 개인용 제트기'와 같다고 평가함.
- 웹 기술의 확장: 네이티브 앱의 스토어 규제와 플랫폼 제한을 피하기 위해 Chrome의 WebUSB API를 사용하여 설치가 필요 없는 웹 기반 접근 방식을 채택함.
- v86 에뮬레이터 활용: JavaScript로 구현된 x86 에뮬레이터인 v86을 사용하여 브라우저 환경에서 직접 Linux 커널과 시스템을 구동함.
- 환경 보호 목표: 소프트웨어 지원 종료로 버려지는 '백만 대의 프린터'를 구출하겠다는 지속 가능성 비전을 제시함.
주요 디테일
- 기술 스택 변화: 초기 Apple의 Virtualization.framework 기반 Mac 앱 기획에서 범용성을 위해 VS Code와 JavaScript 기반의 Web App으로 전환.
- 도메인 결정: 서비스 명칭으로 'printerface.app'과 'printervention.app'을 후보로 두었으나, 최종적으로 후자를 선택함.
- 인쇄 프로세스 구현: 노란색(Yellow), 자색(Magenta), 청록색(Cyan) 순으로 종이가 세 번 왕복하며 인쇄되는 구형 SELPHY의 CMY 인쇄 방식을 완벽히 재현.
- 사용자 편의성: Raspberry Pi와 같은 별도의 하드웨어 서버 구축 없이 웹 브라우저만으로 드라이버 문제를 해결하여 일반 사용자 접근성을 높임.
- 네트워크 기능: mDNS 및 Avahi를 활용해 AirPrint 기능을 구현했던 초기 실험을 바탕으로, 이를 웹 가상화 환경에 이식함.
향후 전망
- 레거시 하드웨어의 부활: 드라이버 지원이 끊긴 스캐너, 의료 장비 등 다양한 구형 주변기기를 웹 브라우저 기반으로 재가동하는 사례가 늘어날 것으로 보임.
- 웹 기반 에뮬레이션의 발전: v86과 같은 프로젝트를 통해 복잡한 시스템 소프트웨어를 브라우저 내 가상 환경에서 안전하게 구동하는 시도가 가속화될 전망.
출처:hackernews
