리눅스에서 프린터 사용하기

안경훈 (TCP21 / linux@tcp21.co.kr)   
강신정 (kang@pivlab.kmaritime.ac.kr)

     

     

    이번달에는 프린터를 설치하는 방법에 대해서 알아보도록 하겠습니다.
    리눅스에서 프린터 설치는 리눅스 설치 만큼이나 까다롭고 사용이 귀찮았습니다. 하지만, 리눅스의 커널이 업그레이드 되면서, 현재는 매우 최신의 프린터들을 제외하고는 대부분 쉽게 사용할 수가 있습니다.(최신의 프린터들도 호환모드로 설치한다면 사용할 수가 있습니다.) 다만, 문제가 되는 것은 일부 저가형 레이저 프린터들은 제 성능을 발휘하지 못하는 경우도 더러는 있다는 것입니다. 또한 지난달과 마찬가지로 따라하기 식으로 따라하면 됩니다. 여러 가지 복잡한 사항들을 알고 있어야 하지만, 초중급자를 기준으로 설명을 하겠습니다.

    이번달의 주제는 크게 3부분으로 나뉘게 됩니다.

    첫 번째는 리눅스 설치시 프린터 설정하는 방법,
    두 번째는 설치를 완료한 후에 X-Window 상에서 프린터를 추가하는 방법,
    세 번째로 지난달에 배운 SAMBA를 이용한 프린터 설정부분 등입니다.

 

▶리눅스 설치 과정중에 프린터 설치하기

    리눅스를 설치하는 과정 중에서 프린터 설치는 패스워드를 설정하는 화면의 바로 전에 나온다. 미리 말해두지만, 프린터 설정에 관련된 여러 가지 사항들은 /etc/printcap 이라는 파일에 모두 기록되며 이것을 수동으로 변경해도 그 효과는 메뉴에서 변경한 사항과 마찬가지로 리눅스 시스템에 적용됩니다. 이번에는 먼저 설치 과정 중에 프린터를 설정하는 방법을 알아보도록 하겠습니다.

① Select Printer Connection

    첫번째 과정은 프린터가 설치된 위치를 정해주는 것입니다. 크게 4가지 방식으로 프린터를 설치할 수 있습니다. (그림1)은 프린터가 물리적으로 설치된 위치를 알려주는 화면입니다. 크게 4가지로 나뉩니다.

    · Local : 이것은 리눅스 시스템에 프린터가 직접 설치되어있을 경우입니다.

    (그림 1) 프린터 위치 설정

    · Remote lpd : 이 메뉴는 프린터가 Lan 환경에서 사용되는 다른컴퓨터에 물려있을 경우에
                          선택하는 옵션입니다.
                          네트워크를 통한 통신명령인 lpr이나 lpd 라는 환경을 사용할 수 있을 경우에
                          선택합니다.

    · SMB/Windows 95/NT : 이 메뉴는 Windows 95/98/NT 등에 프린터가 공유되어 있을 경우에
                                        선택하게 되는 메뉴입니다.

    · Netware : 노벨의 Netware라는 운영 환경에 프린터가 설치되어있을 경우에 사용합니다.

② Standard Printer Options 대화상자 설정

    이 대화상자에서는 프린터에서 사용할 큐(queue 필자주:프린터큐라는 것은 프린터 명령을 내렸을경우에 대기하고 있는 상태를 말한다)의 이름과 임시로 저장할 스풀(spool)디렉토리를 설정하는 옵션입니다.
    보통은 프린터큐로 lp라는 이름을 사용하고 spool 디렉토리로 /var/spool/lpd/lp 라는 디렉토리를 사용합니다. 프린트 명령을 리눅스시스템이 인식하고 나면 일단 큐에서 잠시 가지고 있다가 프린터 스풀 디렉토리로 작업할 파일을 만들어서 보내게 됩니다. 이것은 뒤에서 설명할 lpq라는 명령으로 알 수 있습니다.

    그리고, 프린트를 하고 있는 도중에 정전이나, 실수로 전원이 꺼지는 경우에도 이곳에 저장되어 있는 파일을 검색해서 있다면 계속해서 출력을 하게 됩니다. 그런데, 만약 네트워크에서 프린터를 공용으로 사용하고 있다면 프린터를 한 사람이 점유하는 현상이 발생할 수도 있는데, 이것을 방지하는 방편으로 일반사용자의 프린터 용량을 조절할 수가 있습니다. 아무튼 이렇게 설정을 마칩니다.

    (그림 2) 프린터 옵션설정

