¿Cómo hago funcionar la impresora/fotocopiadora Toshiba e-STUDIO 162 con Ubuntu?
Ante los representantes gremiales de la Confederación General del Trabajo, Juan Perón expone los lineamientos de su política de gobierno y explica cómo hacer funcionar la impresora Toshiba e-STUDIO 162 con Ubuntu.

"(...) O hay algo peor: el sabotaje al país. Pero ahí están las compañías cerealistas, que tendrán que responder a estas cosas. Porque estén seguros de que ellos saben mejor que nosotros los precios, y no vendieron: lo tienen guardado para venderlo cuando valga trescientos... Y con las carnes lo mismo.

Todos esos señores deben poner las cartas en la mesa. Es decir, nos hemos convertido en una factoría de avariciosos concupiscentes, donde todo es a base de trampa, todo es a base de maniobras; donde los intermediarios se quedan con el santo y la limosna, mientras los usuarios y los productores son los que pagan con esfuerzo y con sacrificios, y algunas veces con la ruina, el esfuerzo de su trabajo y de su producción.

Es decir que antes de ponernos a pensar en grandes desarrollos, tenemos que ponernos a pensar en corregir todas estas secuelas de infamias que se han apoderado del cuerpo físico de nuestra Nación. Piensen ustedes que esto es como cuando uno se enferma y está por estirar la pata, que no se pone a pensar en las grandezas que pueda realizar, sino primero en arreglar su salud.

En el caso de las fotocopiadoras multifunción en Ubuntu es más o menos lo mismo: antes que ponerse a pensar en hacerles funcionar todos los chirimbolos que la componen, mas vale que impriman. Eso, que es poco, ya es algo y es preferible a la nada.

La Toshiba e-STUDIO 162 es una antigua impresora multifunción de 12 páginas al minuto, orientada a oficinas pequeñas. Dotada con escáner, es capaz de fotocopiar y enviar por fax documentos de tamaño A3. Cuenta con conexión USB y de puerto paralelo para conectarla a una computadora.
Esta unidad es gorila, y no funciona automáticamente con Ubuntu: la mayoría de las funciones no las realiza a través de su propio microprocesador y memorias, sino que más bien utilizan los de nuestro sistema, empleandopara ellos un controlador de software propietario específico, escrito para el sistema operativo Window$. Este concepto de "Winprinters" es totalmente excluyente y abyecto, y ha de ser combatido y corregido siempre que se pueda por quienes verdaderamente aman la Justicia Social.

Normalmente debemos despreciar este tipo de equipos incompatibles: al fin y al cabo, sus fabricantes han despreciado la libertad de sus usuarios, y sólo han comercializado un producto que nos obliga a ser esclavos para utilizarlos.

Afortunadamente, Ubuntu cuenta con CUPS, un intermediario libre que se encarga de compatibilizar por software cierto tipo de impresoras haciendo uso de las características mínimas comunes. Esto normalmente dejará fuera de la ecuación de trabajo a la subunidad de escáner o la del fax, y no permite el uso de la función de impresión doble faz, ni ajustar a fondo las propiedades de la impresión como la cantidad de toner aplicado. Pero al menos nos permitirá libremente imprimir, que es lo principal. Para las funciones de Fax y de fotocopiado se podrá usar la máquina independientemente sin conectarla a la computadora (lo cual es posible gracias a su microprocesador propio).

Para hacer funcionar la impresora con el intermediario de impresión CUPS ha de utilizarse un archivo de compatibilidad Postscript PPD llamado plxmono, con el cual la copiadora tornará mínimamente compatible y se verá capaz de imprimir en una módica escala de grises. Os indicaré cómo fabricar este archivo específico. También habrán de usar la conexión por medio del puerto USB (cuyo cable no está suministrado en la caja, y debe adquirirse por separado). La conexión por cable paralelo no funcionará.

El archivo PPD guarda un código específico que instruye a la impresora. Afortunadamente es sencillo introducirlo a mano, ya con las instrucciones necesarias para el funcionamiento normalizado de la e-STUDIO 162. Para ello abrimos una Terminal con Ctrl+Alt+T e indicamos el siguiente Comando de Organización:

