Printing/ko

이 문서는 CUPS 및 삼바를 활용하여 프린터 설치 및 관리를 다릅니다. 로컬 및 네트워크 설치를 다루며 다른 운영체제의 공유 프린터를 다루는 방법도 있습니다. 문서 인쇄시 명령 또는  명령을 활용하는 방법을 알아보시려면, 업스트림 CUPS의 최적 문서en 를 살펴보십시오.

올바른 도구 활용
리눅스에서는 어마어마한 인쇄기능을 갖추고 있습니다. 작업을 수행할 올바른 도구는 CUPS(Common Unix Printing System)입니다. 프로젝트를 시작하던 1999년으로 돌아가보자면 CUPS 설치 및 관리 체계가 기가막히게 바뀌었습니다.

이 문서에서는 CUPS 활용법에 있어 로컬, 네트워크 프린터 설정 방법을 다룹니다. 프로젝트 웹 사이트에 고급 사용법을 다루는 갱장한 문서en 가 있으므로 이 문서에서는 언급한 이상은 다루지 않겠습니다.

커널
사용자가 시스템에 프린터를 설치하려 할 때, 우선 해야 할 일은 시스템에 프린터가 어떻게 붙었는지 파악하는 일입니다.LPT 또는 USB 로컬 포트로 연결했나요? 네트워크로 연결했나요? 네트워크로 연결했다면 Internet Printing Protocol(IPP)로 연결했나요? 아니면 마이크로소프트 윈도우 CIFS 프로토콜(마이크로소프트 윈도우 공유)로 연결했나요?

다음 일부 섹션에서는 젠투에 연결한 프린터를 동작하게 하기 위해 최소한 어떤 커널 설정이 필요한지 설명합니다. 물론 시스템에 프린터가 어떻게 붙어있느냐에 따라 다르므로 절차 편의성이 달라집니다.

로 이동한 후 를 실행하여 커널 설정 화면으로 진입하십시오. 커널을 설정할 때 을 사용한다면, 빠진 과정이 없는지 확인하는 과정도 거쳐야 합니다. 모든 시스템 설정을 자동으로 설정하는 genkernel에 너무 기대지 마십시오. 인쇄라는건 자동으로 설정하기 어려운 설정 영역입니다.

다음 설정 예제에서는, 필요한 기능을 모듈이 아닌 커널에 포함한 형태로 추가합니다. 이런 방식으로 커널을 빌드하는건 필수 과정이 아닙니다. 모듈 방식 기능 추가가 쉽다면 적절한 모듈을 불러오는지 확인하는 과정을 기억하십시오!

이제 적절한 섹션으로 넘어가서 커널을 설정(또는 설정 확인)하십시오.

로컬 연결 프린터(LPT)
LPT 포트는 보통 병렬 프린터 포트로 식별하는 용도로 사용합니다. 우선 병렬 포트 지원을 활성화한 후, 어떤 병렬 프린터 지원을 활성화 하느냐에 따라 (SPARC 시스템을 활용하지 않는 한) PC-style parallel port support를 활성화해야합니다.

끝났습니다! 커널 설정을 빠져나온 후 다음 명령으로 커널을 다시 빌드하십시오:

이제 CUPS 설치 및 설정 과정으로 계속 진행하십시오.

로컬 연결 프린터(USB)
USB 인쇄는 USB 플래그를 활성화한 CUPS에서 지원합니다. 사용자 영역 USB 기능을 지원하는 libusb 라이브러리를 활용합니다.

일부 오래된 프로그램은 커널에 내장한 USB 프린터 지원 기능이 필요할 수도 있습니다. 모듈로 빌드한다면 가 됩니다:

그러나 커널 내장 USB 프린터 지원 기능은 오래됐습니다. 정말 필요한 경우에만 사용하십시오.