③ 각 프린터 설정에 관한 구체적인 설명들

    ▷ Local 프린터를 선택할 경우 설정
    프린터의 장치명을 적어넣습니다. 보통은 /dev/lp0 라는 장치를 설정을 합니다. 우리가 보편적으로 사용하는 장치들은 /dev 라는 디렉토리에 하나의 파일로 저장된다는 것을 독자 여러분들은 알고 있을 것입니다. 그래서 프린터 이외의 장치들도 이곳에 기록되어있습니다. 예를 들면 플로피 디스크는 /dev/fd0 리눅스 루트하드디스크는  /dev/hda1(c:드라이브를 리눅스 root 파티션으로 설정하였을 경우) SCSI 하드디스크는 /dev/sda1 등등으로 설정되어있습니다. 이런 의미로 그림3과 같이 /dev/lp0 라는 이름으로 local 프린터를 설정합니다. 그리고, 이 화면에서 보이는 것처럼 리눅스가 자동으로(auto detect) 프린터의 위치를 찾아줍니다. 필자의 경우에는 그림3 처럼 /dev/lp0에서 프린터 포트를 찾았다는 메시지를 출력하였습니다.

    (그림 3) local 프린터 설정하기

    ▷ Remote lpd를 선택했을 경우
    이 경우에는 리모트 호스트로 사용할 서버의 이름을 적어 주어야 합니다. 또 리모트 호스트에서 사용될 프린터큐의 이름을 적어 주면됩니다.

    (그림 4) Remote lpd를 선택했을 경우

    ▷ SMB, Windows 95/NT 프린터 선택
    SMB, Windows 95/NT를 선택했을경우에는 지난호 설명했던 samba와 관련이 있습니다. 이 화면에서 여러분의 환경에 맞는 정보들을 적어주면 됩니다. SMB server host 에는 프린터가 물리적으로 연결된 컴퓨터의 이름을 적어 줍니다.
    그리고, SMB server IP주소를 적어주는 곳에는 위에서 적어준 컴퓨터의 IP 어드레스를 적어주면 됩니다. 또 Share name(공유이름)에는 프린터가 공유되어 있는 이름을 적어주면 됩니다. User name에는 Windows 95/98/NT등에서 공유된 프린터를 사용하려고 할 때 입력될 사용자 이름을 적어주면 됩니다. Password에는 공유된 프린터를 사용할 때 물어오는 패스워드를 입력하면 되지요. 그리고, Workgroup 항목에는 프린터가 속한 워크그룹의 이름을 적습니다.(말안해도 아시겠지요.) 그리고, 이 메뉴는 samba와도 관련이 있으므로 뒷부분에서 다시 설명하도록 하겠습니다.

    (그림 5) SMB, 윈도우95/NT 프린터 설정

    ▷ NetWare 선택시 대화상자
    Netware는 노벨이라는 회사의 운영환경이지요. 기업에서 일하는 많은 사람들을 아직도 사용자로 확보하고 있습니다. 여기서도 SMB 환경의 설정과 유사한 옵션들이 나와 있습니다. 사용자에 따라 자신에게 맞는 정보를 입력하시면 될 것입니다.

    (그림 6) Netware 프린터옵션 설정