sudo gedit /usr/share/ppd/custom/Toshiba-e-Studio_162-plxmono.ppd

Ingresamos nuestra contraseña de Conductor, y se abrirá una página en blanco. A la misma le pegamos el siguiente código:

*PPD-Adobe: "4.3"
*%
*% For information on using this, and to obtain the required backend
*% script, consult http://www.openprinting.org/
*%
*% This file is published under the GNU General Public License
*%
*% PPD-O-MATIC (4.0.0 or newer) generated this PPD file. It is for use with
*% all programs and environments which use PPD files for dealing with
*% printer capability information. The printer must be configured with the
*% "foomatic-rip" backend filter script of Foomatic 4.0.0 or newer. This
*% file and "foomatic-rip" work together to support PPD-controlled printer
*% driver option access with all supported printer drivers and printing
*% spoolers.
*%
*% To save this file on your disk, wait until the download has completed
*% (the animation of the browser logo must stop) and then use the
*% "Save as..." command in the "File" menu of your browser or in the
*% pop-up manu when you click on this document with the right mouse button.
*% DO NOT cut and paste this file into an editor with your mouse. This can
*% introduce additional line breaks which lead to unexpected results.
*%
*% You may save this file as 'Toshiba-e-Studio_162-pxlmono.ppd'
*%
*%
*FormatVersion:    "4.3"
*FileVersion:    "1.1"
*LanguageVersion: English
*LanguageEncoding: ISOLatin1
*PCFileName:    "PXLMONO.PPD"
*Manufacturer:    "Toshiba"
*Product:    "(e-Studio 162)"
*cupsVersion:    1.0
*cupsManualCopies: True
*cupsModelNumber:  2
*cupsFilter:    "application/vnd.cups-postscript 100 foomatic-rip"
*cupsFilter:    "application/vnd.cups-pdf 0 foomatic-rip"
*%pprRIP:        foomatic-rip other
*ModelName:     "Toshiba e-Studio 162"
*ShortNickName: "Toshiba e-Studio 162 pxlmono"
*NickName:      "Toshiba e-Studio 162 Foomatic/pxlmono (recommended)"
*PSVersion:    "(3010.000) 550"
*PSVersion:    "(3010.000) 651"
*PSVersion:    "(3010.000) 652"
*PSVersion:    "(3010.000) 653"
*PSVersion:    "(3010.000) 704"
*PSVersion:    "(3010.000) 705"
*PSVersion:    "(3010.000) 800"
*PSVersion:    "(3010.000) 815"
*PSVersion:    "(3010.000) 850"
*PSVersion:    "(3010.000) 860"
*PSVersion:    "(3010.000) 861"
*PSVersion:    "(3010.000) 862"
*PSVersion:    "(3010.000) 863"
*PSVersion:    "(3010.000) 864"
*PSVersion:    "(3010.000) 870"
*LanguageLevel:    "3"
*ColorDevice:    False
*DefaultColorSpace: Gray
*FileSystem:    False
*Throughput:    "1"
*LandscapeOrientation: Plus90
*TTRasterizer:    Type42
*1284DeviceID: "DRV:Dpxlmono,R1,M0,F1,P0,TG;"

*driverName pxlmono: ""
*driverType G/Ghostscript built-in: ""
*driverUrl: "http://www.ghostscript.com/"
*driverObsolete: False
*driverManufacturerSupplied: False
*driverFreeSoftware: True

*DefaultResolution: 1200dpi



*HWMargins: 18 36 18 36
*VariablePaperSize: True
*MaxMediaWidth: 100000
*MaxMediaHeight: 100000
*NonUIOrderDependency: 100 AnySetup *CustomPageSize
*CustomPageSize True: "pop pop pop pop pop
%% FoomaticRIPOptionSetting: PageSize=Custom"
*End
*FoomaticRIPOptionSetting PageSize=Custom: " -dDEVICEWIDTHPOINTS=0 -dD&&
EVICEHEIGHTPOINTS=0"
*End
*ParamCustomPageSize Width: 1 points 36 100000
*ParamCustomPageSize Height: 2 points 36 100000
*ParamCustomPageSize Orientation: 3 int 0 0
*ParamCustomPageSize WidthOffset: 4 points 0 0
*ParamCustomPageSize HeightOffset: 5 points 0 0

