다음 이전 차례

7. 프린터

사실 리눅스를 보고 프린터를 구입하는 사람들은 그렇게 많지 않을 것이다. 대부분은 광고 선전문구나 주위 사람들의 권유로 구입한다고 본다. 그리고 프린터 역시 성능에 따라 가격 차이가 많이 나고 있어서 어떤 때는 메인보드/CPU/그래픽 카드/사운드 카드 등에 많은 돈을 소비하면 프린터는 나중에 구입하려고 미루는 경우도 많다.

프린터를 이미 구입하지 않았다면 이 글을 읽고 리눅스에서도 그리고 마이크로 소프트 제품에서도 만족할 만한 제품을 구입할 수 있는, 적어도 리눅스에서 괴롭지 않게 프린팅을 할 수 있는 제품을 구입할 수 있을 것이다.

리눅스의 프린터 지원은 전적으로 고스트스크립트(ghostscript)라고 하는 프로그램에서의 지원 여부에 달려있다.

윈도용 GDI 프린터는 구입하지 말것! 하드웨어적 지원 프린터를 구입하라. 단지 윈도 드라이버를 설치해야만 또는 특정 프로그램을 실행해야만 작동하는 엉뚱한 저가형 프린터들이 있다. 이것은 절대 금물이다. 최근에 나온 LG 프린터 중 그러한 모델이 있다는 이야기가 있다. GDI 프린터는 시스템 효율면에서 엉터리 프린터로서 하드웨어 생산원가를 낮추고 모든 부담을 CPU에게 떠맡긴다. 리눅스, 유닉스 계열에서 사용할 수 없음은 물론이다.

고스트스크립트가 가장 잘 지원하는 프린터는 여러분도 예상하듯 가장 많은 사용자 층을 가지고 있는 HP 프린터 전기종이다. 하지만 컬러 잉크젯 프린터처럼 최근에 나온 제품들에 대해서는 너무 기대하지 않은 것이 좋다.

리눅스에서 가장 잘 쓸 수 있는 프린터는 고가 레이저 프린터라고 할 수 있다. 리눅스도 유닉스 계열이라는 사실을 상기하면 왜 그러한가 알 수 있을 것이다. 특히 포스트스크립트를 자체 지원하는 프린터들은 상당히 비싸지만 리눅스에서 아무런 노력없이 쉽게 사용할 수 있다는 사실 하나는 분명하다. 레이저 프린터도 램의 양에 따라, 분당 프린트하는 속도에 따라 많은 차이가 있으니 적절한 가격 선은 여러분이 결정하기 바란다.

필자는 학교나 연구소에서 쓰는 프린터가 아닌 바에야 저가형 레이저 프린터 또는 잉크젯 프린터가 개인 사용자에게 걸맞지 않나 생각한다. 둘 다 HP 프린터 PCL 모드를 제대로 지원해주는가 여부가 중요하다. 당연히 HP 제품은 호환성 문제를 생각할 필요없다.

7.1 고스트스크립트(ghostscript)

리눅스에서 그래픽 모드로 프린팅하는 유일한 방법은 바로 포스트스크립트 파일 형태로 만든 후, 고스트스크립트(이하 gs )를 이용하여 여러분의 프린터 기종별로 프린터 명령으로 번역해서 프린터 포트에 출력하는 것이다.


포스트스크립트 문서(*.ps)
고스트스크립트(gs) 프린터 포트
PS 형식 PS형식 --> 프린터 언어변환 프린터 고유 언어

리눅스에서의 프린팅은 초보자들에게 약간의 이해가 필요하다. 우선 리눅스에서 가장 많이 사용되는 프린팅 직전의 중간형 형태의 문서는 바로 Adobe 포스트스크립트 문서이다. 여러분이 어떤 방법을 쓰든 일단 포스트스크립트 형식의 문서로 변환하면 그것을 개별적인 프린터로 인쇄하는 실제적인 작업은 모두 고스트스크립트(gs)라고 하는 아주 훌륭한 프로그램이 처리해준다.

다양한 문서를 어떻게 포스트스크립트 문서로 변환할 것인지 그리고 그 중요한 고스트스크립트가 우리가 갖고 있는 프린터를 어떻게 지원하게 만들 것인지, 이 두 가지에 대하여 알아보면 될 것이다.

현재 공식 GNU 버전의 gs 3.33에서 지원하는 프린터를 살펴보자.