원격 연결 프린터(IPP와 LPD)
IPP(인터넷 인쇄 프로토콜) 또는 LPD(라인 프린터 데몬) 프로토콜en 로 원격 프린터에 연결하려면 커널에 네트워크 지원 기능을 넣어야합니다. 커널을 이미 빌드했다면 CUPS 과정을 계속 진행하십시오.

원격 연결 프린터(CIFS)
커널에 CIFS 지원기능을 추가 해야합니다:

CIFS 설정이 끝나면 커널 설정을 빠져나간 후 커널을 다시 빌드하십시오. 위치에 새 커널 이미지를 복사(필요하다면 마운트를 잊지 마십시오)하고 시스템을 다시 부팅하기 전에 부트로더 설정을 업데이트하십시오. 참고로 LPT 프린터 설정 과정의 루트 명령은 과정을 처리하기 위해 위에서 언급했습니다.

이제 다음 CUPS 설치 과정으로 계속 진행하겠습니다.

USE 플래그
CUPS에는 흥미로운 몇가지 추가 기능이 있습니다. 이 기능을 활성화하거나 끄려면 관련 USE 플래그를 사용하십시오.

현재 USE 플래그 설정을 확인하십시오. CUPS에서만 사용하는 현재 USE 플래그 설정에서 벗어나려면, 파일에 적당한 USE 플래그를 추가하십시오.

Emerge
결과에 만족한다면 포티지에 CUPS 설치를 요청하십시오:

Samba
SAMBA 지원을 활성화하려면, 를 설치할 때 CUPS 지원 기능을 넣어야합니다. 파일 또는 디렉터리를 업데이트하여 USE 플래그를 활성화하십시오:

그리고 삼바를 (다시) 설치하십시오:

Avahi
CUPS uses Avahi internally when built with the  USE flag to scan for printers on the local network. To use Avahi hostnames to connect to networked printers, set up .local hostname resolution and restart the CUPS service. CUPS and cups-filters need to be built with the  USE flag as well. Use the command for listing available printers.

인쇄 그룹
인쇄하려는 사용자는  그룹에 추가해야합니다:

프린터를 추가하고 CUPS 웹 인터페이스로 편집할 수 있게 하려면, 이 설정을 편집하도록 허용할 사용자를 lpadmin 그룹에 넣어야합니다:

OpenRC
프린터를 시스템에 연결했고, 매번 부팅할 때마다 프린터를 사용해야한다면, 시스템을 부팅할 때 CUPS 데몬을 자동으로 시작해야합니다. CUPS 데몬을 시작하기 전에 프린터를 연결하고 전원을 켰는지 확인하십시오.

systemd
CUPS 데몬을 바로 시작하고 시스템을 부팅할 때 시작하도록 하려면 다음 명령을 실행하십시오:

HTTP 인터페이스
서비스를 시작하고 나면, 프린터를 인증 사용자가 추가할 수 있습니다. 루트는 당연히 기본으로 사용할 수 있고 lpadmin 그룹에 있는 구성원도 가능합니다. 다음 URL을 웹 브라우저에서 열어보십시오:

http://localhost:631/

파일
에 있는 기본 CUPS 서버 설정은 대부분 사용자에게 충분합니다. 허나, 일부 사용자에게는 CUPS 설정을 바꾸어야합니다.

다음 섹션에서는 주로 필요한 몇가지 변경 설정을 다룹니다:


 * 다른 시스템에서 이 리눅스 워크스테이션에 붙은 프린터를 사용할 수 있게 함.
 * CUPS 관리를 원격 시스템에서 할 수 있도록 접근 허용.
 * CUPS에서 윈도우 PCL 드라이버를 지원하도록 설정합니다. 대부분 윈도우 드라이버가 PCL 드라이버이기 때문에, 윈도우 시스템에서 SAMBA 공유 프린터를 쓸 수 있게 하려면 이 설정을 처리하는게 좋습니다.
 * 다른 시스템(윈도우 공유 아님)에 연결한 프린터를 이 시스템에서 사용하도록 설정.

