miércoles, 30 de enero de 2013

Impresión desde Linux a impresora remota

Esta semana tuve que hacer una configuración que al principio parecía muy simple pero que al final resultó un poco más complicada de lo que parece.

Resulta que por expansión de mi empresa se necesita conectar un impresora a una pc Windows ubicada fuera de nuestras oficinas y que un proceso automático corriendo en Linux envíe varios documentos hacia esa impresora.

El primer paso fue compartir la impresora en Windows, no está de más indicar como hacerlo aunque esto no es muy complicado, les dejo un link aunque solo nos sirve para este caso hacer la primera parte: http://support.microsoft.com/kb/980458/es 

Lo segundo por hacer fue configurar la impresora en el cups de Linux, lo hice desde el entorno gráfico con el wizard del cups y así me ahorraba un poco de tiempo (al menos así parecía al inicio).



Lo único que tienen que tener en cuenta es que al ser una impresora conectada a una máquina Windows en una red sin dominio había que configurar el usuario y contraseña que permitía el acceso.  Por seguridad (al menos aparente) le puse que pida usuario y contraseña para permitir el acceso.

La forma de especificarle al cups que use usuario y contraseña es con la línea: 
smb://username:password@workgroup/servername/printer


Hasta ese momento no había nada complicado, realicé pruebas con el entorno gráfico y se imprimía sin problemas. 

Luego tocó hacer las pruebas vía comando usando y ahí surgió la complicación. 

El comando que usé es: # lpr -P nombre_impresora prueba.txt
Y obtenía como respuesta: lpr: Unauthorized

Acá el link de como funciona el comando lpr:


Investigando un poco pude resolver el problema.

Buscando posibles soluciones en google: 

Encontré muchas soluciones pero fueron en estas dos url's donde conseguí resolver el problema: 



Específicamente en el segundo link encontré la solución, y es que al parecer el cups a pesar que uno le especifique que tiene que usar usuario y contraseña deja como opción si usa esa autenticación o lo envía directamente, en modo gráfico no dió problemas pero ¿ y en modo consola ? Hay que cambiar un parámetro: AuthInfoRequired

El archivo a modificar es: /etc/cups/printers.conf
Mi archivo original tenía la opción negotiate:

<Printer nombre_impresora>
AuthInfoRequired negotiate
Info nombre_impresora
Location afuera
DeviceURI smb://username:password@workgroup/servername/printer
State Idle
StateTime 1359034774
Accepting Yes
Shared Yes
JobSheets none none
QuotaPeriod 0
PageLimit 0
KLimit 0
OpPolicy default
ErrorPolicy stop-printer
</Printer>


Hay que cambiarlo por username,password:

<Printer nombre_impresora>
AuthInfoRequired username,password
Info nombre_impresora
Location afuera
DeviceURI smb://username:password@workgroup/servername/printer
State Idle
StateTime 1359034774
Accepting Yes
Shared Yes
JobSheets none none
QuotaPeriod 0
PageLimit 0
KLimit 0
OpPolicy default
ErrorPolicy stop-printer
</Printer>


Y así dí con la solución.

Escucho comentarios o críticas constructivas si he sido poco o demasiado explicativo así como si debo de cambiar algo.

Hasta mi próximo post.

No hay comentarios:

Publicar un comentario