2018년 2월 10일 토요일

우분투 프린터 서버 설치, 아이폰 AirPrint 사용하기



우분투 프린터 서버 설치, 아이폰 AirPrint 사용하기
일반프린터 무선프린터로 사용하기.
일반프린터 AirPrint로 사용하기.
아이폰 AriPrint.
-------------------------------------------------------------------

NAS를 하나 구축한 건, 정말이지 잘했다는 생각이 든다.
이제서야 남는 프린터 한 대로 프린터 서버를 설치하게 되었는데,
정말이지 너무 만족스럽다.


남는 프린터 한 대를, 우분투로 구축한 NAS에 (USB) 연결을 한다.
이제 일반프린터를 무선프린터로 만들어보자.


sudo apt-get install cups

설치완료. ============================================






설정 부분 수정.

sudo vi /etc/cups/cupsd.conf
------------------------------------------------------------------------
#localhost:631
Port 631

<Location />
  # Allow remote access...
  Order allow,deny
  Allow all
</Location>
<Location /admin>
 Order deny,allow
 Allow From 192.168.0.*
</Location>
<Location /admin/conf>
  AuthType Default
  Require user @SYSTEM
  Order deny,allow
  Allow From 192.168.0.*
</Location>
------------------------------------------------------------------------
설정 파일을 수정해준다.
localhost:631 부분은 주석처리하고, Port 631로 바꿔준다.
기타 그 이하는 겹치는 게 있으면 추가 안 해도 되고, 나머지 부분은 추가해주면 된다.
내부 네크워크만 허용한다는 의미이다.


설정이 완료 되었으면,
ESC
:wq

설정 완료 =============================================
후,




sudo /etc/init.d/cups restart
재실행을 해준다.









여기까지 완료되었으면, 확인을 해보다.

인터넷창을 하나 띄운뒤,

본인 내부 IP:631 
ex) https://192.168.0.33:631
로 접속을 해본다.

안 된다.
하아.. 이건 또 뭔가.. 왜 안 되나.. 했는데
방화벽 (ㅋ)

방화벽에 포트 631을 추가한 뒤, 다시 접속을 해보면 예쁘게 잘 나온다.

여기서 프린터 부분을 설정해준다.


리눅스(NAS로 쓰고있는)에 프린터 드라이버를 설정하고, 출력할 수 있게 제어해주는 화면이다.


이제 프린터를 잡아주도록 한다.









로그인을 물어보면, 본인 NAS 아이디와 비밀번호를 치면 된다.





우분투에 연결된 로컬 프린트가 잘 나와있다.
Continue ㄱㄱ



이름 적당히 알아서 잘 잡혀있으니, 신경 안 써도 되고,
Share This Printer 부분에 체크를 해주도록 하자.
Continue.




자.. 이 화면이 나와버렸다.
우리집 프린터가 M2020 모델인데, 그냥 맨 위에 있는 아무 드라이버 선택한 뒤,
해봤더니, 안 된다.
꼭 본인 프린터 모델에 맞는 드라이버를 선택해야 한다.
웬만한 프린터는 다 있을 거라곤 했지만, 우리집 프린터 모델 드라이버는 없었다.

여기서부터 당신이 헤쳐나가야할 단계이다.

나 같은 경우는, 구글에 '프린터 모델명, 리눅스 다운로드(ex. Samsung M2020 리눅스 다운로드)'
요리조리 검색을 해서 드라이버를 구하였다.
우리가 필요한 건 윈도우용 프린터 드라이버(exe) 가 아니다.
리눅스용으로 설치해야한다.

그리고 리눅스 버전에는 PPD 파일이 있는건지 뭔지 없었고, 알집으로 되어있는 드라이버를
다운 받은 뒤, install.sh 을 실행하여 설치했다.

설치하면, cups에 자동으로 추가된다.


다시 단계적으로 진행해서 오면,
Mode : Samsung M2020 Series 라는 드라이버(맨 위)가 설치된 것을 확인할 수 있다.


