🖨️ 프린터 관리 (Printer Management)

리눅스의 프린팅 시스템은 크게 CUPS와 과거에 사용되던 LPRng로 나뉩니다. 현대 대부분의 리눅스 배포판은 CUPS를 표준으로 사용합니다.

프린터 시스템 및 프로토콜

  • CUPS (Common Unix Printing System): Apple이 개발한 현대적인 오픈소스 프린팅 시스템입니다.

    • 클라이언트-서버 모델로 동작하며, **IPP(Internet Printing Protocol)**를 사용하여 네트워크 프린팅을 지원합니다.
    • 사용자가 프린터 드라이버를 직접 설치할 필요 없이 네트워크를 통해 프린터를 쉽게 찾아 설정할 수 있습니다.
  • LPRng (Line Printer next generation): 리눅스 초기에 사용되던 인쇄 시스템으로, BSD 계열 유닉스의 버클리 프린팅 시스템에 기반합니다.

  • IPP (Internet Printing Protocol): HTTP를 기반으로 인터넷이나 로컬 네트워크를 통해 원격으로 인쇄 작업을 전송하고 관리하기 위한 표준 프로토콜입니다.

  • PPD (Postscript Printer Description): 프린터의 모델, 기능, 해상도 등 특정 프린터의 성능 정보를 담고 있는 파일입니다. CUPS는 이 PPD 파일을 이용해 프린터를 제어합니다.

💡 Tip IPP는 HTTP 기반이므로, HTTPS를 통한 암호화된 원격 프린팅도 가능합니다.

프린터 관련 명령어

명령어는 크게 BSD 계열과 System V 계열로 나뉩니다.

BSD 계열 (LPRng 기반)

명령어설명
lpr프린터에 인쇄 작업을 요청합니다. (예: lpr -#3 file.txt 3부 출력)
lpq프린터 큐(대기열)에 있는 작업 목록을 확인합니다.
lprm프린터 큐에 대기 중인 작업을 삭제합니다.
lpc프린터 큐를 제어하는 관리자용 명령어입니다. (시작, 중지 등)

System V 계열 (CUPS 기반)

명령어설명
lp프린터에 인쇄 작업을 요청합니다.
lpstat프린터 큐의 상태와 작업 목록을 확인합니다. (가장 중요)
cancellpstat으로 확인한 Request ID를 사용하여 대기 중인 작업을 취소합니다. (예: cancel printer-123)

GUI 프린터 설정

  • system-config-printer: CentOS 6과 7에서 사용할 수 있는 그래픽 기반 프린터 설정 도구입니다.

🔊 사운드 관리 (Sound Management)

사운드 시스템의 발전

  • OSS (Open Sound System): 초기 유닉스 및 리눅스 시스템에서 사용되던 사운드 시스템입니다. 기능이 제한적이고 하드웨어 지원에 어려움이 있어 현재는 거의 사용되지 않습니다.

  • ALSA (Advanced Linux Sound Architecture): OSS를 대체하는 현대적인 리눅스 표준 사운드 시스템입니다.

    • 다양한 사운드카드와 드라이버를 지원하며, 커널 모듈과 사용자 라이브러리로 구성되어 시스템에 깊숙이 통합되어 있습니다.

🖱️ 스캐너 및 이미징 장치 (Scanner & Imaging Devices)

핵심 프레임워크 및 애플리케이션

  • SANE (Scanner Access Now Easy): 스캐너, 웹캠 등 다양한 이미징 장치에 대한 표준화된 접근 방법을 제공하는 API 프레임워크입니다.

    • 백엔드(Backend): 실제 하드웨어를 제어하는 드라이버 부분입니다.
    • 프론트엔드(Frontend): 사용자가 스캔 작업을 할 수 있도록 그래픽 인터페이스를 제공하는 응용 프로그램 부분입니다.
  • XSANE: SANE 프레임워크를 사용하는 대표적인 GUI 프론트엔드 프로그램입니다. 스캔 설정, 이미지 미리보기 등 다양한 기능을 제공합니다.

  • Xcam: 카메라나 스캐너 같은 이미지 장치를 사용할 수 있게 해주는 또 다른 GUI 기반 프로그램입니다.