원격 프린터 접근
다른 시스템에서 IPP를 통해 프린터를 사용하게 하려면, 프린터에 명백하게 접근하는 행위를   파일에서 허용해야합니다. SAMBA를 통해 프린터를 공유한다면 이 과정은 필요하지 않습니다.

원하는 텍스트 편집기에서  파일을 열고 시스템이 프린터에 연결할 수 있도록   줄을 추가하십시오. 다음 예제에서는 으로 시작하는 IP 주소를 가진 시스템과 localhost 에서의 프린터 접근을 허용합니다.

이 줄은 네트워크에 있는 클라이언트에게 탐색 정보를 공개합니다. 네트워크의 사용자에게 프린터를 언제 사용할 수 있는지 알려줍니다:

CUPS가 감청하는 포트를 지정하여 네트워크의 다른 머신에서 인쇄를 요청했을때 응답할 수 있게 해야합니다:

The CUPS server reject a hostname or server alias in the HTTP request with "Bad request" message. It works with IP-addresses by default. So if you want to print or browse CUPS interface by using a hostname or domain, add the ServerAlias parameter:

CUPS 원격 관리
원격 관리가 필요하다면, localhost가 아닌 다른 시스템의 CUPS 관리 페이지 접근을 허용해야합니다. 파일을 편집하여 접근이 필요한 각 시스템의 접근을 분명하게 허용하십시오. 예를 들어 192.168.0.3 IP 주소를 가진 시스템의 접근을 허용하려면:

파일의 설정을 바꾼 후 명령을 실행하여 CUPS 데몬을 재시작하는 과정을 잊지 마십시오.

윈도우 PCL 드라이버 지원 활성화
PCL 드라이버는 프린터 서버에 RAW 데이터를 보냅니다. CUPS에서 RAW 인쇄를 활성화하려면 를 편집하여  부분의 주석 표시가 아직 남아있으면 주석 표시를 없애십시오. 그 다음 를 편집하여 주석 처리가 빠져있지 않으면 같은 조치를 취하십시오.

설정을 바꾸고 나면 명령으로 CUPS 데몬을 재시작하는 과정을 잊지 마십시오.

원격 프린터 설정
CUPS를 가동중인 원격 서버에 프린터를 연결했다면 파일을 수정하여 원격 프린터를 사용할 수 있게 쉽게 설정할 수 있습니다.

시스템에 프린터를 연결했다면, 원하는 텍스트 편집기에서 파일을 열고   지시문을 설정하십시오:

원격 시스템은 앞으로 사용할 기본 프린터 설정을 보유했습니다. 기본 프린터를 바꾸려면 명령을 사용하십시오.

우선 존재하는 프린터를 확인하십시오:

HP LaserJet 5P를 기본 프린터로 설정하십시오:

도입부
(CUPS를 가동중인) 다른 인쇄 서버에서 원격으로 사용할 수 있게 프린터를 설정했다면 다음 과정 진행은 필요하지 않습니다. 대신 원격 프린터 설정을 읽어보십시오.

프린터 찾기
리눅스 시스템을 부팅할 때 USB 프린터 또는 병렬 포트 프린터의 전원을 켰다면 프린터 발견을 성공적으로 시작할 무렵 커널에서 정보를 받아올 수 있습니다. 이런 과정은 프린터를 발견할 때의 일이며 필요하지 않습니다.

USB 프린터에게는:

Listing available drivers
사용할 수 있는 모든 드라이버를 확인하려면 다음 명령을 실행하십시오:

는 친절하지가 않아 활용하는데 조금 까다로울 수 있습니다. 어떤 문제가 나타날 경우, 자세한 정보는 에서 확인하십시오.

프린터 설치
시스템에 프린터를 설치하려면, 브라우저를 실행한 후 http://localhost:631 주소로 들어가십시오. 모든 관리 작업을 수행할 수 있는 CUPS 웹 인터페이스가 나타나야합니다.

