다음 이전 차례

1. SAMBA에서 LINUX 측의 프린터 세팅 관련

유닉스에서 프린터를 사용하려면 /etc/printcap 파일을 설정해야 한다.

예제를 보면

       lp|lj|HP LJ6P:\
              :lp=/dev/lp0:\
              :sd=/var/spool/lpd/lj:\
              :mx#0:sh:sf:

각각의 설명는 | 로 구분된 lp 와 lj 은 프린터의 명칭이다. lpr -P <name> 에서 name의 프린터 명으로 이용된다. lp=/dev/lp0 는 프린터 device의 명칭이다. 어느 포트에 프린터가 붙어 있는지는

       # cat /etc/hosts > /dev/lp0

와 같은 리다이렉션 명령으로 확인해 볼수 있다. 이경우 hosts의 텍스트 파일이 인쇄되면 프린터와의 연결은 이상이 없는것이다.

sd=/var/spool/lpd/lj 은 spool 디렉토리로서 파일을 인쇄할시에 임시로 저장해 놓는 공간이다. 해당 path 대로 디렉토리를 생성해 놓아야 한다. mx#0 는 파일의 크기를 제한하지 말라는 옵션이며 sh는 대량의 출력을 제한하지 않는 옵션이며 (Windwos 애서 생성하는 파일은 대량의 이미지 파일이므로 제한하면 안된다.) sf 옵션은 문서를 출력한후에 form feed 문자를 보내지 말라는 것이다. (이것을 지정해 놓지 파일의 출력시에는 빈페이지가 하나씩 더나가게 된다. 그러나 UNIX의 form feed가 없는 ASCII문서 출력시에는 필요하다.) sh, sf 옵션은 선언되면 false 가 되는 옵션이다. (man printcap 참조)

printcap 파일이 제대로 되었으면 lpc 명령으로 프린팅 서비스가 구동되도록 한다.

       # lpc

       lpc> restart all

       lpc > status

       lp:
            queuing is enabled
            printing is enabled
            no entries
            no daemon present
       lpc>

구동이 된것이 확인되면 출력이 되는지 확인한다. 이때 sf 옵션이 false 이므로 포함되어 있으므로 일반 ASCII 문서 를 골라서 끝에 ^L (form feed) 문자를 삽입하여 lpr 명령으로 찍이는지 확인한다.

       # lpr -P lp /tmp/testfile

성공적으로 인쇄되었으면 SAMBA 를 세팅한다. 일반적인 세팅방법은 기존에 잘 설명되어 있는 문서를 보는것으로 생략하고

       path = /var/spool/lpd/lj
       printer name = lj
       print command = lpr -r -h -P %p %s

와 같이 /etc/printcap 에 선언된 sd 및 prnter name 이 일치하도록 하여야 한다. print command 는 실제의 인쇄명령으로서 그대로 인쇄되는지 SHELL에서 실행시켜 보도록 한다.

       # lpr -r -h -P <printer name> <인쇄 파일명>

이렇게 하여 인쇄가 되면 samba를 통하여 인쇄하면 보통 성공하게 된다. 만일 인쇄가 되지 않으면 /var/log/samba 에 있는 로그파일 을 참조하도록 한다. 인쇄가 실패할 경우에 PC로 부터 전송된 파일은 spool 디렉토리에 위치하게 되므로 lpr 명령으로서 인쇄를 시켜보아서 정상적으로 출력되게 되면 어딘가 연결고리가 문제가 있는것이므로 차근차근 확인해 보도록 한다. 전송되는 연결고리는 다음과 같으며 각각 아래의 파일을 참조한다.

       PC Client   -> Sambar Server ----> lpr ------------> Printer

       (PC조절판)     (/etc/smb.conf)         (/etc/printcap)

즉 PC에서 인쇄를 명령하면 Printer Driver 가 프린터 제어 이미지를 생성하고 LanManager 의 패킷으로 SAMBA 서버에 보내면 이것을 smb.conf 에 지정한 spool 디렉토리에 저장한후 lpr 명령으로 인쇄를 지시한다. lpr 은 printcap 파일의 지정된 옵션에 따라서 프린터에 인쇄파일을 보내게 된다.


다음 이전 차례