공든탑앱 열기

프린터: CUPS와 인쇄 명령

리눅스마스터 2급 · 장치 설정 · 약 9분

쉽게 말하면

리눅스에서 인쇄를 맡는 프로그램이 CUPS예요. 인쇄 요청을 대기 줄에 세워 두었다가 차례로 프린터에 보내요. 웹 브라우저로 관리 화면을 열어 프린터를 추가해요.

시험용 정의

CUPS(Common UNIX Printing System)는 리눅스의 표준 인쇄 시스템이다. IPP 프로토콜을 쓰고 631번 포트의 웹 관리 화면(http://localhost:631)에서 프린터를 추가·관리한다. 인쇄 작업은 스풀(/var/spool/cups)에 쌓였다가 차례로 출력된다.

비유로 이해하기

복사실 접수 창구다. 인쇄 요청을 번호표(작업 번호)와 함께 대기열(스풀)에 쌓아 두고 차례대로 프린터로 보낸다.

자세히

두 계열 명령이 있는 이유

유닉스는 크게 두 갈래로 발전했다. 캘리포니아 대학교 버클리의 BSD 계열과 AT&T의 System V 계열이다. 인쇄 명령도 두 갈래가 따로 만들어져서 BSD 쪽은 lpr·lpq·lprm, System V 쪽은 lp·lpstat·cancel을 썼다. 리눅스의 CUPS는 두 계열 명령을 모두 지원한다.

  • 스풀: 프린터가 한 번에 하나씩만 찍을 수 있으니 인쇄 요청을 디스크(/var/spool/cups)에 줄 세워 두는 것. 이 줄이 인쇄 대기열(큐)이다
  • IPP(Internet Printing Protocol): 네트워크로 인쇄 작업을 보내고 관리하는 표준 통신 규칙. CUPS가 631번 포트로 쓴다
  • LPRng: CUPS 이전에 쓰던 BSD 방식 인쇄 시스템

BSD 계열 vs System V 계열

기능BSD 계열System V 계열
인쇄lpr 파일lp 파일
프린터 지정lpr -P 프린터lp -d 프린터
매수lpr -#3 (또는 -# 3)lp -n 3
대기열 보기lpqlpstat (-t 전체 상태)
작업 취소lprm 작업번호cancel 작업번호
프린터 제어lpclpadmin (프린터 추가·설정)

CUPS 설정

cupsdCUPS 데몬 (systemctl restart cups)
/etc/cups/cupsd.conf서버 설정
/etc/cups/printers.conf등록된 프린터 정보
http://localhost:631웹 관리 화면
lpadmin -p 이름 -E -v 장치URI -m 드라이버명령으로 프린터 추가
lpoptions -d 이름기본 프린터 지정
system-config-printerCentOS 7 등 X 윈도에서 쓰는 GUI 프린터 설정 도구

예전 인쇄 시스템

CUPS 이전에는 BSD의 LPRng(BSD 계열 인쇄 시스템을 개선한 것)·lpd가 쓰였다. IPP(Internet Printing Protocol)는 네트워크로 인쇄 작업을 보내는 프로토콜이다. 기본 프린터는 환경 변수 PRINTER로도 지정할 수 있다.

시험에 이렇게 나와요

확인 문제

Q1. 인쇄 대기열을 확인하는 명령으로 BSD 계열은 lpq를 쓴다. System V 계열에서 같은 역할을 하는 명령은?

  1. lprm
  2. cancel
  3. lpstat
  4. lpc
정답 보기

3번 lpstat

인쇄 명령은 두 계열이 있다. BSD: lpr(인쇄) · lpq(대기열) · lprm(취소) · lpc(제어). System V: lp(인쇄) · lpstat(상태·대기열) · cancel(취소). CUPS는 두 계열 명령을 모두 지원한다.

Q2. System V 계열 인쇄 명령이 아닌 것은?

  1. cancel
  2. lp
  3. lpr
  4. lpstat
정답 보기

3번 lpr

lpr이다. BSD 계열 인쇄 명령이다. lp(인쇄), lpstat(상태), cancel(취소)은 System V 계열이다.

Q3. BSD 계열에서 인쇄 대기열의 작업을 취소하는 명령은?

  1. lpstat
  2. lpc -r
  3. cancel
  4. lprm
정답 보기

4번 lprm

lprm. System V는 cancel.

Q4. CUPS 웹 관리 도구가 사용하는 포트 번호는?

  1. 515
  2. 631
  3. 8080
  4. 9100
정답 보기

2번 631

631 (IPP). 515는 옛 LPD.

Q5. System V 계열에서 인쇄 작업을 취소하는 명령은?

  1. lprm
  2. lpq
  3. lpc
  4. cancel
정답 보기

4번 cancel

cancel. BSD는 lprm.

Q6. report.txt를 laser 프린터로 3부 인쇄하는 BSD 계열 명령은?

  1. lpr -d laser -n 3 report.txt
  2. lp -d laser -n 3 report.txt
  3. lpq -P laser report.txt
  4. lpr -P laser -#3 report.txt
정답 보기

4번 lpr -P laser -#3 report.txt

BSD: -P 프린터, -# 매수.

헷갈리기 쉬운 O·X

lpq는 인쇄 대기열을 확인하는 BSD 계열 명령이다.

정답 보기

O 맞는 설명이다.

lp 명령에서 프린터를 지정하는 옵션은 -P다.

정답 보기

X lp는 -d, lpr이 -P.

CUPS는 IPP 프로토콜을 사용한다.

정답 보기

O Internet Printing Protocol.