으로 이동한 후 루트 로그인 이름 및 암호 정보를 입력 상자에 넣으십시오. 그 다음 관리 인터페이스에 들어가면 를 누르십시오. 다음 정보를 입력하게 해주는 새 화면이 나타납니다:


 * spooler name은 짧지만 프린터를 식별할 때 시스템에서 사용하며 사람이 알아볼 수 있는 이름입니다. 이 이름은 공백 또는 특수문자가 들어가면 안됩니다. 예를 들어, HP LaserJet 5P는  이름을 붙일 수 있습니다.
 * location은 프린터가 실제로 위치한 장소의 설명입니다(예: "침실", "주방 식기 세척기 옆", 등.)
 * description은 프린터에 대한 완전한 설명이 들어갑니다. 보통 (HP LaserJet 5P 처럼) 프린터의 전체 이름이 들어갑니다.

다음 화면에서는 프린터 작업을 대기할 장치를 요청합니다. 몇가지 장치가 나타납니다. 다음 표에서는 일부 장치를 다루지만, 충분히 나타낸 목록은 아닙니다.

원격 프린터를 설치한다면 프린터 URL을 요청합니다:


 * LPD 프린터 서버는  문법이 필요합니다.
 * HP JetDirect 프린터는  문법이 필요합니다.
 * IPP 프린터는  또는   문법이 필요합니다.

그 다음 인접 화면에서 프린터 제조사를 선택하고, 모델 형식 및 모델 번호를 그 다음 화면에서 선택하십시오. 대부분의 프린터에 대해 여러가지 드라이버가 있습니다. 하나를 선택하든지 OpenPrinting 프린터 목록en 에서 바람직한 드라이버를 찾아보십시오. 드라이버는 나중에 쉽게 바꿀 수 있습니다.

드라이버를 선택하고 나면, CUPS에서 시스템에 프린터를 성공적으로 추가했다고 알려줍니다. 관리 인터페이스에서 프린터 관리 페이지를 찾아 를 선택하고 프린터 설정을 바꾸십시오(용지 크기, 페이지 형식, 등).

프린터 시험 및 재설정
프린터가 제대로 동작하는지 확인하려면, 프린터 관리 페이지로 가서 프린터를 선택하고 를 누르십시오.

프린터가 제대로 동작하는 것 같지 않다면, 를 눌러 프린터를 다시 설정하십시오. 처음 설치 화면과 비슷한 화면이 나타나겠지만, 이제 기본 화면은 현재 설정 화면입니다.

프린터가 동작하지 않으면 사람들은 아마 다음 예제의 에 있는 CUPS 오류 기록을 찾아보고, 파일에 설정한 잘못된  설정을 발견하여,  아 권한 오류구나 하는걸 알아낼 것입니다.

최상의 드라이버 설치
여러가지 프린터 드라이버가 있지만 어떤 드라이버가 가장 성능이 좋은지 찾아보려면 OpenPrinting 프린터 목록en 을 방문하십시오. 프린터의 브랜드, 형식/모델을 선택하여 사이트에서 추천하는 드라이버를 찾으십시오. 예를 들어 HP LaserJet 5P 프린터에 대해서는 사이트에서  드라이버를 추천합니다.

사이트에서 PPD 파일을 다운로드하여 에 복사한다음 를 루트 권한으로 실행하십시오. 이 절차를 통해 CUPS 웹 인터페이스에서 드라이버를 사용할 수 있습니다. 이제 위에 설명한대로 프린터를 다시 설정하십시오.

Enabling job accounting in for Xerox printers
High-end Xerox printers (often a gray, cabinet sized device) use XCPT PDL, and XML based, and poorly documented XPIF ticketing instruction format.

XCPT filter in Cups never made it to a release grade, and the work on it was eventually dropped and all XPIF must be input into a PPD manually. Luckily, it's largely a direct copy of IPP, using XML syntax. After peeking into docs available online, we can craft an arbitrary XPIF command using corresponding IPP attributes.