*FoomaticIDs: Toshiba-e-Studio_162 pxlmono
*FoomaticRIPCommandLine: "gs -q -dBATCH -dPARANOIDSAFER -dNOPAUSE -dNO&&
INTERPOLATE%B%A%Z -sOutputFile=- -"
*End

*OpenGroup: General/General

*OpenUI *PrintoutMode/Print Quality: PickOne
*FoomaticRIPOption PrintoutMode: enum Composite A
*OrderDependency: 10 AnySetup *PrintoutMode
*DefaultPrintoutMode: Normal
*PrintoutMode Draft/Draft: "%% FoomaticRIPOptionSetting: PrintoutMode=Draft"
*FoomaticRIPOptionSetting PrintoutMode=Draft: "PrinterResolution=600x6&&
00dpi ColorModel=Grayscale"
*End
*PrintoutMode Normal/Normal: "%% FoomaticRIPOptionSetting: PrintoutMode=Normal"
*FoomaticRIPOptionSetting PrintoutMode=Normal: "PrinterResolution=600x&&
600dpi ColorModel=Grayscale"
*End
*PrintoutMode High/High Quality: "%% FoomaticRIPOptionSetting: PrintoutMode=High"
*FoomaticRIPOptionSetting PrintoutMode=High: "PrinterResolution=1200x1&&
200dpi ColorModel=Grayscale"
*End
*CloseUI: *PrintoutMode

*OpenUI *PageSize/Page Size: PickOne
*FoomaticRIPOption PageSize: enum CmdLine A
*OrderDependency: 100 AnySetup *PageSize
*DefaultPageSize: Letter
*PageSize Letter/US Letter: "%% FoomaticRIPOptionSetting: PageSize=Letter"
*FoomaticRIPOptionSetting PageSize=Letter: " -dDEVICEWIDTHPOINTS=612 -&&
dDEVICEHEIGHTPOINTS=792"
*End
*PageSize A4/A4: "%% FoomaticRIPOptionSetting: PageSize=A4"
*FoomaticRIPOptionSetting PageSize=A4: " -dDEVICEWIDTHPOINTS=595 -dDEV&&
ICEHEIGHTPOINTS=842"
*End
*PageSize 11x17/11x17: "%% FoomaticRIPOptionSetting: PageSize=11x17"
*FoomaticRIPOptionSetting PageSize=11x17: " -dDEVICEWIDTHPOINTS=792 -d&&
DEVICEHEIGHTPOINTS=1224"
*End
*PageSize A3/A3: "%% FoomaticRIPOptionSetting: PageSize=A3"
*FoomaticRIPOptionSetting PageSize=A3: " -dDEVICEWIDTHPOINTS=842 -dDEV&&
ICEHEIGHTPOINTS=1191"
*End
*PageSize A5/A5: "%% FoomaticRIPOptionSetting: PageSize=A5"
*FoomaticRIPOptionSetting PageSize=A5: " -dDEVICEWIDTHPOINTS=421 -dDEV&&
ICEHEIGHTPOINTS=595"
*End
*PageSize B5/B5 (JIS): "%% FoomaticRIPOptionSetting: PageSize=B5"
*FoomaticRIPOptionSetting PageSize=B5: " -dDEVICEWIDTHPOINTS=516 -dDEV&&
ICEHEIGHTPOINTS=729"
*End
*PageSize Env10/Envelope #10: "%% FoomaticRIPOptionSetting: PageSize=Env10"
*FoomaticRIPOptionSetting PageSize=Env10: " -dDEVICEWIDTHPOINTS=297 -d&&
DEVICEHEIGHTPOINTS=684"
*End
*PageSize EnvC5/Envelope C5: "%% FoomaticRIPOptionSetting: PageSize=EnvC5"
*FoomaticRIPOptionSetting PageSize=EnvC5: " -dDEVICEWIDTHPOINTS=459 -d&&
DEVICEHEIGHTPOINTS=649"
*End
*PageSize EnvDL/Envelope DL: "%% FoomaticRIPOptionSetting: PageSize=EnvDL"
*FoomaticRIPOptionSetting PageSize=EnvDL: " -dDEVICEWIDTHPOINTS=312 -d&&
DEVICEHEIGHTPOINTS=624"
*End
*PageSize EnvISOB5/Envelope B5: "%% FoomaticRIPOptionSetting: PageSize=EnvISOB5"
*FoomaticRIPOptionSetting PageSize=EnvISOB5: " -dDEVICEWIDTHPOINTS=499&&
 -dDEVICEHEIGHTPOINTS=709"
