Receta 112

De GhostWiki
Revisión del 17:47 1 sep 2010 de Angeld (discusión | contribuciones) (En proceso)
Saltar a: navegación, buscar

Receta_112

Título: Cómo utilizar una impresora GDI (winprinter) desde Linux.

Autor: AngelD (angeld en froga punto net)

El último recurso a utilizar cuando se dispone de una impresora que no funciona en tu sistema.

Antes de empezar

La realización de estas tareas supone un trabajo arduo y poco gratificante, por lo que no uses este método a menos que no tengas alternativa, e invierte en hardware que no sea utilizable sólo en windows.

El problema

Tengo que hacer funcionar una impresora gdi, en concreto una Konica Minolta Magicolor 2500W en Linux. Esta impresora USB no tiene ningún tipo de driver para sistemas que no sean windows, por lo que sólo se puede utilizar por medio de una emulación.

Para solucionar este problema se opta por una virtualización completa de una máquina windows, para que el software de la impresora pueda funcionar.

Entorno utilizado

  • Máquina host
    • Debian Squeeze AMD64
    • Intel Core i7
    • Mucha RAM
    • nVidia
  • Konica Minolta Magicolor 2500W

Eligiendo la virtualización

Para añadirle más emoción, la máquina host tiene una tarjeta nVidia con los drivers privativos para que funcione correctamente [cierto software].

KVM

Mi opción preferida. Forma parte del sistema y no hay que hacer prácticamente nada para que funcione.

Tras la instalación de la máquina virtualizada, se arranca esta con la impresora USB conectada con el parámetro:

-usb -usbdevice host:132b:2045

La máquina virtualizada detecta la impresora correctamente, pero a la hora de imprimir, ..., maravilloso pantallazo azul.

Al parecer KVM no se lleva bien con los dispositivos USB 2.0.

Se descarta KVM. Es posible que futuras versiones solucionen el problema.

Xen

Una virtualización muy madura. Tras la instalación del kernel adecuado en la máquina host, se descubre que los drivers privativos de nVidia dejan de funcionar. Parece que nVidia está trabajando en ello, pero en el momento de mis pruebas no fui capaz de hacerlo funcionar, ni siquiera compilando módulos del kernel como si Xen no existiera.

Sospecho que con Xen se puede llegar a hacer funcionar, pero no llegué ha hacer pruebas mas allá.

Oracle VirtualBox

Una opción que no me gusta nada. VirtualBox tiene una versión libre, pero todas las cosas "guais" como el soporte para USB, que al final son las que necesitas, sólo están en la versión no libre, aunque gratuita.

Tras la instalación de la máquina virtualizada, y escoger la impresora USB, esta es detectada e imprime.

Instalar la impresora Postscript virtual

Una vez tengamos la máquina virtual (da lo mismo cual se utilice), la red de la misma y la impresora funcionando, podemos pasar a este paso que consiste en crear una impresora Postscript que redirigirá los trabajos de impresión hacia la impresora GDI.

Agradecimientos

Este mini manual ha sido posible gracias a esta página, que sirve como referencia para todo el proceso.

Requerimientos

De la página de Ghostscript necesitaremos Ghostscript, GSview y RedMon

Instalar el software

Tras tener la impresora funcionando, se instala el software en este órden:

  • Ghostscript - El software de emulación Postscript.
  • GSview - Visor y procesador de impresión Postscript.
  • RedMon - Redirector de puertos de impresora

La impresora Postscript

Tras tener instalado el software, creamos una impresora con estas características:

  • Impresora local. Nada de "Plug and Play".
  • El puerto de impresora tiene que ser un "Redirected Port".
  • El driver de la impresora tiene que ser un driver Postcript, en este caso se ha utilizado una Apple Color LW 12/660 PS

Una vez instalada la impresora, se configura el puerto de la misma, con las siguientes características:

  • Redirect this port to the program:
C:\Archivos de programa\Ghostgum\gsview\gsprint.exe
  • Arguments for this program are:
-printer "KONICA MINOLTA magicolor 2500W" -color -

El nombre de la impresora debe de ser exacto, así como los guiones y espacios.

Tras esto, si mandamos una página de prueba por la impresora postscript, esta debe de llegar a salir por la la impresora física.

Enlaces

http://www.xen.org
http://www.linux-kvm.org
http://www.virtualbox.org
http://pages.cs.wisc.edu/~ghost/ http://mirror.cs.wisc.edu/pub/mirrors/ghost/GPL/gs871/gs871w32.exe
http://mirror.cs.wisc.edu/pub/mirrors/ghost/ghostgum/gsv49w32.exe
http://mirror.cs.wisc.edu/pub/mirrors/ghost/ghostgum/redmon17.zip

Referencias

http://forums.gentoo.org/viewtopic-t-819521-start-0.html
http://albertomolina.wordpress.com/2009/07/15/xen-y-controlador-privativo-nvidia-por-finto/
http://es.wikipedia.org/wiki/Postscript
http://iharder.sourceforge.net/current/macosx/winmacprinter/