오늘 printer driver를 설치 하는데 진땀뺏다.
printer 기종이 “FUJI XEROX DocuCentre-IV C2265 “ 인데 이건 linux open printer driver인 foomatic에 포함되어 있지 않더라. 여기에 포함되어 있으면 그냥 package만 깔아서 자동으로 driver 설치하고 되는지 확인하면 끝나는 거였는데…
하지만 우회하는 방법이 있다. Mac에서 쓰는 ppd file을 가져와서 수정을 하면 된다.
방법을 알아보면…
1. 필요 package 설치.
# apt install dmg2img libssl-dev hfsprogs build-essential
2. Fuji Xerox site에서 Mac용 driver download
http://onlinesupport.fujixerox.com/tiles/common/hc_drivers_download.jsp?system=%27Mac%20OS%20X%2010.10%27&shortdesc=null&xcrealpath=http://onlinesupport.fujixerox.com//driver_downloads/fxmacprnps1609am106iml.dmg
대충 Mac OS 10.10 의 driver로 받음.
위에 링크를 그대로 받으면 dmg 형식의 file이 하나 생긴다.
3. dmg file을 dmg2img tool을 이용해서 img file로 바꾼다.
# dmg2img fxmacprnps1509am105iml.dmg
dmg2img v1.6.5 (c) vu1tur (to@vu1tur.eu.org)
fxmacprnps1509am105iml.dmg –> fxmacprnps1509am105iml.img
decompressing:
opening partition 0 … 100.00% ok
opening partition 1 … 100.00% ok
opening partition 2 … 100.00% ok
Archive successfully decompressed as fxmacprnps1509am105iml.img
4. 얻은 img file을 mount한다.
# mount -o loop -t hfsplus fxmacprnps1509am105iml.img /mnt/test
# ls /mnt/test
total 34676
drwxrwxrwx 29 root root 4096 10월 14 20:01 ..
drwxr-xr-x 1 501 80 8 9월 11 2015 .
-rw-r–r– 1 501 dialout 17530 9월 11 2015 readme.txt
-rw-r–r– 1 501 dialout 27088819 9월 11 2015 Fuji Xerox PS Plug-in Installer.pkg
———- 1 root 80 8388608 9월 10 2015 .journal
———- 1 root 80 4096 9월 10 2015 .journal_info_block
dr-xr-xr-t 1 root root 2 9월 10 2015 .HFS+ Private Directory Data?
안에 이런 file들이 들어 있는데 여기서 필요한건 Fuji Xerox PS Plug-in Installer.pkg 이다.
4. xar tool install
자.. 이제 Fuji Xerox PS Plug-in Installer.pkg를 살펴보자.
# file Fuji\ Xerox\ PS\ Plug-in\ Installer.pkg
Fuji Xerox PS Plug-in Installer.pkg: xar archive version 1, SHA-1 checksum
xar archive 란다…
xar는 eXtensible Archiver 라는MAC에서 쓰는 압축 방식같다. 이걸 풀려면 xar라는 tool이 필요한데, 아래와 같이 설치 한다.
먼저 git에서 xar tool의 source를 받는다.
# mkdir ~/src/ && cd ~/src/
# git clone https://github.com/mackyle/xar.git
# cd xar/xar
# ./autogen.sh –noconfigure
# ./configure
# make
# sudo make install
만약 중간에 error가 뜬다면 해당 라이브러리를 설치 해줘야 한다.
# xar –version
xar 1.6.1
이렇게 나오면 성공!
이제 압축을 풀어보자.
# xar -xvf Fuji\ Xerox\ PS\ Plug-in\ Installer.pkg -C /mnt/unzip
# cd /mnt/unzip/ppd.pkg
# cp -av Payload{,.cpio.gz}
# mkdir ppd && cd ppd
# cpio -id < ../Payload.cpio
5. PPD file 수정 및 print 설치
이렇게 하면 Library 라는 directory하나가 생긴다. 이 Library/Printers/PPDs/Contents/Resources안에 우리가 원하는 ppd file이 있다.
# cd Library/Printers/PPDs/Contents/Resources/
# mkdir /mnt/ppd
# cp -av ‘FX DocuCentre-IV C2265 PS.gz’ /mnt/ppd/
# cd /mnt/ppd
# gunzip FX\ DocuCentre-IV\ C2265\ PS.gz
# mv ‘FX DocuCentre-IV C2265 PS’ c2265.ppd
후… 이제 원하는 PPD file을 얻었다.
자 이제 이걸 linux에서 잘 사용 할 수있도록 수정을 조금 하자.
# vim c2265.ppd
…
*APPrinterIconPath: “/Library/Printers/FujiXerox/Icons/FX DocuCentre-IV C2265.icns”
*cupsFilter: “application/vnd.cups-postscript 0 /Library/Printers/FujiXerox/Filter/FXPSACEFilter”
*APDialogExtension: “/Library/Printers/FujiXerox/PDEs/FXPSACEAccount.plugin”
*APDialogExtension: “/Library/Printers/FujiXerox/PDEs/FXPSACEImageOptions.plugin”
*APDialogExtension: “/Library/Printers/FujiXerox/PDEs/FXPSACEWatermark.plugin”
*APDialogExtension: “/Library/Printers/FujiXerox/PDEs/FXPSACEFeatures.plugin”
…
이거를
*cupsFilter: “application/vnd.cups-postscript 0 pstops”
이렇게 바꾸면 된다.
그리고 이제 web browser로 http://localhost:631/ 로 들어간 다음. cups를 이용해서 printer를 추가하면 된다. 이 때 PPD file 추가하는곳에 우리가 만든 file을 넣어주면 된다.
test로 print를 해보면 아마 잘 나올 것이다. ㅎㅎ