*End
*PageSize EnvMonarch/Envelope Monarch: "%% FoomaticRIPOptionSetting: PageSize=EnvMonarch"
*FoomaticRIPOptionSetting PageSize=EnvMonarch: " -dDEVICEWIDTHPOINTS=2&&
79 -dDEVICEHEIGHTPOINTS=540"
*End
*PageSize Executive/Executive: "%% FoomaticRIPOptionSetting: PageSize=Executive"
*FoomaticRIPOptionSetting PageSize=Executive: " -dDEVICEWIDTHPOINTS=52&&
2 -dDEVICEHEIGHTPOINTS=756"
*End
*PageSize Legal/US Legal: "%% FoomaticRIPOptionSetting: PageSize=Legal"
*FoomaticRIPOptionSetting PageSize=Legal: " -dDEVICEWIDTHPOINTS=612 -d&&
DEVICEHEIGHTPOINTS=1008"
*End
*CloseUI: *PageSize

*OpenUI *PageRegion: PickOne
*OrderDependency: 100 AnySetup *PageRegion
*DefaultPageRegion: Letter
*PageRegion Letter/US Letter: "%% FoomaticRIPOptionSetting: PageSize=Letter"
*PageRegion A4/A4: "%% FoomaticRIPOptionSetting: PageSize=A4"
*PageRegion 11x17/11x17: "%% FoomaticRIPOptionSetting: PageSize=11x17"
*PageRegion A3/A3: "%% FoomaticRIPOptionSetting: PageSize=A3"
*PageRegion A5/A5: "%% FoomaticRIPOptionSetting: PageSize=A5"
*PageRegion B5/B5 (JIS): "%% FoomaticRIPOptionSetting: PageSize=B5"
*PageRegion Env10/Envelope #10: "%% FoomaticRIPOptionSetting: PageSize=Env10"
*PageRegion EnvC5/Envelope C5: "%% FoomaticRIPOptionSetting: PageSize=EnvC5"
*PageRegion EnvDL/Envelope DL: "%% FoomaticRIPOptionSetting: PageSize=EnvDL"
*PageRegion EnvISOB5/Envelope B5: "%% FoomaticRIPOptionSetting: PageSize=EnvISOB5"
*PageRegion EnvMonarch/Envelope Monarch: "%% FoomaticRIPOptionSetting: PageSize=EnvMonarch"
*PageRegion Executive/Executive: "%% FoomaticRIPOptionSetting: PageSize=Executive"
*PageRegion Legal/US Legal: "%% FoomaticRIPOptionSetting: PageSize=Legal"
*CloseUI: *PageRegion

*DefaultImageableArea: Letter
*ImageableArea Letter/US Letter: "18 36 594 756"
*ImageableArea A4/A4: "18 36 577 806"
*ImageableArea 11x17/11x17: "18 36 774 1188"
*ImageableArea A3/A3: "18 36 824 1155"
*ImageableArea A5/A5: "18 36 403 559"
*ImageableArea B5/B5 (JIS): "18 36 498 693"
*ImageableArea Env10/Envelope #10: "18 36 279 648"
*ImageableArea EnvC5/Envelope C5: "18 36 441 613"
*ImageableArea EnvDL/Envelope DL: "18 36 294 588"
*ImageableArea EnvISOB5/Envelope B5: "18 36 481 673"
*ImageableArea EnvMonarch/Envelope Monarch: "18 36 261 504"
*ImageableArea Executive/Executive: "18 36 504 720"
*ImageableArea Legal/US Legal: "18 36 594 972"