To configure XPIF solely for ticketing/accounting, drop the following into any PPD:

It will draw a dropdown box in any printing ui compliant with CUPS PPD extensions to enter the id.

The long term solution would still be for Xerox to fully publish XPIF, and XCPT specifications, to allow for a proper XPIF cups filter to be developed.

도입부
일부 프린터는 특정 드라이버가 필요하거나 일반 설치 과정을 통해 활성화할 수 없는 추가 기능을 제공(위에 설명함)해야합니다. 이 장에서는 젠투 리눅스에서 선정한 프린터를 언급하고 동작하게 하는 방법을 다루겠습니다.

Gutenprint 드라이버
gutenprint 드라이버는 Canon, Epson, HP, Lexmark, Sony, Olympus 등 CUPS에서 지원하는 다양한 PCL 프린터에 대한 고품질, 공개 소스 코드 기반 프린터 드라이버입니다. ghostscript, GIMP 및 기타 프로그램도 지원합니다.

젠투 포티지 트리에는 gutenprint 드라이버 이빌드가 있습니다. 설치하려면 를 설치하십시오. 참고로 이빌드에서는 USE 플래그를 요청합니다. gutenprint 드라이버가 제대로 동작하려면 최소한  와  를 활성화해야합니다.

이머지 과정을 끝냈으면 gutenprint 드라이버를 CUPS 웹 인터페이스에서 사용할 수 있습니다.

HPLIP 드라이버
HPLIP 드라이버en 를 참고하십시오.

Lexmark driver
Most Lexmark printers are handled by their "Universal Printer Driver":

Once this is installed, there is a single Lexmark driver available in the CUPS setup wizard that should work with most printers and MFDs.

PNM2PPA 드라이버
PPA는 프린터 제조 단가를 낮추는 대신 시스템 자원을 많이 먹는 시스템 하위 수준 처리 전송에 역점을 둔 HP 기술입니다.

OpenPrinting 사이트에서 pnm2ppa 드라이버가 최상의 옵션이라고 안내한다면 시스템에 필터를 설치해야합니다:

설치하고 나면 OpenPrinting에서 사용할 프린터용 PPD 파일을 다운로드하여 폴더에 복사하십시오. 다음 위에서 설명한 과정대로 프린터를 설정하십시오.

SpliX 드라이버
SpliX 는 SPL (Samsung Printer Language) 프린터용 CUPS 프린터 드라이버 모음입니다. SpliX 드라이버가 OpenPrinting 에 있긴 하지만 꾸러미는 포티지에서 관리하며 드라이버를 신속하게 설치합니다. 설치를 진행하려면 다음 명령을 실행하십시오:

그리고 를 다시 시작하십시오.

브라더 프린터 드라이버
Brother 네트워크 프린터를 참고하십시오.

Canon printer drivers
See the specific pages:
 * Canon CAPT drivers
 * Canon Pixma drivers

IPP 윈도우 클라이언트 설정
마이크로소프트 윈도우에서는 IPP를 지원합니다(윈도우 9x 및 me 사용자는 해당 프로토콜을 따로 설치해야합니다). 리눅스 머신에 연결한 프린터를 윈도우에 설치하려면 마법사를 실행한 후 를 선택하십시오. URI를 물어보면,  문법을 활용하십시오.

삼바 공유 프린터의 윈도우 클라이언트 설정
CIFS 네트워크의 프린터를 공유하려면 SAMBA를 설치하고 올바르게 설정해야합니다. 이 과정은 이 게시글의 주제를 벗어나지만 공유 프린터 설정에 대한 SAMBA 의 간편 설정방법을 다루겠습니다.

선호하는 텍스트 편집기로 파일을 열고 이 파일에   섹션을 추가하십시오:

섹션에 들어가기 전까지 파일 상단을 탐색해보십시오. 과  설정을 가리키고 각 설정을  로 설정하십시오(하단 예제 참고):