디바이스
프린터
ap3250 Epson AP3250 printer
appledmp Apple Dot Matrix Printer (Imagewriter와도 작동함)
bj10e Canon BubbleJet BJ10e
bj200 Canon BubbleJet BJ200
bjc600 Canon Color BubbleJet BJC-600, BJC-4000 and BJC-70 also good for Apple printers like the StyleWriter 2x00
bjc800 Canon Color BubbleJet BJC-800
ccr CalComp Raster format
cdeskjet H-P DeskJet 500C with 1 bit/pixel color
cdjcolor H-P DeskJet 500C with 24 bit/pixel color and high-quality color (Floyd-Steinberg) dithering; DeskJet 540C
cdjmono H-P DeskJet 500C printing black only; also good for DeskJet 510, 520, and 540C (흑백전용)
cdj500 H-P DeskJet 500C (cdjcolor와 같다)
cdj550 H-P DeskJet 550C/560C
cp50 Mitsubishi CP50 color printer
declj250 alternate DEC LJ250 driver
deskjet H-P DeskJet and DeskJet Plus
djet500 H-P DeskJet 500
djet500c H-P DeskJet 500C alternate driver (550C or 560C에선 동작하지 않는다)
dnj650c H-P DesignJet 650C
epson Epson-compatible dot matrix printers (9- or 24-pin)
eps9mid Epson-compatible 9-pin, interleaved lines (intermediate resolution)
eps9high Epson-compatible 9-pin, interleaved lines(triple resolution)
epsonc Epson LQ-2550 and Fujitsu 3400/2400/1200 color printers
ibmpro IBM 9-pin Proprinter
imagen Imagen ImPress printers
iwhi Apple Imagewriter in high-resolution mode
iwlo Apple Imagewriter in low-resolution mode
iwlq Apple Imagewriter LQ in 320 x 216 dpi mode
jetp3852 IBM Jetprinter ink-jet color printer (Model 3852)
laserjet H-P LaserJet
la50 DEC LA50 printer
la70 DEC LA70 printer
la70t DEC LA70 printer with low-resolution text enhancement
la75 DEC LA75 printer
la75plus DEC LA75plus printer
lbp8 Canon LBP-8II laser printer
lips3 Canon LIPS III laser printer in English (CaPSL) mode
ln03 DEC LN03 printer
lj250 DEC LJ250 Companion color printer
ljet2p H-P LaserJet IId/IIp/III- with TIFF compression
ljet3 H-P LaserJet III- with Delta Row compression
ljet3d H-P LaserJet IIID with duplex capability
ljet4 H-P LaserJet 4 (defaults to 600 dpi)
lj4dith H-P LaserJet 4 with Floyd-Steinberg dithering
ljetplus H-P LaserJet Plus
lp2563 H-P 2563B line printer
m8510 C.Itoh M8510 printer
necp6 NEC P6/P6+/P60 printers at 360 x 360 DPI resolution
nwp533 Sony Microsystems NWP533 laser printer [Sony only]
oce9050 OCE 9050 printer
oki182 Okidata MicroLine 182
okiibm Okidata MicroLine IBM-compatible printers
paintjet alternate H-P PaintJet color printer
pj H-P PaintJet XL driver
pjetxl alternate H-P PaintJet XL driver
pjxl H-P PaintJet XL color printer
pjxl300 H-P PaintJet XL300 color printer; PaintJet 1200C
r4081 Ricoh 4081 laser printer
sj48 StarJet 48 inkjet printer
sparc SPARCprinter
st800 Epson Stylus 800 printer
tcolor Epson Stylus Color
t4693d2 Tektronix 4693d color printer, 2 bits per R/G/B component
t4693d4 Tektronix 4693d color printer, 4 bits per R/G/B component
t4693d8 Tektronix 4693d color printer, 8 bits per R/G/B component
tek4696 Tektronix 4695/4696 inkjet plotter
xes Xerox XES printers (2700, 3700, 4045, etc.)

배포판에서는 제공할 수 없는 알라딘(Aladdin) 고스트스크립트 버전은 4.03까 지 나와 있으며 개인적으로 받아와서 컴파일해야 한다. 구할 수 있는 FTP 사이트는 다음과 같다.

ftp://ftp.cs.wisc.edu/ghost/

7.2 모범적인 기업 알라딘(Aladdin)사

GNU와 리눅스 시스템에서 중요한 위치를 차지하고 있는 알라딘 고스트스크립트는 GNU 프로젝트에 의해 개발되는 것이 아니다. 이는 전적으로 알라딘 사가 제작하는 것으로서 알라딘 사 고유의 라이선스 방식을 따른다. 알라딘 사는 자기들이 개발하고 나서 1년이지나면 FSF 측에 자신들의 고스트스크립트를 소스 코드와 함께 GPL로 라이선스하여 기증한다. 최신 버전은 개인적으로 얼마 든지 받아갈 수 있으나 기업적/상업적 이용에는 제한이 따른다.

따라서 배포판에서는 오로지 GPL로 된 약간은 구버전만을 포함할 수 있다. 최신식 드라이버가 들어있는 고스트스크립트를 원할 때는 개인적으로 구해서 컴파일하여 사용해야 한다.

