[Ubuntu] VirtualBox에서 프린터 사용하기

사용환경

  • 운영체제 : 우분투 10.04 (Ubuntu 10.04 LTS)
  • 커널버전 : Linux 2.6.32-25-generic-pae i686 GNU/Linux
  • 가상머신 : Oracle VM VirtualBox 3.2.10 r66523
  • 하드웨어 : Canon LBP3000

01. 리눅스를 사용하면서 극복하기 힘든 것들

국내의 컴퓨팅 환경은 윈도우즈 환경에 거의 최적화가 되어있어서 리눅스를 메인 운영체제로 전환하면서 불편했던 것은 꽤 많았습니다. 그럼에도 리눅스를 메인 운영체제로 사용하는 이유는 그 만한 가치가 있기 때문일 것입니다.

  1. 문서포맷
  2. 인터넷 환경
  3. 하드웨어 지원

대표적으로 리눅스를 사용하면서 걱정하기 시작한 것은 위와 같습니다.

외국과는 다르게 국내의 문서포멧에 대한 문제는 더 심각한 편입니다. 그 이유는 관공서에서 주력으로 사용하고 있는 국내독점포멧인 HWP 포멧 때문입니다. 얼마 전에 문서포맷을 제한적으로 공개한 HWP 포멧의 경우에는 실질적으로 공개는 했지만 해당 포멧을 지원하는 공개소프트웨어 개발은 요원한 상태입니다.(현재 LibHWP라는 메일링을 구독하고 있는데… 공개한 포맷문서도 잘 정리된 상태는 아닌 것 같다는 군요;; 그리고 hwp포멧을 지원하는 라이브러리 개발을 완료한다고 하더라도 만약에 한컴에서 이의를 제기한다면 고스란히 라이브러리를 갖다 바쳐야되는 상황이라고 알고 있습니다.)

인터넷 환경은 그나마 근래의 스마트폰이 보편화되면서 리눅스 환경에서도 그나마 사용이 용이해졌습니다. 스마트폰을 지원하기 위해서는 어느 정도는 표준에 가까운 사이트 정비가 필요했던 상황이었기 때문이지요. 그리고 IE의 점유율이 그나마 점차적으로 줄어들면서 타 브라우저 사용자들이 증가함에 따라 웹 환경은 정말 많이 좋아졌습니다. 제가 입대하기 전에 리눅스에서 FireFox로는 네이버나 다음에서 로그인조차 되지 않았었지요;;ㅋ

하드웨어 지원은 정말 극복하기 힘든 것입니다.

문서포멧에 대한 문제는 PDF나 ODF와 같이 리눅스에 사용이 가능한 포멧으로 대체가 가능하고, 웹 환경은 차츰 좋아지는 추세이므로 걱정할 것이 없다지만 하드웨어의 경우에는 제조사에서 리눅스를 지원하지 않는다면 정말 대책이 없습니다.

그래서 리눅스를 메인운영체제로 정착한 이 후에 전자제품을 구입할 때 가장 먼저 확인하는 것은 리눅스 환경에서 문제없이 사용할 수 있냐의 문제였습니다.

아이팟의 경우에는 충전만 PC에서 하고 있고, 아이팟에서 촬영한 사진은 그놈의 노틸러스에서도 가져올 수 있습니다.(아이팟에서 음악은 듣지 않으니… 아이튠즈가 필요가 없습니다. 앱은 아이팟 내부의 앱스토어에서 다운로드 받아서 설치한다는;;;)

프린터의 경우도 미리 검색을 해보고서 구입을 했지만, 막상 리눅스용 드라이버를 설치해서 사용하면서도 문제가 많이 있습니다. 그래서 아예 VirtualBox에서 출력을 지원하는 방향으로 작업을 해보았습니다.

02. VirtualBox의 가치

리눅스 사용자에 VirtualBox의 가치는 어마어마합니다.(그래서 Oracle이 Sun을 인수했을 시에 우려가 많이 됬었습니다.) 정말 VirtualBox를 이용 비중이 꽤 높은 편입니다.(그래서 CPU 구입 시에 가상화를 지원하는 여부를 필히 확인했었습니다.)

  1. 문서작업(HWP, DOC)
  2. 프레젠테이션준비(PPT)
  3. 인터넷 뱅킹(농협,KB) – 현재는 iPod으로 대체중
  4. 아이튠즈 이용(iPod 백업을 위해서 간혹가다 이용)
  5. Canon LBP300 프린팅

솔직히 리눅스 자체로도 해결이 가능한 경우도 있지만, 절대 불가능한 작업도 있어서 만약에 VirtualBox가 없다면 어쩔 수 없이 윈도우즈가 설치된 PC가 필요해지는 상황이 발생합니다.

문서작업의 경우에는 오픈 오피스로도 가능하지만, 아무래도 한글이 익숙해서 빠르게 문서작업을 요할 시에는 한글을 이용하는 편입니다.  PPT의 경우에는 최종으로 발표를 진행할 PC에서 오픈오피스에서 작성된 프레젠테이션 파일(ppt)이 이상하게 출력되는 문제 때문에… 왠만하면 MS Office로 작업을 하고 있습니다.