④ Configure Printer 대화상자에서…

    이 대화상자는 리눅스 시스템에서 사용하는 프린터를 지정하는 옵션입니다. 유닉스 시스템에서 프린터를 사용하는 사람들에게 익숙한 단어가 하나있는데 그것은 PostScript 라는 말입니다.
    PostScript 라는 것은 그래픽 프로그램 등으로 익숙한 Adobe 사에서 프린터를 위해서 제작한 프린터 전용 스크립트 언어입니다. 계단현상같은 것이 없이 깨끗한 고해상도의 품질을 얻을수 있습니다. 요즈음에는 조금 의미는 다르지만, PDF 형식의 파일에 그러한 기술이 적용되었다고 합니다. 그래서, 비교적 고가의 레이저 프린터들은 이러한 PostScript 언어를 하드웨어적으로 해석해 주기 위해서 내부에 해석용 하드웨어를 추가했었습니다. 그래서, 이름도 PostScript프린터라고 합니다. 그리고, 이러한 PostScript 프린터에 적당하게 하기 위해서 PS라는 확장자를 가진 파일들이 리눅스나 유닉스에는 있는데, 이것은 리눅스에서 GhostView라는 프로그램으로 볼 수가 있습니다. 출력은 GhostScript라는 것으로 대신합니다. 또한 Windows 시스템에서는 Acrobat Exchange 라는 프로그램으로 PDF 형식으로 변환할 수도 있습니다.
    보편적으로 개인사용자들이 사용하는 프린터는 잉크젯이나, PostScript가 지원되지 않는 프린터일 것입니다. 필자는 HP 660k 잉크젯프린터를 사용합니다. 따라서 그림 8 에서와 같이 선택하였습니다. 이것은 PostScript를 지원하지 않는 프린터이지만, 리눅스에서 이 기능을 GhostScript 라는 기능으로 대신해주기 때문에 PS 파일도 출력할 수 있는 것입니다.

    (그림 7) 프린터 선택
    (그림 8) HP 660k 프린터선택

⑤ 프린터 세부설정 대화상자

    여기서는 프린터에서 사용할 세부항목을 설정하는 부분입니다. 사용할 종이의 종류라던가 해상도등을 결정합니다. 우리는 A4 사이즈가 거의 표준으로 사용되지만, 미국사람들은 letter라는 사이즈를 즐겨 사용합니다. 그래서 디폴트로 letter가 지정되어있지만, A4로 바꾸어줍니다. 해상도는 프린터에 맞도록 설정하면 되겠지요.

    (그림 9) 프린터 세부설정

    만약 컬러프린터라면 컬러 사용에 관련된 여러 가지 옵션들이 나타나게 됩니다.

⑥ 프린터 설치 최종 정보

    (그림 10)은 지금까지 설정한 프린터의 정보들에 관한 여러 가지 설정등을 확인하는 대화상자입니다. 이상이 없다면 <Done>버튼을 눌러서 진행을 하면 프린터 설정이 완료됩니다. 바꿔야 할 부분이 있다면 <Cancel>버튼을 누르면 됩니다.

    (그림 10) 프린터 정보확인

    여기까지가 리눅스 설치과정중에 우리가 설정할 수 있는 프린터 설정방법입니다. 다음 장에서는 리눅스를 설치하고 난 후에 X-Window의 control-panel에서 프린터를 설정하는 방법을 알아보도록 하겠습니다.

     

▶리눅스 설치후 X-Window에서 프린터 설치하기

    X-Window에서 프린터를 설정하는 방법은 리눅스 설치 과정 중에 프린터를 설정했던 것보다 더욱 비주얼하고 간단하게 설정할 수 있습니다. 제 개인적인 생각으로는 X-Window의 Control-panel에서 프린터를 설정하는 것이 더 능률적이라고 생각합니다. 왜냐하면 좀더 비주얼(?)하고 직관적이기 때문이지요. 그럼 설치과정을 살펴보겠습니다.

① RedHat Linux Print System Manager 대화상자

    (그림 11) X-Window에서 프린터 설정하기 초기화면

    이 과정은 프린터를 새로 추가하고 변경하는 역할을 담당하는 부분입니다. 리눅스 시스템을 설치할 때 프린터 설정을 하였다면 이곳에 나타날 것이고, 그렇지 않으면 화면에서 보시는 것처럼 아무것도 나타나지 않을 것입니다. 참고로 이곳에서 수정하는 내용들은 /etc/printcap 이라는 파일에 그 내용이 저장됩니다.