*DefaultPaperDimension: Letter
*PaperDimension Letter/US Letter: "612 792"
*PaperDimension A4/A4: "595 842"
*PaperDimension 11x17/11x17: "792 1224"
*PaperDimension A3/A3: "842 1191"
*PaperDimension A5/A5: "421 595"
*PaperDimension B5/B5 (JIS): "516 729"
*PaperDimension Env10/Envelope #10: "297 684"
*PaperDimension EnvC5/Envelope C5: "459 649"
*PaperDimension EnvDL/Envelope DL: "312 624"
*PaperDimension EnvISOB5/Envelope B5: "499 709"
*PaperDimension EnvMonarch/Envelope Monarch: "279 540"
*PaperDimension Executive/Executive: "522 756"
*PaperDimension Legal/US Legal: "612 1008"

*OpenUI *InputSlot/Media Source: PickOne
*FoomaticRIPOption InputSlot: enum CmdLine A
*OrderDependency: 100 AnySetup *InputSlot
*DefaultInputSlot: Default
*InputSlot Default/Printer Default: "%% FoomaticRIPOptionSetting: InputSlot=Default"
*FoomaticRIPOptionSetting InputSlot=Default: " -dMediaPosition=0"
*InputSlot Upper/Upper Tray: "%% FoomaticRIPOptionSetting: InputSlot=Upper"
*FoomaticRIPOptionSetting InputSlot=Upper: " -dMediaPosition=4"
*InputSlot Middle/Middle Tray: "%% FoomaticRIPOptionSetting: InputSlot=Middle"
*FoomaticRIPOptionSetting InputSlot=Middle: " -dMediaPosition=5"
*InputSlot Lower/Lower Tray: "%% FoomaticRIPOptionSetting: InputSlot=Lower"
*FoomaticRIPOptionSetting InputSlot=Lower: " -dMediaPosition=6"
*InputSlot Multipurpose/Multipurpose Tray: "%% FoomaticRIPOptionSetting: InputSlot=Multipurpose"
*FoomaticRIPOptionSetting InputSlot=Multipurpose: " -dMediaPosition=3"
*InputSlot Automatic/Automatic: "%% FoomaticRIPOptionSetting: InputSlot=Automatic"
*FoomaticRIPOptionSetting InputSlot=Automatic: " -dMediaPosition=1"
*InputSlot Manual/Manual Feeder: "%% FoomaticRIPOptionSetting: InputSlot=Manual"
*FoomaticRIPOptionSetting InputSlot=Manual: " -dMediaPosition=2"
*CloseUI: *InputSlot

*OpenUI *Duplex/Double-Sided Printing: PickOne
*FoomaticRIPOption Duplex: enum CmdLine A
*OrderDependency: 100 AnySetup *Duplex
*DefaultDuplex: None
*Duplex DuplexNoTumble/On (Flip on Long Edge): "%% FoomaticRIPOptionSetting: Duplex=DuplexNoTumble"
*FoomaticRIPOptionSetting Duplex=DuplexNoTumble: " -dDuplex"
*Duplex DuplexTumble/On (Flip on Short Edge): "%% FoomaticRIPOptionSetting: Duplex=DuplexTumble"
*FoomaticRIPOptionSetting Duplex=DuplexTumble: " -dDuplex -dTumble"
*Duplex None/Off: "%% FoomaticRIPOptionSetting: Duplex=None"
*FoomaticRIPOptionSetting Duplex=None: ""
*CloseUI: *Duplex

*FoomaticRIPOption ColorModel: enum CmdLine B 100
*FoomaticRIPOptionSetting ColorModel=Grayscale: " -sDEVICE=pxlmono"

*CloseGroup: General

*OpenGroup: PrintoutMode/Printout Mode

