여러 프린터를 지원하는 소프트웨어를 작성 중입니다. 테스트하려면 CUPS 서버에 여러 대의 프린터를 추가해야합니다. 어떻게해야합니까?
작업을 / dev / null로 직접 보낼 가짜 프린터를 몇 개 추가하고 싶습니다. 이렇게하면 CUPS 인터페이스에서 "완료된 작업"목록을보고 소프트웨어가 각 작업에 올바른 프린터를 사용하고 있는지 확인할 수 있습니다.
여러 프린터를 지원하는 소프트웨어를 작성 중입니다. 테스트하려면 CUPS 서버에 여러 대의 프린터를 추가해야합니다. 어떻게해야합니까?
작업을 / dev / null로 직접 보낼 가짜 프린터를 몇 개 추가하고 싶습니다. 이렇게하면 CUPS 인터페이스에서 "완료된 작업"목록을보고 소프트웨어가 각 작업에 올바른 프린터를 사용하고 있는지 확인할 수 있습니다.
답변:
한 가지 해결책은 cups-pdf 를 설치하는 것 입니다. PDF 파일을 작성하는 가상 프린터를 추가합니다. 웹에서 설치 및 구성 방법에 대한 여러 학습서가 있습니다. 젠투를 사용하기 때문에 젠투 위키를 읽었으며 Sabayon 위키 도 언급하고 있습니다 .
cups-pdf 가상 프린터는에 구성 파일이 있으며 /etc/cups/cups-pdf.conf
기본적으로 모든 PDF 파일이에 기록됩니다 /var/spool/cups-pdf/${USER}
.
(NB : 우분투에서는 ~ / PDF /에 씁니다)
그러나 몇 가지 제한 사항이 있습니다.
하나의 구성 파일 만 있기 때문에 여러 PDF 프린터가 동일한 디렉토리에 저장됩니다.
"원시"데이터를 인쇄 할 수 없습니다 (예 :) lpr -o raw
. PDF 파일을 원시 작업으로 보내도 작동하지 않습니다. 원시 인쇄 작업은 빈 페이지만으로 빈 PDF 파일을 생성합니다.
이러한 한계에도 불구하고 그것은 내 요구에 완벽하게 작동합니다.
각주 : 사용자가 Gnome을 사용하거나 GTK + 응용 프로그램을 통해 인쇄하는 경우 인쇄 대화 상자에 "파일로 인쇄"의사 프린터가 이미 있습니다. 따라서 사용자가 여전히 가상 PDF 프린터를 추가해야하는 이유는 무엇입니까? 몇 가지 이유는 다음과 같습니다.
컵스 포럼에는이 질문에 대한보다 완전하고 정확한 답변이 있습니다.
대답은 장치 URI를 file : / dev / null로 설정해야한다는 것입니다.
내 우분투 설정에서 :
어느 것이나 완벽하게 작동합니다.
컵 포럼을 다시 검색하여 다음을 발견했습니다.
cupsd.conf에서 :
FileDevice yes
설정 프린터
lpadmin -p nowhere -E -v file:/dev/null
테스트 프린터
who |lp -d nowhere
wine
있었습니다.
다음 /dev/null
과 lpadmin
같이 출력되는 프린터를 만들 수 있습니다 .
$ sudo lpadmin -p myprinter -E -v file:///dev/null
이 문서는으로 작성 /etc/cups/printers.conf
되지만 다음을 사용하여 프린터를 볼 수도 있습니다 lpstat
.
$ sudo lpstat -s
myprinter accepting requests since Thu 22 Jan 2015 11:04:46 AM GMT
system default destination: myprinter
device for myprinter: ///dev/null
참고 당신이 오래된 리눅스 배포판에 /etc/cups/cupsd.conf 파일에 FileDevice를 활성화해야합니다 .
새 프린터를 기본 프린터로 설정하려면 lpoptions
다음을 사용하십시오 .
$ sudo lpoptions -d myprinter
lpadmin -x myprinter
또는 웹 인터페이스.
가장 좋은 해결책 중 하나는를 사용하는 것 ippserver
입니다. 그 이상으로 제공됩니다 CUPSv2.2.2
. 또는 여기에서 프로젝트를 얻을 수 있습니다 : IPP 샘플 구현 .
매뉴얼 페이지 의 설명에 따르면 :
ippserver는 IPP Everywhere 및 IPP INFRA (공유 인프라 확장) 사양을 준수하는 간단한 IPP (Internet Printing Protocol) 서버입니다. INFRA 사양을 준수하는 표준 IPP 클라이언트와 IPP 프록시 간의 독립형 인쇄 서버 및 / 또는 매우 기본적인 인프라 서버로 사용할 수 있습니다.
사용하려면 run을 실행 ippserver "My cool printer"
하면 이름 My cool printer
을 가진 가상 프린터가 만들어 집니다. 웹 서버처럼 실행되며 특정 포트에서 수신 대기합니다.
여러 개의 프린터가 필요한 경우을 사용하여 여러 포트에서 서버를 실행할 수 있습니다 ippserver "My other cool printer" -p 8888
.
속성 파일을 사용하여 프린터 속성을 제공 할 수도 있습니다. 예를 들어, 프린터는 기본적으로 고품질 인쇄를 지원하므로 속성 파일에 다음 속성을 추가 할 수 있습니다.
ATTR enum print-quality-default high
다음을 사용하여 서버를 실행하십시오.
ippserver "My high quality cool printer" -a attributes-file.txt
참고 문헌 :
http://inai.de/linux/adm_virtualprinter 에서 가져 왔습니다 .
CUPS의 가상 프린터
CUPS에서 데이터를 어디에도 보내지 않는 프린터를 만드는
/dev/null
방법은 여러 가지가 있습니다. 이 페이지는socket://
방법을 사용합니다 .xinetd를 먼저 설정하십시오
필요한 것은 포트 9의 TCP 폐기 서비스입니다. Xinetd에는 기본 제공 기능이 있으므로이를 사용할 수 있습니다. xinetd의 설정 파일에서 일반적으로 다음 정의를 사용할 수 있는지 확인하십시오
/etc/xinetd.d/discard
. 다음과 같은 서비스를 포함해야합니다.서비스 폐기 유형 = 내부 id = 폐기 스트림 socket_type = 스트림 프로토콜 = tcp 사용자 = 루트 기다림 = 아니오 비활성화 = 아니오 플래그 = IPv6 IPv4실행rcxinetd reload
구성 파일을 다시 읽도록하고 새로운 활성화discard
서비스. 또는rcxinetd start
xinetd가 아직 활성화되지 않은 경우 사용 하십시오.CUPS 프린터
이제 CUPS 웹 프론트 엔드로 이동하여 새 프린터를 추가하십시오. 대상
socket://localhost:9/
으로 프린터는 "HP 2500C Foomatic / pcl3"과 같이 기능이 뛰어난 것을 선택하십시오. 그것이 전부입니다.