별의 공부 블로그 🧑🏻‍💻
728x90
728x170

프린터(Printer)

프린팅 시스템의 개요

  • 리눅스에서 프린터를 지원해주는 인쇄 시스템
    • 초기에는 LPRng 를 기본으로 사용함.
    • 최근에는 LPRng 이외에 CUPS 라는 시스템을 추가로 사용하고 있음.
  • LPRng
    • 버클리 프린팅 시스템(Berkeley Printing System)
    • BSD 계열 유닉스에서 사용하기 위해 개발됨.
    • 라인 프린터 데몬 프로토콜(Line Printer Daemon Protocol) 사용
      • 프린터 스풀링(Printer Spooling) 지원
      • 네트워크 프린터 서버 지원
    • 명령어
      • BSD 계열 : lpr, lpq, lprm
      • System V 계열 : lp, lpstat, cancel
    • 리눅스 초기에는 다음의 도구를 사용해서 관련 설정을 하였음.
      • printtool
      • printconf
    • 설정한 정보가 저장된 파일 : /etc/printcap
    • RFC 1179로 정의되어 있음.
    • 관련 사이트 : https://www.lprng.org
  • CUPS(Common Unix Printing System)
    • 애플(Apple)이 개발한 오픈 소스 프린팅 시스템
    • 유닉스 계열 운영체제의 시스템을 프린터 서버로 사용 가능하도록 해줌.
    • 유닉스 계열 운영체제에서 프린터 형식과 형태마다 독자적으로 사용했던 장치 드라이버의 작성을 용이하게 해줌.
    • 유닉스 초기에 지원하던 특수 라인 프린터 및 포스트스크립트 프린터 뿐 만 아니라 매킨토시, 윈도우 등 시판되는 대부분의 프린터를 유닉스 계열 운영체제에서 사용할 수 있도록 지원함.
    • HTTP 기반의 IPP(Internet Printing Protocol) 을 사용함.
    • SMB 프로토콜도 부분적으로 지원함.
    • 관련 명령어도 BSD 계열 System V 계열 모두 사용 가능함.
    • 사용자 및 호스트 기반의 인증을 제공함.
    • 웹 서버의 Common Log Format 형태의 로그 파일을 제공함.
    • lpadmin이라는 명령을 이용하여 웹 상에서도 제어 가능함.
    • 제공하는 장치 드라이버는 Adobe  PPD(Postcript Printer Description) 형식의 텍스트 파일을 이용하여 설정 가능
    • 관련 사이트 : https://www.cups.org

 

CUPS 관련 파일

파일 설명
/etc/cups/cupsd.conf - CUPS 프린터 데몬의 환경 설정 파일
- 기본 문법이 아파치httpd.conf 와 유사함.
/etc/cups/printers.conf - 프린터 큐 관련 환경 설정 파일
- lpadmin 명령을 이용하거나 웹을 통해 제어할 수 있음.
/etc/cups/classes.conf - CUPS 프린터 데몬의 클래스(Class) 설정 파일

 

프린터 관련 명령어

  • BSD 계열 : lpr, lpq, lprm, lpc 등
  • System V 계열 : lp, lpstat, cancel

대부분의 배포판에서는 이 두 계열의 명령어를 모두 지원한다.

 

프린터의 설정

  • 레드햇 계열 리눅스는 초기에 printtool, printconf 와 같은 유틸리티를 사용하였지만, redhat-config-printer를 거쳐 CentOS 6 버전부터는 system-config-printer 를 사용한다.
# system-config-printer

 

 

lpr

  • 프린터 작업을 요청하는 명령어

 

사용법

# lpr [option] [파일명]

 

주요 옵션

옵션 설명
-# 값 인쇄할 매수(1-100)를 지정하는 옵션
-m 작업이 완료되면 관련 정보를 E-mail로 전송함.
-P 프린터명 기본 설정된 프린터 이외에 다른 프린터를 지정할 때 사용
-T 타이틀 페이지에 들어갈 타이틀명 설정
-r 출력한 뒤에 지정한 파일 삭제
-l 필터링 없이 직접 보냄.

 

사용 예

예 1
  • test.txt 문서를 lp라는 이름을 가진 프린터로 2장 출력
# lpr -# 2 -P lp test.txt

 

예 2
  • cat 명령과 파이프를 이용하여 출력할 수 있음.