*OpenUI *PrinterResolution/Resolution: PickOne
*FoomaticRIPOption PrinterResolution: enum CmdLine A
*OrderDependency: 100 AnySetup *PrinterResolution
*DefaultPrinterResolution: FromPrintoutMode
*PrinterResolution FromPrintoutMode/Controlled by 'Print Quality': "%% FoomaticRIPOptionSetting: PrinterResolution=@PrintoutMode"
*PrinterResolution 300x300dpi/300x300 DPI: "%% FoomaticRIPOptionSetting: PrinterResolution=300x300dpi"
*FoomaticRIPOptionSetting PrinterResolution=300x300dpi: " -r300x300"
*PrinterResolution 600x600dpi/600x600 DPI: "%% FoomaticRIPOptionSetting: PrinterResolution=600x600dpi"
*FoomaticRIPOptionSetting PrinterResolution=600x600dpi: " -r600x600"
*PrinterResolution 1200x600dpi/1200x600 DPI: "%% FoomaticRIPOptionSetting: PrinterResolution=1200x600dpi"
*FoomaticRIPOptionSetting PrinterResolution=1200x600dpi: " -r1200x600"
*PrinterResolution 1200x1200dpi/1200x1200 DPI: "%% FoomaticRIPOptionSetting: PrinterResolution=1200x1200dpi"
*FoomaticRIPOptionSetting PrinterResolution=1200x1200dpi: " -r1200x120&&
0"
*End
*CloseUI: *PrinterResolution

*CloseGroup: PrintoutMode


*% Generic boilerplate PPD stuff as standard PostScript fonts and so on

*DefaultFont: Courier
*Font AvantGarde-Book: Standard "(001.006S)" Standard ROM
*Font AvantGarde-BookOblique: Standard "(001.006S)" Standard ROM
*Font AvantGarde-Demi: Standard "(001.007S)" Standard ROM
*Font AvantGarde-DemiOblique: Standard "(001.007S)" Standard ROM
*Font Bookman-Demi: Standard "(001.004S)" Standard ROM
*Font Bookman-DemiItalic: Standard "(001.004S)" Standard ROM
*Font Bookman-Light: Standard "(001.004S)" Standard ROM
*Font Bookman-LightItalic: Standard "(001.004S)" Standard ROM
*Font Courier: Standard "(002.004S)" Standard ROM
*Font Courier-Bold: Standard "(002.004S)" Standard ROM
*Font Courier-BoldOblique: Standard "(002.004S)" Standard ROM
*Font Courier-Oblique: Standard "(002.004S)" Standard ROM
*Font Helvetica: Standard "(001.006S)" Standard ROM
*Font Helvetica-Bold: Standard "(001.007S)" Standard ROM
*Font Helvetica-BoldOblique: Standard "(001.007S)" Standard ROM
*Font Helvetica-Narrow: Standard "(001.006S)" Standard ROM
*Font Helvetica-Narrow-Bold: Standard "(001.007S)" Standard ROM
*Font Helvetica-Narrow-BoldOblique: Standard "(001.007S)" Standard ROM
*Font Helvetica-Narrow-Oblique: Standard "(001.006S)" Standard ROM
*Font Helvetica-Oblique: Standard "(001.006S)" Standard ROM
*Font NewCenturySchlbk-Bold: Standard "(001.009S)" Standard ROM
*Font NewCenturySchlbk-BoldItalic: Standard "(001.007S)" Standard ROM
*Font NewCenturySchlbk-Italic: Standard "(001.006S)" Standard ROM
*Font NewCenturySchlbk-Roman: Standard "(001.007S)" Standard ROM
*Font Palatino-Bold: Standard "(001.005S)" Standard ROM
*Font Palatino-BoldItalic: Standard "(001.005S)" Standard ROM
*Font Palatino-Italic: Standard "(001.005S)" Standard ROM
*Font Palatino-Roman: Standard "(001.005S)" Standard ROM
*Font Symbol: Special "(001.007S)" Special ROM
*Font Times-Bold: Standard "(001.007S)" Standard ROM
*Font Times-BoldItalic: Standard "(001.009S)" Standard ROM
*Font Times-Italic: Standard "(001.007S)" Standard ROM
*Font Times-Roman: Standard "(001.007S)" Standard ROM
*Font ZapfChancery-MediumItalic: Standard "(001.007S)" Standard ROM
*Font ZapfDingbats: Special "(001.004S)" Standard ROM

Guardamos el archivo con Ctrl+s y cerramos con Ctrl+q. Reiniciamos el equipo con el comando:

sudo reboot

Al retornar al sistema, conectamos la impresora impresora por el puerto USB y la encendemos. La misma debería ser detectada y configurada automáticamente por el sistema CUPS de impresión. Ahora podremos seleccionarla como impresora de trabajo local, e imprimir con ella.