이 명령 라인은, 서로 다른 형식의 파일을 프린트할 때, 각각의 파일 형식이 각기 형식에 맞는 Unix 유틸리티에 의해 어떻게 변환되어지는지 사용자가 반드시 알아야 할 필요가 없다는 것을 보여준다.
그렇기 때문에 여러분은 긴장을 풀고 서로 다른 Unix 유틸리티를 통해서 어떻게 데이터를 파이프 할 것인지 신경 쓰지 않고 그저 뭔가 프린트할 것이 있다는 단순한 하나의 사실에만 몰두할 수 있다.
설치 과정
이제 필자는 적당한 사람과 웹 사이트를 믿어 보려고 한다. Linuxnewbie.org의 Sensi! 그는 내게 프린터 관리자인 aspfilter를 시작해 보도록 권했다. 맨드레이크에 있는 프린터 관리자 보다 aspfilter가 훨씬 나았다. 다음은 필자가 직접 실행해서 성공한 내용이다.
여기서부터는 프로그램의 지시문을 따른다. 여러분의 프린터가 여전히 작동하지 않는다면 다음 단계를 따른다:
#cat /proc/devices
여러분은 다음과 같은 것들을 보게 될 것이다:
1 mem
2 pty
3 ttyp
4 ttyS
5 cua
6 lp
이 밖에도 더 많은 것들이 있다. 이제 이 부분에서 좀 어려워지는데, 만일 어디에서도 lp를 찾을 수 없다면 병렬 포트 지원이나 프린터 지원을 활성화하지 않았거나 또는 둘 다 활성화하지 않았을 가능성이 있다. 이런 경우엔 커널로 다시 돌아가서 이들 특성을 추가해서 다시 컴파일해야 한다. Cat 명령으로 lp가 있는 것을 확인한 이후에도 여전히 프린터가 작동하지 않는다면, 아래에 있는 다음 단계로 간다!
최신의 맨드레이크를 설치하면서 알아낸 사실은 프린터를 설정하는 것은 aspfilter 아래에 있는 printcap 파일 안의 두 개 라인에 lp라는 글자를 더해 넣는다는 것이다. 내가 프린터 문제를 해결하기 전에 aspfilter를 설치했기 때문에 원래의 printcap이 어떻게 생겼는지는 모른다. 이런 이유 때문에 내가 사람들에게 aspfilter를 사용하라고 말한다. 그리고 aspfilter는 stock보다 훨씬 좋은 프린터 관리자이다.
이것은 리눅스-맨드레이크 6.5 (레드햇 6.1), 커널 2.2.13-22mdk에서 HP DeskJet420이 설정된 현재의 설정 내용이다. 이렇게 설정해서 필자는 인터넷 뿐만 아니라 maxwell과 StarOffice 5.1에서도 프린트를 할 수 있다. 문제가 되는지 안 되는지는 모르지만, 필자는 SCSI 하드웨어나 인터페이스 카드를 가지고 있지 않다. 필자가 말한 내용이 도움이 되기를 바란다! 변경 사항은 모두 루트인 상태에서 VI를 통해 이루어졌다. 붉은 색으로 된 부분은 프린터가 작동하도록 하기 위해서 삭제한 부분이다. 붉은 색 부분이 보이지 않는 경우를 대비해서 바뀐 부분은 밑줄 쳐진 상태로 보여질 것이다. 이 내용이 도움이 되었다면 필자에게 알려주기 바란다!
맨 처음 여러분이 하고 싶은 일은 printcap 파일로 가는 것일 것이다. 그러기 위해서는 그저 다음 명령을 실행하면 된다:
#vi /etc/printcap [ENTER]
여러분은 아래에 있는 내용과 비슷한 것을 보게 될 것이다. 이것은 실제 필자의 printcap 파일이다. 여러분은 내가 가진 것과는 다른 하드웨어를 가졌다는 것을 고려하도록 하라.
####
#### Please don't edit this file directly unless you know what you are doing!
#### Be warned that the control-panel printtool requires a very strict format!
#### Look at the printcap(5) man page for more info.
####
#### This file can be edited with the printtool in the control-panel.
###
###
#####PRINTTOOL3## LOCAL cdj500 300x300 letter {} DeskJet500 3 1
###HP Desk Jet:\
### :sd=/var/spool/lpd/lp:\
### :mx#0:\
### :sh:\
### :lp=/dev/lp0:\
### :if=/var/spool/lpd/lp/filter:
# LABEL apsfilter
# apsfilter setup Sat Nov 6 11:26:50 PST 1999
#
# APS_BASEDIR:/usr/local/lib/apsfilter
#
#
ascii |lp1|cdj500-letter-ascii-mono|cdj500 ascii mono:\
:lp=/dev/lp0:\
:sd=/var/spool/lpd/cdj500-letter-ascii-mono:\
:lf=/var/spool/lpd/cdj500-letter-ascii-mono/log:\
:af=/var/spool/lpd/cdj500-letter-ascii-mono/acct:\
:if=/usr/local/lib/apsfilter/filter/aps-cdj500-letter-ascii-mono:\
:mx#0:\
:sh:
#
lp2|cdj500-letter-auto-mono|cdj500 auto mono:\
:lp=/dev/lp0:\
:sd=/var/spool/lpd/cdj500-letter-auto-mono:\
:lf=/var/spool/lpd/cdj500-letter-auto-mono/log:\
:af=/var/spool/lpd/cdj500-letter-auto-mono/acct:\
:if=/usr/local/lib/apsfilter/filter/aps-cdj500-letter-auto-mono:\
:mx#0:\
:sh:
#
lp3|cdj500-letter-ascii-color|cdj500 ascii color:\
:lp=/dev/lp0:\
:sd=/var/spool/lpd/cdj500-letter-ascii-color:\
:lf=/var/spool/lpd/cdj500-letter-ascii-color/log:\
:af=/var/spool/lpd/cdj500-letter-ascii-color/acct:\
:if=/usr/local/lib/apsfilter/filter/aps-cdj500-letter-ascii-color:\
:mx#0:\
:sh:
#
lp|lp4|cdj500-letter-auto-color|cdj500 auto color:\
:lp=/dev/lp0:\
:sd=/var/spool/lpd/cdj500-letter-auto-color:\
:lf=/var/spool/lpd/cdj500-letter-auto-color/log:\
:af=/var/spool/lpd/cdj500-letter-auto-color/acct:\
:if=/usr/local/lib/apsfilter/filter/aps-cdj500-letter-auto-color:\
:mx#0:\
:sh:
#
raw|lp5|cdj500-letter-raw|cdj500 auto raw:\
:lp=/dev/lp0:\
:sd=/var/spool/lpd/cdj500-raw:\
:lf=/var/spool/lpd/cdj500-raw/log:\
:af=/var/spool/lpd/cdj500-raw/acct:\
:if=/usr/local/lib/apsfilter/filter/aps-cdj500-letter-raw:\
:mx#0:\
:sh:
결론
이 글이 여러분의 프린터 문제 해결에 도움이 되었기를 바란다. 여러분이 이미 눈치챘을 지 모르지만, 필자는 HP DeskJet 500 드라이버를 쓰고 있다. 400 시리즈의 드라이버들은 비능률적이고 실제로 믿을 만 하지 않다는 것을 알게 되었다. 다음은 다른 리눅스 사용자들이 현재 사용하고 있는 드라이버들의 리스트이다. 다른 리눅스 사용자들이 필자의 도움말 파일에 추가할 수 있도록 알려 주었다. 여러분이 보듯이 사람들과 그들이 사용한 드라이버/프린터 해결책을 밝혀 놓았다.
#
프린터 제조업체와 모델명
작동하는 Apsfilter 드라이버
제공한 사람:
1
Hewlett Packard DeskJet 420
Hewlett Packard DeskJet 500
MkIII Supra
2
Cannon BJC-210
BJC-600
Ken Inman
3