② Printer type 설정

    <Add> 버튼을 클릭하면 (그림 12)와 같이 4가지 방식의 프린터 설정 타입이 나타나게 됩니다. 이 중에서 하나를 선택합니다. 리눅스 시스템에 프린터가 바로 붙어있는 경우에는 첫 번째 타입인 Local Printer를 선택합니다(대부분이 그렇겠지요) 그리고 나면 (그림13)에서처럼 자동으로 프린터가 어디에 있는지를 찾는 화면이 나타납니다. 필자의 경우 lp0(LPT1)에 프린터를 붙일 수 있다고 포트를 감지하였습니다.

    (그림 12) 프린터 타입
    (그림 13) 프린터 찾기

    <OK>버튼을 누르면 프린터이름(Names)과 스풀디렉토리(Spool Directory) 그리고, 한 사람이 일정량 이상을 프린트하지 못하게 하는 용량제한(File limit in Kb),  프린터의 물리적 장치이름(Priter Device)과 PS 프린터처럼 작동하게 해주는 프린터 필터옵션(input Filter)들을 선택할 수 있습니다.

    (그림 14) 프린터 세부설정

③ Input Filter 선택대화상자

    전 장에서도 언급을 했었지만, 리눅스는 PS파일을 출력하기 위해서 소프트웨어적으로 해석해 주는 GhostScript 라는 것을 사용한다고 했습니다. 여기서 설정하는 사항들이 GhostScript로 프린터를 사용하기 위해서 하는 설정들입니다. 크게 2개의 영역이 있습니다.

    (그림 15) Input Filter 의 선택

    ■Priter type 영역
    화면의 ①번 영역이 되겠습니다. 이곳에서 우리는 사용할 프린터를 선택합니다. 필자는 HP 660k 프린터를 가지고 있어서 HP DeskJet 550C/560C/6xxC series를 선택하였습니다. 독자여러분도 각자에 맞는 프린터를 선택하시면 됩니다. 오른쪽 맨 위쪽 Driver Description 박스에 각 프린터에 대한 설명이 간단히 나옵니다.

    ■Resolution / Paper Size / Color Depth
    HP 660k 는 해상도가 300x300(Color일 경우)이 최대입니다. 종이 Size를 A4 로 선택하였습니다. 그리고 흑백으로 사용할 것인지 칼라로 사용할 것인지를 선택해 줍니다.

    ■Printing Option
    ·Send EOF after-job to eject page?
    이 버튼은 프린터가 출력을 모두 마치고 나서 마지막 장을 프린터 밖으로 내보낼것인지 아닌지를 선택하는 옵션입니다. Windows에서 잉크젯프린터를 쓸 경우에는 당연히 마지막 장은 나오지만 리눅스에서는 이 항목을 체크해야 마지막 장이 배출된다고 합니다.
    ·Fix stair-stepping text ?
    이 버튼은 인쇄할 때 계단현상을 제거할 때 사용하는 옵션입니다. 리눅스에서는 텍스트를 인쇄할때 LF(라인피드)만 사용하기 때문에 CR(캐리지리턴)/LF를 동시에 사용하는 Windows 시스템과 다르게 계단현상이 발생할 수도 있습니다.
    ·fast text printing(non-ps printers only) ?
    이것은 text 만 인쇄할 경우 GS로 해석하지 않고 빨리 인쇄하기 위해서 사용하는 옵션입니다. 그러므로 PS 프린터에서는 당연히 쓸모가 없을 것입니다.
    ·pages per output page
    이 선택 버튼들은 A4 용지 한 장에 출력될수 있는 페이지 수를 정하는 옵션입니다. Windows에서는 A4 한 장에 여러 페이지를 동시에 출력할수 있는 유틸리티가 따로 있습니다. 간단히 내용만 읽어보고자 할 때 이옵션을 사용하게 되면 종이를 절약할수 있을것입니다. 독자여러분들의 프린터가 잉크젯이라면 최대로 2 page 정도가 적당할 것입니다. 그이상 되면 잘 알아보지 못할지도 모릅니다.

    ■Margins 옵션
    이곳은 인치단위로 상하좌우의 여백을 주는 곳입니다. 1인치는 72라는 숫자에 해당됩니다.

    (그림 16) Input Filter 최종설정화면

    (그림 16)은 Input Filter를 모두 입력하고 나서의 화면입니다. 여기서 Suppress Headers라는 옵션이 있는데, 이것은 여러사람이 사용하는 리눅스 프린터에서 인쇄물의 주인을 표시해주는 옵션입니다.

