Skip to content

Administrar impresoras en Solaris para su diagnóstico

En mi trabajo como administrador de sistemas me encuentro en ocasiones con la necesidad de administrar impresoras en Solaris. Esos momentos en que recibimos una llamada o email diciendo «mi impresora no funciona» no son tan raros, ¿verdad?.

Aunque he titulado el artículo «administrar» este no cubre el 100% de las tareas de administración posibles con impresoras, porque además sería un artículo interminable. He limitado las tareas de diagnóstico más frecuentes -sin duda- respecto a ellas, sobre todo cuando nos informan de un problema.

Ver la versión de Solaris
Ejemplo de comando para ver la versión de Solaris en el terminal.

Hay que tener en cuenta que no siempre los problemas serán de tipo lógico (software o servicios) sino que podrían deberse también a cuestiones de hardware en la propia máquina.

Por ejemplo, podrían reportanos una impresora que no está imprimiendo y darse el caso de que, tras el diagnóstico remoto, no seamos capaces de ver problemas. Algo tan sencillo como falta de papel o tóner podría causarnos la interrupción…. y no siempre quien está al otro lado describirá el problema correctamente 😉

Al basarse en un sistema operativo Solaris 10, es posible que algunos de los comandos aquí empleados no sirvan para otras versiones anteriores / posteriores de Solaris, y desde luego muchos no serán reconocidos por otras distribuciones GNU/Linux.

Diferentes comandos para administrar impresoras en Solaris

A continuación encontrarás comandos diferentes para cada tarea de administración. Ten en cuenta que en muchos casos deberás emplear permisos de administrador (sudo) o un usuario root.

Obtener información con el comando lpstat

El comando lpstat de Solaris nos muestra información sobre el estado y trabajos de cualquier impresora / cola que tengamos en nuestro entorno. Al escribir el comando sin argumentos se nos mostrará la ayuda del mismo. Está asociado al comando lp.

Para ver todas las colas de impresión, su estado y fecha de inicio usaremos:

lpstat -a

En nuestro caso acompañamos con un grep para buscar la impresora a comprobar:

lpstat -a impresora

Con el comando siguiente, podemos ver algún detalle adicional sobre la impresora, como el nombre de archivo que está siendo procesado, en este caso mdswift02-58123.

lpstat -p

lpstat -p impresora

Si lanzamos el siguiente comando sin argumentos obtendremos un estado detallado de todas las impresoras existentes, así como el estado del scheduler de Solaris.

lpstat -t

Siguiendo con el ejemplo, supongamos que necesitamos una salida acotada a nuestro término de búsqueda, usando el comando grep:

lpstat -t | grep <nombre_impresora>

lpstat -t impresora

Como podemos observar, esta impresora se encuentra activa y disponible -available- así que podemos descartar este punto de fallos.

Este comando aún nos permite obtener más información sobre nuestra impresora, utilizando la siguiente sintaxis:

lpstat -p <nombre_impresora> -l

Se mostrará información adicional, por ejemplo:

  • Trabajo de impresión en curso
  • Tipo de conexión
  • Interfaz (donde está el driver de la misma)
  • Valores predeterminados como puerto, tamaño de página…
  • Usuarios, formatos y medios soportados
  • Tolerancia a fallos

lpstat uso en Solaris

Ver estado de trabajos de impresión con lpq

El comando lpq (Linux Printer Query) nos permitirá ver el estado de los trabajos en las impresoras desde Solaris, además de interactuar con ellos.  Si escribimos el comando sin argumentos se mostrará la impresora predeterminada.

En la ayuda del comando LPQ de Linux podemos ver sus diferentes formas de uso, de las que principalmente nos interesarán las siguientes:

lpq -P <_nombre_impresora>
lpq -l <nombre_impresora>

La primera opción (-P) nos permite especificar una impresora diferente, mientras que la segunda habilita la salida completa con mayor información. Ambas opciones pueden combinarse como se ve en estos ejemplos:

Imprimir una página de prueba

Podemos lanzar una página de prueba a la impresora mediante la linea de comandos, como sigue:

lp -d <nombre_impresora> /var/tmp/test_page

La página quedará encolada o saldrá inmediatamente, dependiendo de si la impresora está ocupada. Al pulsar intro, veremos el nombre/número de tarea asignada:

lp -d solaris

Cancelar trabajos de impresión

Si tenemos un trabajo bloqueado por algún motivo, o deseamos simplemente cancelar su procesamiento, podemos hacerlo con el comando cancel.

Ejemplos:

cancel <nombre_tarea>
cancel <usuario> <nombre_impresora>

Cambiar el estado de la impresora

Aceptar o rechazar trabajos

Si la impresora no estuviera preparada, o por algún motivo la hemos deshabilitado anteriormente, escribiremos:

accept <nombre_impresora>

Del mismo modo, esto nos permite restringir el uso de una impresora a la inversa:

reject <nombre_impresora>

También es posible mostrar un mensaje al usuario cuando intenta utilizarla:

reject -r "Esta impresora está en mantenimiento" <nombre_impresora>

Habilitar o deshabilitar impresora

Aunque suena similar no es lo mismo. Con estos comandos podremos habilitar o deshabilitar las funciones de la impresora por completo.

Activar impresora

enable <nombre_impresora>

Desactivar impresora

disable <nombre_impresora>

Administrar el Print Scheduler en Solaris (lpsched)

El Print Scheduler o administrador de impresión de Solaris es el servicio encargado de gestionar las peticiones de impresión de documentos en los servidores de impresión. Puede darse el caso de que el print scheduler deje de funcionar normalmente, lo que provocará que los trabajos no sea aceptados o impresos.

El proceso pertinente lo encontraremos en la ruta:

/usr/lib/lp/lpsched

En caso de que se hayan interrumpido algunos trabajos al caer el servicio, al restablecerlo estos continuarán su ejecución automáticamente.

Para ver el estado del Print Scheduler en Solaris escribiremos:

lpstat -r

lpstat -r solaris

Normalmente estará activo y recibiremos un mensaje «scheduler is running». Sin embargo, si recibimos uno que diga Scheduler is NOT running, deberemos arrancarlo con:

/usr/lib/lp/lpsched

En caso de que esté arrancado pero no respondiendo, lo detendremos y luego iniciaremos como hemos indicado antes:

/usr/lib/lp/lpshut
/usr/lib/lp/lpsched

Comprobar el estado del Print Scheduler (2)

Tenemos otra forma de ver el estado en que se encuentra el servicio encargado de asignar las tareas de impresión a nuestros aparatos, utilizando el comando svcs.

svcs application/print/server

El resultado nos indicará STATE (estado) que deberá ser «online» además de STIME (starting time) o fecha de arranque, seguido del FMRI o identificador de paquete.

svcs application_print_server__svcs impresora Solaris

Ahora podemos detener o arrancar el servicio de la siguiente forma, además de como ya vimos.

Detenerlo:

svcadm disable application/print/server

Arrancarlo:

svcadm enable application/print/server

Imprimir en Solaris desde el terminal

Como sucede con otras versiones de derivadas de UNIX, en Solaris podemos utilizar un par de comandos -aparte de la ya mencionada página de prueba- para enviar documentos a una cola de impresión remota, para comprobar su respuesta, por ejemplo. Puede ser interesante que los revises:

También os recuerdo que en las páginas de manual de Oracle podéis encontrar más información sobre administración de impresoras, a un nivel más detallado. Por ejemplo, podemos asignar propiedades temporales al print scheduler o hacer cambios permanentes en el mismo.

deweloper View All

Trabajo como consultor de ciberseguridad y me gusta lo que hago. Aficionado a la informática / tecnología en general, me gusta compartir con la gente lo poco que sé. También soy aficionado al deporte y los videojuegos.

Deja un comentario