Ghostcript/Netatalk 사용 방법(Mike Pearson 소개)지금까지 이 문제의 해결을 위해서 많은 노력을 해 왔고 포기도 했었습니다만 이제 드디어 그 성공을 이루었습니다. 제가 만든 이 방법을 시험하고 싶은 분들을 위해서 다음에 간단한 설명을 드립니다.
이 아이디어는 netatalk를 통해 리눅스에 연결된 비 포스트스크립트 프린터를 사용한다는 것입니다. 즉, 고스트스크립트를 통해서 완전한 능력을 가진 포스트스크립트 프린터를 만든 다는 것입니다.
Procedure:
이 방법은 아주 저렴하게 양질의 컬러 포스트스크립트 프린터를 갖게 해 줍니다.apsfilter 패키지를 사용하면 리눅스에서 논-포스트스크립트를 쉽게 만들 수 있기 때문에 이 방법도 또한 쉽다고 할 수 있습니다. 먼저 apsfilter를 /etc/printcap에 이프 필터로 인스톨 시키면 이것이 알아서 프린팅될 파일을 준비하기 위해서 필요한 필터를 시작시켜 줍니다.
그래서 저는 apsfilter가 포스트스크립트 파일을 검색해 준다는 의미에서 스크립트를 고스트 스크립트라고 이름 붙였습니다. 현재 이 스크립트의 버전은 2.6.1입니다. 이에 대한 더 자 세한 정보는 apsfilter와 ghostscript 관련 문서들을 읽어 보십시오. 그런 다음, 애플토크에 시험하기 전에 자신이 가지고 있는 프린터에 먼저 시도해 보십시오.
사용 방법
-- 다음 사항은 수세 리눅스 사용자에게는 해당 되지 않습니다.--
먼저 프린트 요청 등을 위해 lpd 데몬이 정보를 받는 소켓 이름을 알아 내야 하는데, BSD 맨 페이지에 따르면 이 소켓의 이름은 /dev/printer입니다. 이 이름을 Netatalk-1.3.3 papd 소스에서 원합니다.
하지만, 제 시스템이 lpd는 /tmp/.printer를 통해 요청을 받아 들입니다. 여러분의 시스템에 대해서는 ls -aF /tmp와 ls -aF /dev 명령을 통해 이것을 알아 볼 수 있습니다. (또는 파 일들 중에 소켓들을 찾아 보아서 lpd 소스가 있는 것을 찾을 수도 있습니다.)
필요에 따라 netatalk/include/atalk/paths.h를 다음과 같이 편집해 줍니다.
#define _PATH_DEVPRINTER "/dev/printer" 라인을
#define _PATH_DEVPRINTER "/tmp/.printer 나 이외에 필요에 따라 바꾸십시오.
--여기까지가 수세 리눅스 사용자에게 해당 되지 않는 부분입니다.--
다음 ftp 사이트인 ftp://ft.adobe.com/pub/adobe/printerdrivers/win/all/ppdlevel1에서 자신 의 프린터에 맞는 PPD 파일을 다운로드하십시오. 저의 경우에는 HP850c (DEVICE= CDJ550c로 고스트스크립트에 컴파일 되어 있습니다.)을 사용하고 있는데 수백 종의 PPD 파일을 사용해 보았지만 최종적으로 APLWNTR1.PPD로 결정을 보았습니다.
자신의 컴퓨터가 300dpi 이상의 해상도를 지원한다고 해서 여기에서 제공하는 PPD 파일들 은 그 효과가 있기 때문에 상관이 없습니다. 다른 곳에서 제공하는 PPD 파일을 사용하면 제대로 동작이 안 될 경우가 많습니다.(symtom: 고스트스크립트가 동작을 하지 않습니다.)
netatalk 패키지에 있는 지시대로 netatalk를 만들어서 인스톨하십시오. 이때 rc.atalk가 papd를 시작시키도록 확실히 해야 합니다.
papd, lpd, printcap의 맨 페이지들을 읽어보십시오. 아마도 애당초 이것들을 읽어보는 것 이 좋았을 것이지만 이렇게 하면 흥미를 읽게 될 지도 모릅니다.
/etc/atalk/papd.conf 파일을 편집하십시오. 제 파일은 다음 내용으로 되어 있습니다.
# # Attributes are: # # Name Type Default Description # pd str ".ppd" Pathname to ppd file. # pr str "lp" LPD printer name. # op str "operator" Operator name, for LPD spooling. # gs850c:pr=lp:op=mikep:pd=/etc/atalk/APLWNTR1.PPD:
이 파일에 대한 추가 설명을 더 드리겠습니다. 이 파일에 따르면 프린터가 애플토크에서 gs850c로 등록이 되어 있습니다. 이것이 바로 맥 추저에서 볼 수 있는 이름일 것입니다.
pr 필드는 lp를 디폴트로 하는 것이 안전합니다. 물론, printcap 파일에 정의되어 있는 다른 프린터 이름을 사용할 수도 있습니다.(이 이름은 장치 이름이 아닙니다. 장치 이름은 /dev/lp1과 같이 생겼습니다.)
다음 리눅스를 다시 부팅시킵니다.
맥에서는 레이저라이터 드라이버가 없다면 이것을 인스톨시킵니다. 제 경우에는 레이저라이 터 8이 제대로 동작합니다.
추저에서 "LaserWriter 8"을 클릭하십시오.
그러면 gs850c가 나타나야 됩니다.
셋업을 클릭하십시오.
PPD선택을 클릭한 다음에 LaserWriter 11 NT를 선택하십시오.
프린터 인포를 클릭하십시오.
업데이트 인포를 크릭하십시오. 이렇게 하면 화면에 여러 동작이 처리되는 것을 볼 수 있습 니다. 이때 바로 /etc/atalk/APLWNTR1.PPD가 맥으로 전송됩니다. 또한 프린터 인포의 변 수들이 바뀌는 것을 볼 수 있을 것입니다.
이제 자신의 레이저라이터 상에서 프린트를 한 번 해 봅니다.
이 작업은 lpq에서 볼 수 있어야 합니다. 그리고 품질에도 로컬 프린팅시와 별 차이가 없어야 합니다. 또한 컬러 프린터인 경우 색상의 품질도 훌륭하게 나와야 합니다.
만약 그렇지 않다면 어떻게 해야 될까요?
lpq가 데몬이 없다고 보고할 것입니다. lpc를 또 한번 시작해서 lp를 루트로 다시 시작해 보 십시오. 이렇게 해도 되지 않는다면 데몬리체크 소켓 네임들을 시작하십시오. 그리고 시스 템을 다시 시작해서 이 상태를 깨끗하게 빠져나오도록 합니다.
Check /user/log/lpd-errs (또는 시스로그(LOG_ERR 등)가 있는 대로)
Check /usr/spool/your printer/log.
만약 파일이 큐에 있는데도 프린트가 되지 않는다면 이 파일을 lpr을 가지고 로컬로 해서 프린트를 해 보십시오. 이렇게 하면 고스트스크립트와 호환이 되는 가를 알 수 있습니다.
또는 이렇게 하는 것이 싫으시면 gs 파일을 한 번 프린트 해 보아서 고스트스크립트가 이 것을 처리할 수 있는지 보십시오. 그래서 처리를 할 수 없다면 다른 PPD를 사용해 보아야 할 것입니다.
이것으로 간단한 소개를 마칩니다.
마이크
키워드: ATALK, APPLETALK, NETATALK, PRINTING
카테고리:
SDB-cep_netatalk_printing, Copyright SuSE Linux AG, Nrnberg, Germany - 버전: 17. Feb 2001
SuSE Linux AG - 최근에 만들어진 : 17. Feb 2001 에 의해 cep (sdb_gen 1.40.0)