④ 프린터 설정테스트

    (그림 17) 프린터 설정 테스트

    (그림 17)은 최종적으로 설정이 완료된 프린터의 설정을 테스트하는 옵션입니다. 3가지 테스트 모드가 있습니다. 이중에서 PostScript 테스트 옵션을 클릭하면 그림18과 같은 테스트 패턴이 출력됩니다.

    (그림 18) PostScript test 페이지

 

▶SAMBA를 이용한 리눅스 프린터 설정

    SAMBA를 이용해서 리눅스에 설치된 프린터를 Windows 시스템에서 이용하는 방법을 알아보도록 하겠습니다.

    ① SAMBA서버에 root ID로 접속합니다.
    웹브라우저에서 주소를 적는 란에 http://[자신의 IP]:901/ 라고 입력해서 접속합니다.

    ② PRINTERS 라는 버튼을 클릭하고 나서 (그림 19)에서 Create Printer 라는 텍스트박스에 HP660K라고 입력하고나서 버튼을 누르면 (그림 19)와 같은 화면이 나타납니다. 설정을 마치고 난후에 Commit Changes 라는 버튼을 누르고, <STATUS>라는 곳에서 삼바를 Restart 시키면 적용됩니다. 이후에는 (그림 20, 21)과 같이 Windows 탐색기에서 보이게 됩니다.

    (그림 19) SAMBA에서 프린터 추가 작업
    (그림 20)리눅스의 SAMBA로 연결된 컴퓨터(HJS)
    (그림 21) 리눅스에 설치된 HP660K 프린터

    ③ 이제는 Widndows에서 ‘시작->설정->프린터->프린터 추가’ 버튼을 클릭해서 리눅스에 설치된 프린터를 네트워크 프린터처럼 설정하면 됩니다.

    (그림 22) 그림  프린터 추가

 

▶프린터 사용상의 사소한 기술들

    아래와 같이 콘솔상에서 명령을 수동으로 입력해서 프린터의 작동상태를 알아 볼 수 있습니다.

    ① lpc-프린터가 현재 작업을 할 수 있는지 없는지에 관한 사항들을 알려줍니다.
    (그림 23)과 같이 lpc라는 명령을 내리면 lpc>라는 화면이 나오면서 명령을 기다린다. 이때 status라는 명령을 내리면, 현재 프린터들의 상태를 표시해줍니다. lp 와 lp0 에 설정해준 프린터들의 상태를 보여줍니다.

    (그림 23) lpc status 명령

    ② lpq-프린트되고 있는 spool 디렉토리의 상황을 보여줍니다. 마치 윈도우에서 프린터 작업을 보는 것과 같습니다. 현재 (그림 24)에서는 프린터 작업이 없다고 보여줍니다.

    (그림 24) lpq 명령
    (그림 25) Windows의 프린터 상태 창

    ③ lprm - 프린트되고 있는 작업을 삭제할 때 사용합니다.
    사용방법은 lprm <작업번호> 식으로 명령을 내리면 됩니다.

    본 강좌에 대한 자세한 문의사항은 http://www.tcp21.co.kr 홈페이지의 게시판에 올리시거나, linux@tcp21.co.kr(안경훈)로 E-mail을 주시면 답변해 드리겠습니다.




▲ top

 home으로...