위와 같이 리눅스 사용자임에도 윈도우즈 어플리케이션에 대한 의존도가 높은 편입니다. 그리고 아이튠즈의 경우에는 VirtualBox가 아니라면 이용이 사실 상 불가능하구요. LBP3000의 프린팅은 리눅스 상에서 프린팅이 가능하지만 이상하게도 가끔 그냥 출력명령을 무시해버립니다.(작업이 완료되었다고 나오는데… 문제는 출력작업을 아예 하지를 않습니다. 그래서 가끔 껏다가 켜주는 등의 번거로운 작업을 요합니다.)

예전에 작성했던 문서 중에서 [우분투 10.04 LTS] 캐논 LBP3000 프린터 드라이버 설치에서 우분투 상에서 LBP3000을 사용하는 포스팅을 작성한 적이 있었는 데, 몇몇 패키지들을 업데이트한 이후에 아예 프린팅이 되지 않아서 VirtualBox에서 출력할 방법을 찾아봤습니다.

03. 파일변경

예전에 작성했던 포스팅 중에서 [Ubuntu 10.04 LTS] VirtualBox에서 USB사용이라는 포스팅을 올린 적이 있습니다. 그것과 유사하게 진행이 됩니다. 실질적으로 파일의 내용을 변경하는 부분 외에 나머지는 동일합니다.

Alt + F2를 눌러서 아래의 명령을 넣어줍니다.

gksu gedit /lib/udev/rules.d/50-udev-default.rules

실행을 하면, root 비밀번호를 요구하므로 비밀번호를 입력해줍니다. 이제는 파일의 내용 중에서 아래의 내용을 찾아서 변경해줍니다.

변경을 하기 위한 부분은 usb_device 부분입니다. Ctrl + F를 눌러서 usb_device를 찾아줍니다.

일반적인 USB드라이브라면 아래의 부분을 666퍼미션(rw-rw-rw)으로 변경해주면, VirtualBox에서 USB에 직접 Access가 가능하지만, USB로 연결된 프린터의 경우에는 다른 부분을 손을 봐줘야 합니다.

# libusb device nodes
SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", MODE="0666"

USB로 연결된 프린터에 대한 권한을 변경하기 위해서는 아래의 부분을 변경해줘야합니다.

# printer
(... 중략 ...)
# the ones from the old usblp kernel module
SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", ENV{ID_USB_INTERFACES}=="", IMPORT{program}="usb_id --export %p"
SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", ENV{ID_USB_INTERFACES}==":0701*:", GROUP="lp", MODE="<span style="color: #ff0000;">0777</span>"

위에서 빨간색으로 표시된 부분의 숫자를 777(rwxrwxrwx)로 변경해줍니다.(이렇게 777로 변경하는 것외에 최소한으로 권한을 할당할 수 있을 것 같긴하지만…. 찾기 귀찮아서 그냥 777을 먹여버렸습니다.ㅠ^ㅠ;)

이렇게 설정한 뒤에는 재부팅을 하면, VirtualBox에서 USB 프린터 사용이 가능한 상태가 됩니다.

04. VirtualBox에 프린터 연결 및 드라이버 설치

이제 VirtualBox에서 프린터를 사용할 준비는 완료되었습니다. 이제는 VIrtualBox에 연결된 윈도우XP에 프린터를 연결하고 윈도우용 드라이버를 설치해줘야 합니다.

VirtualBox에 있는 윈도우즈XP를 실행한 후에 하단의 USB 모양의 아이콘을 오른쪽 클릭을 합니다.

그러면 이제 USB 프린터를 VirtualBox에 연결이 가능한 상태가 됩니다. (가끔 무슨 에러가 뜨기도 하지만, 무시하고 계속 시도하면 연결이 됩니다.)

그 후에는 해당 프린터에 적합한 윈도우즈 드라이버를 설치한 이후에 VirtualBox 내부에서 프린터를 사용하시면 됩니다.

05. 테스트

위의 과정들은 하드웨어의 환경에 따라서 가능하지 않을 수도 있습니다. 그래서 혹시나 이 포스트를 보고서 시도해봤을 시에 문제가 발생한다면, 저에게 피드백을 주시면 감사하겠습니다.

정확한 것은 아니지만 몇 가지 고려해야할 하드웨어의 조건들입니다.

  1. CPU가 가상화를 지원하는가?
  2. 리눅스에서 프린팅이 가능한 상태에서 VirtualBox에서 프린팅이 가능한 것인가?

CPU가 가상화를 지원한다는 의미는 VirtualBox를 사용할 때 꽤나 큰 의미를 가집니다.(정말 빠른 VirtualBox의 사용이 가능하거든요…) 가상화의 지원여부에 따라서 위의 작업이 가능하지 않을 수 있다는 점입니다.(제 PC의 경우에는 가상화를 지원하는 Intel Core2Quad Q9550을 사용하고 있어서… 가상화를 지원하지 않는 환경에서의 테스트는 진행해보지 못했습니다.)

그리고 추가적인 고려사항으로는 리눅스에서 프린팅이 가능한 상태에서만 위와 같은 작업이 가능하냐의 문제입니다.(실제로 어떤 방식으로 동작하는 지를 알 수 없지만 아마 이 부분은 아닐 것이라고 생각하고는 있습니다.) 아마도 이 문제는 거의 문제가 없을 것으로 보고 있습니다.

만약에 본인의 프린터가 리눅스용 드라이버가 없으시다면 위와 같은 방법으로 프린팅을 해보시는 것도 나쁘지 않을 것 같습니다.

PS. 그리고 저에게 피드백을 주시면 해당 포스트를 보완하도록 하겠습니다.