# cat test.txt | lpr
  • 직렬 포트에 직접 프린터가 연결된 경우
    • 장치 파일명리다이렉션 기호(>)를 사용해 출력할 수 있음.
# cat test.txt > /dev/lp0

 

예 3
  • pr 명령과 파이프를 이용하여 출력할 수 있음.
# pr -l80 test.txt | lpr

 

예 4
  • test.txt 문서 파일을 출력한 뒤에 삭제
# lpr -r test.txt

 

 

lpq

  • 프린터 큐(Queue)에 있는 작업의 목록을 출력하는 명령

 

사용법

# lpq [option]

 

주요 옵션

옵션 설명
-a 설정되어 있는 프린터의 작업 정보 출력
-l 출력 결과를 자세하게(Long Format) 출력
-P 프린터명 특정 프린터를 지정할 때 사용

 

사용 예

  • 프린터 큐의 작업 목록 출력
# lpq

 

 

lprm

  • 프린터 큐에 대기 중인 작업을 삭제하는 명령
  • 취소할 프린트 작업의 번호를 입력한다.
    • 작업 번호를 명시하지 않을 경우, 가장 마지막에 요청한 작업을 취소한다.

 

사용법

# lprm [option] [파일명]

 

주요 옵션

옵션 설명
- 프린터 큐에 있는 모든 작업 취소
-U 사용자명 지정한 사용자의 인쇄 작업 취소
-P 프린터명 특정 프린터를 지정할 때 사용
-h 서버[:port] 지정한 서버의 인쇄 작업 취소

 

사용 예

예 1
  • 작업 번호 3의 프린트 작업 취소
# lprm 3

 

예 2
  • 현재 사용자가 수행한 인쇄 작업 모두 취소
# lprm -

 

 

lpc

  • 라인 프린터 컨트롤 프로그램(Line Printer Control Program)
  • 프린터나 프린터 큐를 제어할 때 사용
  • 보통 lpc 라는 명령을 실행한 뒤에 지정한 명령어를 사용한다.

 

사용법

# lpc

 

주요 명령

옵션 설명
disable 새로운 프린트 작업을 할 수 없도록 함.
enable 프린트 작업을 가능하게 함.
down 지정한 프린터를 사용할 수 없게 함.
up 모든 환경을 활성화시키고, 관련 데몬을 새롭게 구동함.
help, ? 사용 가능한 명령 출력
quit, exit 명령 종료

 

사용 예

  • 최근 배포판에서 사용하는 CUPS 기반의 lpc 명령은, BSD 계열의 모든 명령을 지원하지 않고 상태 정보만 확인할 수 있음.
# lpc
lpc> help
Commands may be abbreviated.  Commands are:

exit    help    quit    status  ?
lpc>

 

 

lp

  • System V 계열에서 사용하는 인쇄 명령
  • BSD 계열lpr 명령과 유사함.

 

사용법

# lp [option] [파일명]

 

주요 옵션

옵션 설명
-d 다른 프린터를 지정
-n 인쇄할 매수 지정 (1-100)

 

사용 예

예 1
  • /etc/passwd 파일의 내용 출력
# lp /etc/passwd

 

예 2
  • /etc/passwd 파일의 내용 2매 출력
# lp -n 2 /etc/passwd

 

 

lpstat

  • System V 계열에서 사용하는 인쇄 명령
  • 프린터 큐의 상태를 출력해주는 명령

 

사용법

# lpstat [option]

 

주요 옵션

옵션 설명
-p 프린터의 인쇄 가능 여부 출력
-t 프린터의 상태 정보 출력
-a 받아들이는 요청들의 상태 출력

 

사용 예

예 1
  • 프린터 큐의 상태 출력
# lpstat

 

예 2
  • 프린터의 상태 출력
# lpstat -p

 

 

cancel

  • System V 계열에서 사용하는 인쇄 명령
  • 프린터 작업을 취소하는 명령
  • 먼저 lpstat를 이용하여 요청 ID(Request-ID)를 확인해야 한다.

 

사용법

# cancel 요청-아이디

 

주요 명령

옵션 설명
-a 모든(All) 인쇄 작업 취소

 

사용 예

  • 요청 아이디가 printer-7인 작업 취소
# cancel printer-7
728x90
그리드형(광고전용)
⚠️AdBlock이 감지되었습니다. 원할한 페이지 표시를 위해 AdBlock을 꺼주세요.⚠️
starrykss
starrykss
별의 공부 블로그 🧑🏻‍💻


📖 Contents 📖