개요

무선인쇄를 지원하는 프린터라 하더라도 airPrint를 지원하지 않는 모델들이 종종있다. 현재 사용중인 brother의 HL-1210W가 가성비가 훌륭하지만 아쉽게도 airPrint를 지원하지 않고, 별도 제조사에서 제공하는 iPrint를 사용해야 하지만, 아이폰/아이패드에서 직접 인쇄하는 방식이 아니라 앱을 켜서 인쇄를 해야하므로 불편하다.

이미 무선으로 프린터를 잘 세팅하여 사용하고 있지만, 아이패드에서 프린트를 못해 에어드랍으로 PC로 넘겨 인쇄해야만 했는데, 문득 이걸 왜 해결하지 않고 있었나 하여 정리를 해보고자 한다.


요구사항

  • 로컬네트워크에 연결된 리눅스 서버
  • CUPS를 지원하는 프린터 : 여기서는 brother의 HL-1210W를 예로 든다.
  • 테스트할 iOS장비

CUPS 설치 및 설정

  • 현재 사용중인 서버는 우분투 18.04이지만, 다른 배포판도 크게 다르지 않다. 설정은 우분투를 기준으로 한다.

CUPS 설치

$ sudo apt install cups

사용자 추가

USERID 는 사용자 계정의 이름으로 대치한다.

$ sudo usermod -a -G lpadmin _USERID_
$ sudo usermod -a -G sys _USERID_

CUPS 설정파일 수정

CUPS는 웹 인터페이스에서 설정할 수 있는데 이를 허락해준다. 특히 localhost가 아닌, 다른 클라이언트에서 접속할 수 있도록 cups 설정파일을 수정한다.

$ sudo vi /etc/cups/cupsd.conf

아래 라인들을 수정한다

 15 # Only listen for connections from the local machine.
 16 # Listen localhost:631 # -> comment out
 17 Port 631			# -> add
 18 Listen /var/run/cups/cups.sock

...

 30 # Restrict access to the server...
 31 <Location />
 32   Order allow,deny
 33   Allow all			# -> add
 34 </Location>
 35 
 36 # Restrict access to the admin pages...
 37 <Location /admin>
 38 #  Order allow,deny	# -> comment out
 39 </Location>

방화벽에서 631포트 오픈하기

기본적으로 포트가 막혀있으므로, 해당 포트를 오픈해둔다.

$ sudo iptables -A INPUT -p tcp --dport 631 -j ACCEPT  

CUPS 서비스 재시작

$ sudo service cups restart

프린터 드라이버 설치하기

brother 공식페이지에서 리눅스용 드라이버 설치스크립트를 다운받는다. 공식페이지에서는 rpmdeb 패키지를 제공하며, 드라이버를 검색해서 받을 수 있는 스크립트를 제공한다.

드라이버 설치 스크립트 및 패키지 다운로드

다운로드 페이지

다운받은 파일의 압축을 풀고, 실행권한을 준 뒤, 드라이버이름을 검색하고 설치한다.

$ gunzip -c linux-brprinter-installer-2.2.2-1.gz > printer-installer
$ chmod +x printer-installer
$ sudo ./printer-installer
Input model name ->hl-1210w

You are going to install following packages.
   hl1210wlpr-3.0.1-1.i386.deb
   hl1210wcupswrapper-3.0.1-1.i386.deb
OK? [y/N] ->y
참고로, 아치 리눅스라면 (AUR) brother-hl1210w을 통해 손쉽게 드라이버를 설치할 수 있다.

CUPS 웹 인터페이스에서 프린터 추가 및 설정

서버의 아이피를 사용하여 웹 인터페이스에 접속한다. 서버의 아이피가 192.168.0.54이라면, 접속할 주소는 http://192.168.0.54:631로 접속하면 된다.

접속하면 아래와 같은 화면이 보일것이다. 위 메뉴중 Administrator를 누른다.

cups_1

PrintersAdd Printers버튼을 클릭한다.

cups_2

추가를 위한 페이지인지라, https로 접속해야한다고 한다.

cups_3

다시 페이지가 로딩되는데 자세히 보면 https로 접속이 되어있다. Add Printer를 클릭하면, 로그인창이 뜰것이다. 서버상의 계정아이디와 비밀번호를 입력한다.

cups_4

몇초간의 로딩이 끝나면 감지된 로컬 및 네트워크 프린터가 뜰 것이다. 내 경우 이미 무선으로 프린터가 세팅되어있으므로, HL-1210W 프린터가 감지되어있다. 프린터를 선택한 뒤 Continue를 누른다.

cups_5

네트워크에 보여질 프린터의 이름, 설명, 위치(Location)등을 설정할 수 있다. 여기서 반드시 Share This Printer를 클릭해둔다. 이렇게 해야 iPad 및 iPhone에서 프린터가 감지된다. 설정을 마치면 Continue를 누른다,

cups_6

추가한 프린터의 드라이버를 지정해주는 화면으로 넘어간다. 앞서 이미 터미널틀 통해 드라이버를 설치해두었으므로, Brother HL-1210W for CUPS (en)을 찾아 클릭해둔다. 이상하게 두개가 보이는데 아무거나 선택하면 된다. Add Printer를 누른다.

cups_7

프린터의 기본 옵션을 지정하는 화면이다. A4로 선택하고 Set Default Options를 클릭한다.

cups_8

설정이 완료되었다.

cups_9

상단의 Printers 메뉴를 누르면 프린터가 정상적으로 설치되었음을 확인할 수 있다.

cups_10


iOS에서 테스트

아이패드에서 잘 감지되는지 확인하고 프린트해본다.

airPrint on iPad1

airPrint on iPad2