1. 개요
1999년 6월 9일 ESP사(Easy Software Products)의 마이클 스위트(Michael Sweet)가 개발하였으며[1] 2007년도부터 애플이 소유 및 진행하고 있는 CUPS프로젝트는 Common Unix Printing System(공용유닉스프린팅시스템)을 지향하는 프로젝트이자 소스가 공개되는 범용 프린터 소프트웨어이다.1.1. openprinting CUPS
2020년도 부터 애플 CUPS의 분기(fork)로 openprinting CUPS 프로젝트가 개설되었다.[다]CUPS는 공개된 소스 및 스펙(CUPS Programming Manual)에 따라 대부분의 프린터 공급회사가 이를 제작 및 지원하도록 제공하고있다.[라][4] 이는 우후죽순 격으로 만들어지는 제조사별 방대한 규모의 프린터 드라이버의 용량을 효율적으로 최소화하고 상호 호환성을 높이는 사실상 표준으로 제안될뿐만아니라 이러한 생산성 및 사용자 편의의 관리적인 측명에서도 매우 효율적이다. usb연결 자동설정 기능이 편리하게 제공되며 특히 2010년을 전후해서 대중화된 wifi 무선 네트워크의 대중화에 힘입어 ipp프로토콜(ipp everywhere)를 지원하는 cups는 네트워크 프린터에서도 강력한 편리한 기능을 보장한다.
1.1.1. 슬로건
OpenPrinting CUPS
2. 주요 프로세스 구현
PPD, IPP, scheduler(스케줄러)등을 issue(이슈)에서 참고할수있다.[가][6] 특히 와이파이나 허브 공유기(LAN)를 사용하는 네트워크 프린터의 경우에서 Simple Network Management Protocol (SNMP)이 작동하는 Network Protocol (Backend)으로는 TCP/IP에 기반한 프로토콜로 AppSocket(aka JetDirect)), Internet Printing Protocol(IPP), Line Printer Daemon(aka lpr)[7]등이 구현되어있다.[가][나]CUPS 웹 인터페이스[10]에서 리눅스등의 프린터관리자와 상호 호환된다. 특히 ipp everywhere 드라이버는 wifi 무선네트워크에 최적화된 사실상 표준으로 언급될 정도로 강력한 성능을 보여준다.[다][라][마][바]
3. IPP Everywhere
와이파이 무선네트워크 프린터에 최적화된 ipp everywhere(TM)의 테스트페이지(데비안12,cups드라이버 인스톨,삼성SL-T1685W)의 EWS스캔후 png포팅 다운그레이드 이미지.4. 라이센스
저작권은 2007-2022 Apple Inc. CUPS 2.2 및 이전 버전은 예외 사항을 제외하고 GNU GPL2 및 LGPL2의 조건에 따라 제공되는 반면 이후 버전부터는 애플CUPS와 오픈프린팅CUPS의 2개버전으로 나뉜다. 애플CUPS 2.3 및 이후 버전은 Apache License, Version 2.0의 조건에 따라 제공되며 오픈프린팅CUPS는 오픈소스로 Apache-2.0 license로 개발 및 제공된다.[15]\[오픈프린팅CUPS\] CUPS는 GNU GPL2 전용 소프트웨어에 대한 링크를 허용하는 예외 사항을 제외하고 Apache 라이선스 버전 2.0에 따라 라이선스가 부여되었습니다.[16]
\[애플CUPS\] CUPS, CUPS 로고 및 macOS는 Apple Inc.의 상표입니다. 다른 모든 상표는 해당 소유자의 재산입니다. (Apple 개인정보 보호정책)[17]
5. 네트워크 프린터
USB로 직접 연결되는 스탠드얼론 프린터의 경우 자동으로 설정이 이루어지지만 네트워크상의 프린터는 특히 wifi같은 무선네트워크의 경우는 추가적인 보안 설정을 기술(describe)해 주어야한다.5.1. conf(설정파일)
CUPS는 유닉스 계열의 프린터작동 및 사용을 위한 사용자 편의을 위한 거의 모든 기능이 다루어진다고 할수있다. 사실 이것이 컵스(CUPS)가 추구하는 목표이기도 하다. 또한 CUPS는 드라이버 설정을 위한 프로그램적인 소프트웨어를 드라이버(driver)로 구현하는 최적화된 방법을 제공한다. 또한 리눅스 철학에 따라서 000.conf 파일들을 통해서 최적화된 설정을 커스터마이징(사용자 맞춤설정)할수있도록 지원한다.5.2. .conf
000.conf파일들은 CUPS의 사용을 위한 설정(settings)을 위한 파일들이다. 주요 설정 파일들로는 사용자 권한(add user group)을 세팅하는 cups-files.conf 그리고 네트워크 범위(address range)를 지정하는 cups.conf파일이 있다. [라][19][마][바] 특히 wifi같은 무선네트워크의 경우는 이 둘 cups-files.conf 그리고 cups.conf파일에 추가적인 보안 설정을 해주어야 cups 로컬호스트(localhost) 서비스를 사용할수있다.5.3. 예시
삼성 복합기 SL-T1670FW의 와이파이 설정예시 (cups-files.conf과 cups.conf파일에서 DHCP 서버 상태에서 내부 IP주소 199.188.000.1를 가정했음)- 하드웨어 인식단계
Discovered Network Printers:
Samsung SL-T1670FW Series on 199.188.000.177 (Samsung SL-T1670FW Series)
설정 버튼 학인(confirm) 후 다음 단계로Samsung SL-T1670FW Series on 199.188.000.177 (Samsung SL-T1670FW Series)
- 인가(프린터 추가) 단계
Connection: ipp://199.188.000.177
Make:SamsungSL-T1670FW
\[Model\] Driver: IPP Everywhere
Make:SamsungSL-T1670FW
\[Model\] Driver: IPP Everywhere
6. 관련문서
[1] Common UNIX Printing System , ESP 1993-2006 #[다] openprinting CUPS A Brief History of CUPS #[라] 레드햇 10.3. 웹 인터페이스에서 CUPS 서버를 관리할 수 있는 관리 권한 부여#[4] 마 로컬호스트 localhost:631 > openprinting CUPS > CUPS Programming Manual[가] (공식웹사이트) CUPS > Help#[6] (공식웹사이트) CUPS > Release Notes#[7] LPD is the original network printing protocol created for the Berkeley UNIX line printer daemon (spooler) \[cups.org\][가] [나] CUPS > Help > Using Network Printers#[10] localhost:631[다] [라] [마] [바] IPP EverywhereTM IPP Everywhere™#[15] http://www.openprinting.org/[16] CUPS is licensed under the Apache License Version 2.0 with an exception to allow linking against GNU GPL2-only software.#[17] 오피셜웹사이트[라] [19] 레드햇 10장. 인쇄 설정 > 10.1. CUPS 설치 및 구성 #[마] [바]