Instalación de una impresora Lexmark remota en Linux

Hardware

Para el presente artículo, haré uso de una impresora Lexmark Z35 (Sí, esa impresora de antaño... el artículo recibiría el nombre de "Instalación de una impresora Epson remota en Linux"; pero  mi Stylus Color 200 no funciona).

Como requisito previo al proceso de instalación es necesario contar con:
- Cupsys
- tclx8.3-dev
- tk8.3-dev
- Un browser (para el presente caso, se hará uso del Firefox)
- Samba

 (Para ello puede hacerse uso de una herramienta como el Synaptic, el yum o el aptitude dependiendo de la distribución que se esté utilizando).

Instalando los drivers de la impresora

A pesar de la gran variedad de impresoras soportadas por el Cupsys, existe algunos modelos de impresoras como la Z35 de Lexmark que no se hallan incluidos dentro de dicha lista.  Debido a eso,  es necesario bajar los drivers de la impresora desde la misma web o en todo caso hacer uso de drivers compatibles.

Luego de descargar el Driver que viene empaquetado en un archivo TAR.GZ con el nombre CJLZ600LE-CUPS-1.0-1.TAR.gz procedemos a desempaquetarlo haciendo uso del siguiente comando:

# tar zvxf CJLZ35LE-CUPS-1.0-1.TAR.gz

Se extraerá un script de nombre z600cups-1.0-1.gz.sh el cual se procederá a instalar haciendo uso del siguiente comando:

# sh z35cups-1.0-1.gz.sh

Si da un problema como :
Verifying archive integrity...OK
Uncompressing Lexmark Printer Driver............
X Error of failed request: BadValue (integer parameter out of range for operation)
  Major opcode of failed request: 45 (X_OpenFont)
  Value in failed request: 0x380000c
  Serial number of failed request: 117
  Current serial number in output stream: 118
The program returned an error code (1)

Será necesario obtener los paquetes rpms que se hallan embebidos dentro del código del script. 

tail -n +143 z35cups-1.0-1.gz.sh > install.tar.gz

Esto creara un archivo install.tar.gz que contiene los rpms y por supuesto los drivers. A continuación se procede a desempaquetar el archivo e instalar los rpms contenidos:

# tar zvxf install.tar.gz
# rpm -ivh install/*.rpm

En caso nos hallemos en una distribución basada en Debian, será necesario aplicar el comando alien sobre los paquetes rpm antes de instalarlos.

Entramos al siguiente directorio:

cd /usr/lib/cups/backend

Y revisamos si el driver fue cargado:
#./z35
direct z35:/dev/usb/lp0 "Lexmark Lexmark Z35 Series" "Lexmark Printer"

Reiniciar CUPS

# service cupsys restart

o

# /etc/init.d/cupsys restart

Nota: Si luego de instalar el driver, el cupsys no reconoce la impresora, será necesario desempaquetar y colocar el driver manualmente en /usr/share/cups/model/.

# gunzip Lexmark-Z35-lxz600cj-cups.ppd.gz

Iniciando la configuración:
Ejecuta el firefox o cualquier browser que tengas instalado.  A continuación tipea en la barra de búsqueda:
HTTP://localhost:631/admin

Aparecerá una ventana de logueo en donde será necesario ingresar como root.

A continuación ingresa los datos de la impresora, como su nombre.  Sigue los pasos como si estuvieras instalando una impresora local.  En el punto de tipo de conexión, selecciona: "Windows via Samba".  En el cuadro de texto, ingresa lo siguiente:

smb://grupo_trabajo/nombre_servidor/nombre_impresora

En caso tengas un error de tipo NT_STATUS_ACCESS_DENIED, intenta ejecutar una impresión de prueba y editar el /etc/cups/priners.conf como ROOT.

Para ello, ubica la siguiente línea
DeviceURI smb://grupo_trabajo/nombre_servidor/nombre_impresora

Reemplazala con:

DeviceURI smb://guest@grupo_trabajo/nombre_servidor/nombre_impresora

Reiniciar el CUPS