CUPS 드라이버 없는 인쇄 서버는 기존 PPD 프린터 드라이버가 있는 프린터의 프록시 역할을 합니다.

CUPS 드라이버 없는 인쇄 서버는 기존 PPD 프린터 드라이버가 있는 프린터의 프록시 역할을 합니다.

내 네트워크에서 드라이버 없는 인쇄를 사용하고 싶습니다.어디서나 IPP리눅스 사용컴퓨터 지원 시스템인쇄 시스템.

IPP 드라이버 없는 인쇄를 지원하는 네트워크 프린터가 있지만 문제가 많습니다. 하나는 특정 PDF 파일을 인쇄하지 않고, 다른 하나는 두 개 이상의 사본을 인쇄하지 않는 등입니다. 그러나 그들은 모두 기본 PPD 프린터 드라이버를 사용하여 매우 잘 인쇄합니다. 그래서 저는 자체 프린터 드라이버를 통해 네트워크 프린터에 서비스를 제공하지만 네트워크에서는 각 네트워크 프린터에 대해 완전한 기능을 갖춘 (가상?) IPP 장치로 나타나는 인쇄 서버를 네트워크에 제공하고 싶습니다.

이는 일반적으로 인쇄 서버가 네트워크 클라이언트의 드라이버 없는 IPP 인쇄 명령을 프린터 레거시 인쇄 명령으로 "변환"하므로 네트워크에는 IPPEverywhere 인쇄 대기열만 있음을 의미합니다. 기본적으로 CUPS는 드라이버 없는 프린터를 제공하기 위해 로컬 인쇄 대기열을 생성합니다.어디서나 IPP또는 PPD 파일과 함께 프린터의 이전 드라이버를 사용하십시오.

┏━━━━━━━━━━━━━┓
┃ localhost   ┃
┃   ┌───────┐ ┃                ┏━━━━━━━━━┓
┃   │ Queue │═╋════════════════┫ Printer ┃
┃   └───────┘ ┃                ┗━━━━━━━━━┛
┗━━━━━━━━━━━━━┛

이제 아이디어는 네트워크에서 드라이버 없는 프린터처럼 작동하는 인쇄 서버를 갖는 것입니다.

┏━━━━━━━━━━━━━┓                ┏━━━━━━━━━━━━━┓
┃ localhost   ┃                ┃ printserver ┃
┃   ┌───────┐ ┃ IPPEverywhere  ┃   ┌───────┐ ┃  legacy PPD driver  ┏━━━━━━━━━┓
┃   │ Queue │═╋════════════════┫   │ Queue │═╋═════════════════════┫ Printer ┃
┃   └───────┘ ┃                ┃   └───────┘ ┃                     ┗━━━━━━━━━┛
┗━━━━━━━━━━━━━┛                ┗━━━━━━━━━━━━━┛

이전 드라이버를 사용하여 프린터를 인쇄 서버에 연결하는 데 문제가 없습니다. 이는 이전 방법입니다(그러나 업스트림 CUPS 릴리스에서는 더 이상 사용되지 않고 제거될 예정임).

그런데 Android 스마트폰으로 연결하고 IPPEverywhere를 사용하여 인쇄할 수 있도록 네트워크에서 인쇄 서버를 어떻게 찾나요?

답변1

가끔 제가 사용하는 솔루션 중 일부는 네트워크의 Linux 장치에서만 작동하지만 모바일 장치용 범용 인쇄 솔루션으로는 작동하지 않습니다. 하지만 기록을 위해 공유하겠습니다. 어쩌면 커뮤니티에 최종 해결책을 얻을 수 있는 몇 가지 지침이나 답변이 있을 수도 있습니다.

프린터가 성공적으로 연결되었으며 인쇄 서버에서 인쇄할 수 있다고 가정합니다.

printserver ~$ lp -E -d myprinter /usr/share/cups/data/testprint

나는 사용한다프린터 공유인쇄 서버의 대기열에 직접 액세스할 수 있습니다. 이렇게 하려면 localhost로컬 인쇄 대기열 대신 기본 서버로 구성해야 했습니다 .

┏━━━━━━━━━━━━━┓                ┏━━━━━━━━━━━━━┓
┃ localhost   ┃                ┃ printserver ┃
┃             ┃ IPPEverywhere  ┃   ┌───────┐ ┃  legacy PPD driver  ┏━━━━━━━━━━━┓
┃             ┃════════════════╋═══│ Queue │═╋═════════════════════┫ myprinter ┃
┃             ┃                ┃   └───────┘ ┃                     ┗━━━━━━━━━━━┛
┗━━━━━━━━━━━━━┛                ┗━━━━━━━━━━━━━┛

CUPS가 설치된 인쇄 서버에서 Debian Buster를 사용하려면 공유를 활성화해야 합니다:

printserver ~$ sudo cupsctl -E --share-printers
printserver ~$ sudo cupsctl -E   # check settings

또한 CUPS가 설치된 장치의 Debian의 경우 기본 인쇄 서버를 다음에서 설정하세요 /etc/cups/client.conf.

client ~$ sudo bash -c 'echo "ServerName printserver" >> /etc/cups/client.conf'

프린터에 액세스하기 위해 해야 할 일은 이것이 전부입니다. 상태와 옵션을 확인하세요.

client ~$ lpstat -E -t
client ~$ lpoptions -E
client ~$ lpoptions -E -l

마지막 명령을 사용하면 내 컬러 프린터 lp처럼 보편적이지 않은 프린터에 대한 특수 옵션을 찾을 수 있습니다 . BRMonoColor이 예에서는 기본 색상 대신 회색으로 양면 용지 두 장을 인쇄합니다.

client ~$ lp -E -d myprinter -n 2 -o fit-to-page -o collate=true -o sides=two-sided-long-edge -o BRMonoColor=Mono ./two-pages.pdf

예를 들어 USB 프린터가 클라이언트에 로컬로 연결된 경우 문제가 발생할 수 있습니다. 에서는 해당 대기열을 볼 수 없습니다 localhost. 이 경우 환경 변수를 사용하여 언제든지 인쇄 서버를 지정할 수 있습니다 CUPS_SERVER.

client ~$ CUPS_SERVER=localhost lpstat -E -t
client ~$ CUPS_SERVER=localhost lp -E ...

인용하다:

관련 정보