CUPS에서 윈도우 PCL 지원을 활성화했는지 확인하십시오. 그 다음, 바뀐 설정을 적용하도록 smb 서비스를 다시 시작하십시오.

윈도우 인쇄 서버용 리눅스 클라이언트 설정
우선 윈도우 시스템에서 프린터를 공유했는지, (위 절차대로)  USE 플래그를 활성화한 상태에서 를 이머지했는지 확인하십시오.

원하는 프린터 URI를 찾으려면, 다음 명령을 실행하십시오. 는 삼바 공유 프린터를 식별하는 컴퓨터를 말합니다:

CUPS 웹 인터페이스에서 앞서 설명한대로 프린터를 설정하십시오. CUPS에는 라는 다른 드라이버를 추가했습니다. 이 드라이버를 선택하고  또는   URI 주소로 접속하십시오.

도입부
프린터 설정 과정을 도와주는고, 추가 인쇄 필터를 활용하며, 인쇄 기능을 추가하는 도구는 여러가지가 있습니다. 이 장에서는 이 중 몇가지만 다루겠습니다. 앞으로 다룰 목록은 완전하지 않으며 각 도구에 대한 내용은 상당히 자세한 수준으로 다루지 않습니다.

Gtk-LP - Gtk-기반 프린터 설정 도구
꾸러미를 활용하면, 프린터의 설치, 수정, 설정을 독립 GTK 프로그램에서 처리할 수 있습니다. 이 프로그램은 CUPS를 활용하며 표준 CUPS 기능을 제공합니다. CUPS 웹 인터페이스를 싫어하거나 일일 인쇄 작업을 처리하는 단일 프로그램을 찾으신다면 이 프로그램이 제격입니다.

다음 명령으로 설치하십시오:

KDE 4용 프린터 설정 도구
KDE 4에는 라고 하는 프린터 설정 도구도 있습니다. CUPS와 동작하며 사용자에게 익숙한 프린터 설정 인터페이스가 있습니다. 다음 명령으로 설치하십시오:

USE 플래그
USE 플래그로 설치한 꾸러미를 수정해야합니다. 파일을 검색하여  플래그를 분명히 적용한 꾸러미가 있는지 확인하고 플래그를 제거하십시오.

다음, 앞선 과정에서 의 USE 변수에  값을 설정했다면 제거해야합니다.

Unmerge
마지막으로, CUPS를 제거한 후 더 이상 필요하지 않은 시스템의 꾸러미를 정리하십시오.

Debugging
See archlinux wiki

Error: Unable to convert file 0 to printable format
인쇄에 문제가 있고 파일에 다음 메시지가 나타난다면:

에  USE 플래그를 활성화 한 상태에서 다시 이머지하십시오. 의 시스템 USE 플래그 설정에  를 추가하거나 다음과 같이 ghostscript-gpl 전용으로 활성화할 수 있습니다:

위의 과정이 끝났으면 을 실행하십시오. 컴파일 과정이 끝나면, 를 다시 시작하십시오:

OpenRC를 활용할 때:

systemd를 활용할 때:

USB Printer is not detected
Assuming that cups is built with the  USE flag, verify that the printer's character device has the correct permissions. For example:

There should be a character device for this printer at.

In this example, over-zealously modified the permissions. This is. Lets try fixing them:

Now we should see:

The printer likely is detected now. You should be able to add it, configure it (provided that you have a working driver) and print a test page. This implies a permissions problem. Assuming that your system uses udev/eudev for managing its /dev directory, you can make this change permanent by making a udev file:

Our device is "ID 04e8:3297" according to the earlier lsusb output. We split that into idVendor and idProduct as demonstrated in the example. Now udev should ensure that the correct permissions are set at every boot and at every hotplug.

외부 자료

 * 네트워크 프린터 사용법en - CUPS.org 문서.
 * 명령행 인쇄와 옵션en - CUPS.org 문서.