들어가보면 gnu 디렉터리와 aladdin디렉터리가 따로 있는 것을 볼 수 있을 것이다. 상당히 많은 파일이 있는 것 같지만 ghostscript-라는 이름으로 시작하여 최신 버전(지금 현재 4.03)이 붙어있는 파일을 전부 가져와서 컴파일하면 된다. 여러분이 리눅스에서 해보는 컴파일중 어려운 컴파일 과정 중 하나이다. 마음을 느긋이 먹고 하루 종일 걸릴 것이라고 생각하고 천천히 하면 어렵지 않다. 같은 고민했던 사람들이 분명히 있을 것이므로 리눅스 동호회를 찾아보는 것도 좋다. 누군가 고스트스크립트와 한 판 밤샘 전쟁을 벌인 후 다른 사람들을 위해 사용담을 올려주었을 것이다.

참고로 고스트스크립트를 컴파일한다는 일은 그리 쉬운 일이 아님을 다시 한 번 밝혀둔다. 여러 개의 소스를 한 곳에서 푸는 것은 물론이고 README 문서를 영어라 할지라도 꼼꼼히 읽고 진행하지 않으면 안된다.

앞에서 나열한 목록에 여러분의 프린터 이름이 들어있다면 아무런 문제가 없을 것이다.

여러분이 현재 가지고 있는 gs가 어떤 장치를 지원하도록 컴파일했는지 알아 보려면 명령행에서 gs -h라고 실행해보라.

[yong@redyong yong]$ gs -h | more
Aladdin Ghostscript 3.33 (4/10/1995)
Copyright (C)   1995 Aladdin  Enterprises, Menlo   Park, CA.   All rights 
reserved.
Usage: gs [switches] [file1.ps file2.ps ...]
Available devices: ( 사용가능한 장치 )
        x11 x11alpha x11cmyk x11mono deskjet djet500 djet500c dnj650c
      laserjet ljetplus   ljet2p ljet3  ljet3d ljet4   cdeskjet cdjcolor  cdjmono 
cdj500 cdj550 pj  pjxl pjxl300  bj10e bj200  bjc600 epson eps9mid  eps9high 
epsonc ibmpro jetp3852 dfaxhigh  dfaxlow faxg3 faxg32d  faxg4 cp50 tiffg3 
tiffg32d tiffg4 pcxmono  pcxgray pcx16  pcx256 pcx24b pbm  pbmraw pgm 
pgmraw ppm ppmraw bit bitrgb bitcmyk tiffcrle tiffg3 tiffg32d tiffg4 tifflzw 
tiffpack
Language interpreters: ( 지원 언어 수준 )
        PostScript PostScriptLevel1 PostScriptLevel2 PDF
Search path: ( 검색 디렉토리 )
    .
    /usr/share/ghostscript/3.33:/usr/share/ghostscript/fonts

고스트스크립트는 PostScript 페이지 기술(記述) 언어로 작성된 PS 문서를 각 프린터가 인식할 수 있는 고유의 언어로 변환해준다. 여러분이 프린터를 구입하면 별 관심을 갖지 않는 뒷부분을 보기 바란다. 보통은 베이식언어로 예제를 들어가면서 프린터의 종이 한 장 넘기는 명령, 몇 인치 전진하는 명령, 그래픽 모드로 전환하는 명령들이 적혀 있다. 잉크젯이 나오기 전에는 주로 EPSON계열의 프린터에서 사용되는 ESC 시퀀스의 명령 방식이 유행하였고 그 다음 HP의 PCL 언어도 유명하다. 주로 이 두 가지 언어에서 대동소이한데 잉크젯 프린터의 경우에는 PCL 언어를 어떤 레벨까지 지원하는지 여부를 아는 것이 중요하다. 고스트스크립트는 어떻게 보면 개별적으로 갖고 있는 프린터 드라이버를 하나의 프로그램 안에 총망라한 것이라고 할 수 있다.

만약 고가의 포스트스크립트 언어 지원 프린터를 구입하였다면 고스트스크립트는 필요치 않다. 프린터 자체가 포스트스크립트라는 고급 언어를 인식하고 처리해주기 때문이다. 고스트스크립트는 포스트스크립트 프린터가 아닌 프린터를 마치 포스트스크립트 프린터인 것처럼 속이는 멋진 프로그램 중 하나이다. 포스트스크립트 프린터는 같은 레이저 프린트 중에서도 상당한 고가에 속한다. 대부분의 레이저 프린터들은 포스트스크립트 모듈을 장착하지 않은 저가의 제품들이다. 특히 GDI 프린터를 조심하라.

다시 한 번 강조하지만 특별한 도스 드라이버를 띄워야 하는 제품은 절대 구입하지 말것. 전세계인이 사용하는 범용 프린터 또는 확실한 호환모드를 가진 제품을 구입하라. 소비자의 당당한 구매행위를 통해 소프트웨어적 속임수가 없는 제품이 나오도록 리눅서들이 앞장서야 할 것이다.


다음 이전 차례