선택 후, Add Printer !





나는 그냥 퀄리티만 high로 설정해주고 set Default Options 눌러주었다.
누르고 나면 성공! 화면이 나온다.






Printers를 클릭하여 이동해보면 추가가 잘 되어있는 걸 확인할 수 있다.










혹시 잘못 작성해서 설정된 저 프린터를 삭제하고 싶으면,
Queue Name 의 프린트 이름을 클릭한 뒤,

이 콤보박스를 클릭하여 Delete Print를 선택한 뒤,

삭제해주면 된다.
(삭제하는 부분 없는 줄 알고 한참 찾았다.)



프린터 설정 완료 ==========================================

서버에서 설정할 부분은 완료가 되었다.
잠시 몸 풀고, 커피 한 잔 마시고 오자.





==========================================================
==========================================================
==========================================================


이제 가벼운 마음으로 프린트를 해보자.
지금까지 한 것은, 우분투를 서버로 쓰고 있는 부분을 수정한 것이고,
이제 윈도우10에서 인쇄를 하면, 정보를 쏴서, 우분투에서 받아서 인쇄를 한다.

윈도우10에서 네트워크 프린터를 잡아본다.





제어판에서 '장치 및 프린터'




프린터 추가를 클릭




기다릴 필요없이, '원하는 프린터가 목록에 없습니다.' 를 클릭한다.




'이름으로 공유 프린트 선택'을 선택 후, 이 안에 주소를 넣어준다.
어느 주소냐면, 우리가 서버에서 설정했던





이 CUPS 화면에서 추가했던 프린터를 클릭하면,



이런 화면이 나오는데, 이때, http 주소를 복사를 한 뒤,




이렇게 붙여넣기 한다.
https 로 붙여넣기 되어있을 텐데, s를 빼야한다. 
http://~~  로 주소를 넣고 '다음' 버튼 눌러서 완료하면 된다.



자!
이제 기쁜 마음으로 아무 메모장이나 워드를 열고, 아무거나 적은 뒤, 인쇄를 하여
방금 설정했던 저 프린트를 선택하고 출력을 해보자.

잘 될 것이다!!!!!!!!!!














그렇다. 다른 사람들은 잘 된다고 하더라.
난 안 됐다. ㅆ....


내가 출력하면,
---------------------------------------------------------------
@PJL COMMENT ~~~~~
@PJL COMMENT
@PJL SET
@PJL DEFALT
@PJL COMMENT
@PJL ......
@PJL ....
@PJL ...
@PJL
@PJL
@PJL
@PJL
@PJL
@PJL
@PJL
@PJL
@PJL
---------------------------------------------------------------
종이에 이런식으로 인쇄가 되어 나온다..
아무리 해봐도 저런식으로 나오는데,
검색해보니, http로 할 때, 이런 이슈가 있다고 한다.
삼바(Samba)로 잡아서 설정하면 해결된다고 한다.



저렇게 해서 잘 된 사람은 그냥 쓰면 될 것 같고,
안 된 사람이 있다면, 삼바부터 설치하고 오도록 하자.


삼바는 보통 설치하고 이용하고 있을 테니, 바로 설정 부분으로 간다.





프린터 삼바설정.

vi /etc/samba/smb.conf
-------------------------------------------------------
[global]
printcap name = cups
load printers = yes
cups options = raw
printing =cups

[printers]
   //comment = All Printers
   browseable = no
   path = /var/spool/samba
   printable = yes
   //guest ok = no

   read only = yes
   create mask = 0700
   comment = Shared Printer
   quest ok = Yes
   use client driver = Yes
-------------------------------------------------------
프린터 삼바 설정 완료 ====================================


후에,
sudo /etc/init.d/smbd restart 
로 재시작.




겹치는 부분이 있다면, 알아서 잘 주석처리 해주면서 추가해주면 된다.
'아니 프린터를 하는데 삼바로 하다니 뭔 구조? 뭐 어떻게 나타난다는 것?' 이라며 궁금해했는데,

우리가 삼바에서 폴더부분을 설정해주면, 네트워크 드라이버로 연결했을 때
해당 폴더가 보이는 것 처럼,
저렇게 설정해주면, 폴더처럼 프린터 부분이 보인다.


즉,
폴더 하나를 열어서
\\192.168.0.XX 을 쳐준다.



이렇게 설정이 완료 됐으면, 프린터가 삼바로 잡혀있다.






다시 장치 추가해보자.







이 부분을 이제 어떻게 채워넣느냐.
아까 이 부분을
https://192.168.0.XX:631/printers/Samsung_M2020_Series1
이렇게 채워넣었을텐데 이걸
\\192.168.0.XX\Samsung_M2020_Series1
이렇게 채우고, 다음을 누른다.

그럼 삼바로 잡힌 프린터가 추가된 것을 볼 수있다.

워드나 메모장에 아무거나 적고 인쇄를 해보았더니 아주 잘 된다.


일반 프린터, 무선 프린터로 사용하기 완료 =============================


이렇게 되면, 같은 공유기를 쓰는 어떤 PC든 간에, 공용으로 저 프린터를 쓸 수 있다.









##################################################################




이제 아이폰, 아이패드에서 AirPrint 기능이 있는데, 이걸 잡아보도록 하자.
솔직히 이것까지 될 줄은 몰랐다.
정말 소소한 부분에서 애플에 항상 감동받는다.
아이폰 쓴지 3년 됐는데, 또 감동 받을 줄이야.

아무튼 설정을 해보자.
생각보다 간단했다.



새로운 파일을 하나 생성해야 한다.

sudo vi /etc/avahi/services/printer.service
---------------------------------------------------------------------------------------
<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE service-group SYSTEM "avahi-service.dtd">
<service-group>
  <name replace-wildcards="yes">AirPrint Samsung M2020 @ %h</name>
  <service>
    <type>_ipp._tcp</type>
    <subtype>_universal._sub._ipp._tcp</subtype>
    <port>631</port>
    <txt-record>txtvers=1</txt-record>
    <txt-record>qtotal=1</txt-record>
    <txt-record>Transparent=T</txt-record>
    <txt-record>URF=none</txt-record>
    <txt-record>rp=printers/Samsung_M2020_Series</txt-record>
    <txt-record>note=Raw Queue with Samsung driver </txt-record> 
    <txt-record>product=(GPL Ghostscript)</txt-record>
    <txt-record>printer-state=3</txt-record>
    <txt-record>printer-type=0x82b01c</txt-record>
    <txt-record>pdl=application/octet-stream,application/pdf,\
       application/postscript,image/gif,image/jpeg,image/png,\
       image/tiff,image/urf,text/html,text/plain,\
       application/vnd.cups-banner,application/vnd.cups-command,\
       application/vnd.cups-pdf,\
       application/vnd.cups-postscript</txt-record>
   </service>
</service-group>
---------------------------------------------------------------------------------------
새로운 파일을 저렇게 만들어준다.
굵은 부분은 자기에 맞게 바꿔 주면될 것이다.
중요한게 rp=
부분인데, 여기서 경로를 지정해주는 것 같으니, 해당 경로를 주의깊게 적으면 될 것이다.



그리고 깔끔하게 재부팅을 하고.

아이폰으로 넘어가보면,

메모나, 인터넷이나, 들어가서 프린터를 눌러보면,




처음엔 프린터 부분에 아무것도 없을텐데, 클릭을 해보면
알아서 검색한 뒤, 검색한 프린트를 선택하면, 저렇게 잡혀있는 것을 볼 수 있다.
ㄷㄷ

감동이다.

아이패드도 잘 되고, 아이폰도 잘되며, 맥북에서도 아주 잘 된다.
굉장히 만족스럽다.


안드로이드에서도 되나? 해서 이것저것 해봤는데
의지가 크지 않은지, 잘 안 됐다.


끝.









댓글 없음:

댓글 쓰기