108.4 Lección 1
Certificación: |
LPIC-1 |
---|---|
Versión: |
5.0 |
Tema: |
108 Servicios esenciales del sistema |
Objetivo: |
108.4 Gestión de la impresión y de las impresoras |
Lección: |
1 de 1 |
Introducción
Las declaraciones de una “sociedad sin papel”, provocadas por la llegada de las computadoras, han demostrado ser falsas hasta la fecha. Muchas organizaciones siguen confiando en las páginas impresas o en la “hard copy” de la información. Teniendo esto en cuenta, podemos ver lo importante que es para un usuario saber cómo imprimir desde un sistema, así como para un administrador que necesita saber cómo mantener la capacidad de un servidor para trabajar con impresoras.
En Linux, así como en muchos otros sistemas operativos, la pila de software Common Unix Printing System (CUPS) permite imprimir y gestionar las impresoras desde un equipo. A continuación se muestra un esquema muy simplificado de cómo se imprime un archivo en Linux utilizando CUPS:
-
Un usuario envía un archivo para ser impreso.
-
El demonio de CUPS,
cupsd
, lo envía al spools el trabajo de impresión. Este trabajo de impresión recibe un número de trabajo por parte de CUPS, junto con información sobre la cola de impresión que contiene el trabajo, así como el nombre del documento a imprimir. -
CUPS utiliza filtros que están instalados en el sistema para generar un archivo con formato que la impresora puede utilizar.
-
A continuación, CUPS envía el archivo formateado a la impresora para su impresión.
Veremos estos pasos con más detalle, así como la forma de instalar y gestionar una impresora en Linux.
El servicio CUPS
La mayoría de las instalaciones de escritorio de Linux tendrán los paquetes CUPS ya instalados. En las instalaciones mínimas de Linux los paquetes CUPS pueden no estarlo (dependiendo de la distribución). Una instalación básica de CUPS puede realizarse en un sistema Debian con el siguiente:
$ sudo apt install cups
En los sistemas Fedora el proceso de instalación es igual de sencillo. Tendrá que iniciar el servicio CUPS manualmente después de la instalación en Fedora y otras distribuciones basadas en Red Hat:
$ sudo dnf install cups ... $ sudo systemctl start cups.service
Una vez finalizada la instalación, puede comprobar que el servicio CUPS se está ejecutando con el uso del comando systemctl
:
$ systemctl status cups.service ● cups.service - CUPS Scheduler Loaded: loaded (/lib/systemd/system/cups.service; enabled; vendor preset: enabled) Active: active (running) since Thu 2020-06-25 14:35:47 EDT; 41min ago Docs: man:cupsd(8) Main PID: 3136 (cupsd) Tasks: 2 (limit: 1119) Memory: 3.2M CGroup: /system.slice/cups.service ├─3136 /usr/sbin/cupsd -l └─3175 /usr/lib/cups/notifier/dbus dbus://
Como muchos otros demonios de Linux, CUPS depende de un conjunto de archivos de configuración para sus operaciones. A continuación se listan los principales que son de interés para el administrador del sistema:
/etc/cups/cupsd.conf
-
Este archivo contiene los ajustes de configuración para el servicio CUPS. Si está familiarizado con el archivo de configuración del servidor web Apache, el archivo de configuración de CUPS le parecerá bastante similar, ya que utiliza una sintaxis muy parecida. El archivo
cupsd.conf
contiene ajustes para cosas como el control del acceso a las diferentes colas de impresión de uso en el sistema, si la interfaz web de CUPS está o no habilitada, así como el nivel de registro que el demonio utilizará. /etc/printcap
-
Este es el archivo heredado que fue utilizado por el protocolo LPD (Line Printer Daemon) antes de la llegada de CUPS. CUPS todavía creará este archivo en los sistemas para la compatibilidad heredada y es a menudo un enlace simbólico a
/run/cups/printcap
. Cada línea de este archivo contiene una impresora a la que el sistema tiene acceso. /etc/cups/printers.conf
-
Este archivo contiene cada una de las impresoras configuradas para ser utilizadas por el sistema CUPS. Cada impresora y su cola de impresión asociada en este archivo está encerrada dentro de una sección
<Printer></Printer>
. Este fichero proporciona los listados individuales de impresoras que se encuentran en/etc/printcap
.WarningNo se deben realizar modificaciones en el archivo
/etc/cups/printers.conf
en la línea de comandos mientras el servicio CUPS esté en funcionamiento. /etc/cups/ppd/
-
No se trata de un archivo de configuración, sino de un directorio que contiene los archivos PostScript Printer Description (PPD) de las impresoras que los utilizan. Las capacidades operativas de cada impresora se almacenan en un archivo PPD (que termina con la extensión
.ppd
). Estos archivos son de texto plano y siguen un formato específico.
El servicio CUPS también utiliza el registro de la misma manera que el servicio Apache 2. Los registros se almacenan en /var/log/cups/
y contienen un access_log
, page_log
y un error_log
. El access_log
mantiene un registro de los accesos a la interfaz web de CUPS, así como de las acciones realizadas en ella, como la gestión de impresoras. El page_log
mantiene un registro de los trabajos de impresión que se han enviado a las colas de impresión gestionadas por la instalación de CUPS. El error_log
contendrá mensajes sobre los trabajos de impresión que han fallado y otros errores registrados por la interfaz web.
A continuación veremos las herramientas y funcionalidades que se utilizan para gestionar el servicio CUPS.
Uso de la interfaz web
Como ya se ha dicho, el archivo de configuración /etc/cups/cupsd.conf
determina si la interfaz web del sistema CUPS está habilitada. La opción de configuración tiene el siguiente aspecto:
# Web interface setting... WebInterface Yes
Si la interfaz web está habilitada, entonces CUPS puede ser gestionado desde un navegador en la URL por defecto de http://localhost:631
. Por defecto, un usuario del sistema puede ver las impresoras y las colas de impresión, pero cualquier forma de modificación de la configuración requiere un usuario con acceso de root para autenticarse con el servicio web. La sección de configuración dentro del archivo /etc/cups/cupsd.conf
para restringir el acceso a las capacidades administrativas se parecerá a lo siguiente:
# All administration operations require an administrator to authenticate... <Limit CUPS-Add-Modify-Printer CUPS-Delete-Printer CUPS-Add-Modify-Class CUPS-Delete-Class CUPS-Set-Default> AuthType Default Require user @SYSTEM Order deny,allow </Limit>
A continuación se desglosan esas opciones:
AuthType Default
-
Utilizará una solicitud de autenticación básica cuando una acción requiera acceso de root.
Require user @SYSTEM
-
Indica que se requerirá un usuario con privilegios administrativos para la operación. Esto podría cambiarse a
@nombredelgrupo
donde los miembros denombredelgrupo
pueden administrar el servicio CUPS o se podría proporcionar a los usuarios individuales una lista como enRequire user carol, tim
. Order deny,allow
-
Se emplea de forma muy parecida a la opción de configuración de Apache 2 donde la acción es denegada por defecto a menos que un usuario (o miembro de un grupo) esté autentificado.
La interfaz web para CUPS se puede desactivar deteniendo primero el servicio CUPS, cambiando la opción WebInterface
de Yes
a No
, y luego reiniciando el servicio CUPS.
La interfaz web de CUPS está construida como un sitio web básico con pestañas de navegación para varias secciones del sistema CUPS. Las pestañas de la interfaz web incluyen lo siguiente:
- Home
-
La página de inicio mostrará la versión actual de CUPS que está instalada. También desglosa CUPS en secciones como:
- CUPS for Users
-
Proporciona una descripción de CUPS, opciones de línea de comandos para trabajar con impresoras y colas de impresión, y un enlace al foro de usuarios de CUPS.
- CUPS for Administrators
-
Proporciona enlaces en la interfaz para instalar y gestionar impresoras y enlaces a información sobre cómo trabajar con impresoras en una red.
- CUPS for Developers
-
Proporciona enlaces para desarrollar el propio CUPS, así como para crear archivos PPD para las impresoras.
- Administration
-
La página de administración también está dividida en secciones:
- Printers
-
Aquí un administrador puede añadir nuevas impresoras al sistema, localizar las impresoras conectadas al sistema y gestionar las que ya están instaladas.
- Classes
-
Las clases son un mecanismo que permite añadir impresoras a grupos con políticas específicas. Por ejemplo, una clase puede contener un grupo de impresoras que pertenecen a una planta específica de un edificio en la que sólo pueden imprimir los usuarios de un departamento concreto. Otra clase puede tener limitaciones en el número de páginas que un usuario puede imprimir. Las clases no se crean por defecto en una instalación de CUPS y tienen que ser definidas por un administrador. Esta es la sección de la interfaz web de CUPS donde se pueden crear y gestionar nuevas clases.
- Jobs
-
Aquí es donde un administrador puede ver todos los trabajos de impresión que están actualmente en cola para todas las impresoras que esta instalación CUPS gestiona.
- Server
-
Aquí es donde un administrador puede hacer cambios en el archivo
/etc/cups/cupsd.conf
. Además, hay otras opciones de configuración disponibles a través de casillas de verificación, como permitir que las impresoras conectadas a esta instalación de CUPS se compartan en una red, la autenticación avanzada y permitir la administración remota de impresoras.
- Classes
-
Si las clases de impresoras están configuradas en el sistema, aparecerán en esta página. Cada clase de impresora tendrá opciones para gestionar todas las impresoras de la clase a la vez, así como para ver todos los trabajos que están en cola para las impresoras de esta clase.
- Help
-
Esta pestaña proporciona enlaces para toda la documentación disponible para CUPS que está instalada en el sistema.
- Jobs
-
La pestaña Trabajos permite buscar trabajos de impresión individuales, así como listar todos los trabajos de impresión actuales gestionados por el servidor.
- Printers
-
La pestaña Impresoras muestra todas las impresoras gestionadas actualmente por el sistema, así como un resumen rápido del estado de cada impresora. Se puede hacer clic en cada una de las impresoras de la lista y el administrador accederá a la página en la que se puede gestionar la impresora en cuestión. La información de las impresoras en esta pestaña proviene del archivo
/etc/cups/printers.conf
.
Instalación de una impresora
Añadir una cola de impresión al sistema es un proceso sencillo dentro de la interfaz web de CUPS:
-
Haga clic en la pestaña Administración y luego en el botón Agregar impresora.
-
La siguiente página ofrecerá varias opciones dependiendo de cómo esté conectada la impresora a su sistema. Si se trata de una impresora local, seleccione la opción más relevante, como el puerto al que está conectada la impresora o el software de impresión de terceros que pueda estar instalado. CUPS también intentará detectar las impresoras que están conectadas a la red y las mostrará aquí. También puede elegir una opción de conexión directa a una impresora de red en función de los protocolos de impresión en red que admita la impresora. Seleccione la opción adecuada y haga clic en el botón Continuar.
-
La siguiente página le permitirá proporcionar un nombre, una descripción y una ubicación (como “oficina trasera” o “escritorio principal”, etc.) para la impresora. Si desea compartir esta impresora a través de la red, puede seleccionar la casilla de verificación para esa opción en esta página también. Una vez introducida la configuración, haga clic en el botón Continuar.
-
En la siguiente página se puede seleccionar la marca y el modelo de la impresora. Esto permite a CUPS buscar en su base de datos instalada localmente los controladores y archivos PPD más adecuados para utilizar con la impresora. Si tiene un archivo PPD proporcionado por el fabricante de la impresora, busque su ubicación y selecciónelo para utilizarlo aquí. Una vez hecho esto, haga clic en el botón Agregar impresora.
-
La última página es donde se establecen las opciones por defecto, como el tamaño de página que utilizará la impresora y la resolución de los caracteres impresos en la página. Haga clic en el botón Establecer opciones por defecto y su impresora ya está instalada en el sistema.
Note
|
Muchas instalaciones de escritorio de Linux tendrán diferentes herramientas que se pueden utilizar para instalar una impresora. Los entornos de escritorio GNOME y KDE tienen sus propias aplicaciones incorporadas que pueden utilizarse para instalar y gestionar impresoras. Además, algunas distribuciones proporcionan aplicaciones de gestión de impresoras por separado. Sin embargo, cuando se trata de una instalación de servidor en la que muchos usuarios van a imprimir, la interfaz web CUPS puede proporcionar las mejores herramientas para la tarea. |
La cola de una impresora también puede instalarse utilizando los comandos LPD/LPR heredados. Aquí hay un ejemplo usando el comando lpadmin
:
$ sudo lpadmin -p ENVY-4510 -L "office" -v socket://192.168.150.25 -m everywhere
Vamos a desglosar el comando para ilustrar las opciones utilizadas aquí:
-
Dado que la adición de una impresora al sistema requiere un usuario con privilegios administrativos, anteponemos al comando
lpadmin
la palabrasudo
. -
La opción
-p
es el destino de los trabajos de impresión. Es esencialmente un nombre amigable para que el usuario sepa dónde aterrizarán los trabajos de impresión. Típicamente puede proporcionar el nombre de la impresora. -
La opción
-L
es la ubicación de la impresora. Esto es opcional, pero es útil en caso de que tenga que gestionar varias impresoras en diferentes lugares. -
La opción
-v
es para el URI del dispositivo de impresión. El URI del dispositivo es lo que la cola de impresión de CUPS necesita para enviar los trabajos de impresión realizados a una impresora específica. En nuestro ejemplo, estamos utilizando una ubicación de red empleando la dirección IP proporcionada. -
La última opción,
-m
, se establece como “everywhere”. Esto establece el modelo de la impresora para que CUPS determine qué archivo PPD debe utilizar. En las versiones modernas de CUPS, es mejor utilizar “everywhere” para que CUPS pueda comprobar el URI del dispositivo (establecido con la opción anterior-v
) para determinar automáticamente el archivo PPD correcto a utilizar para la impresora. En situaciones modernas, CUPS simplemente utilizará IPP como se explica a continuación.
Como se ha dicho anteriormente, es mejor dejar que CUPS determine automáticamente qué archivo PPD debe utilizar para una cola de impresión en particular. Sin embargo, el comando (heredado) lpinfo
puede ser utilizado para consultar los archivos PPD instalados localmente para ver cuáles están disponibles. Simplemente proporcione la opción --make-and-model
para la impresora que desea instalar y la opción -m
:
$ lpinfo --make-and-model "HP Envy 4510" -m hplip:0/ppd/hplip/HP/hp-envy_4510_series-hpijs.ppd HP Envy 4510 Series hpijs, 3.17.10 hplip:1/ppd/hplip/HP/hp-envy_4510_series-hpijs.ppd HP Envy 4510 Series hpijs, 3.17.10 hplip:2/ppd/hplip/HP/hp-envy_4510_series-hpijs.ppd HP Envy 4510 Series hpijs, 3.17.10 drv:///hpcups.crv/hp-envy_4510_series.ppd HP Envy 4510 Series, hpcups 3.17.10 everywhere IPP Everywhere
Tenga en cuenta que el comando lpinfo
está obsoleto. Se muestra aquí como un ejemplo de listado de los archivos del controlador de impresión que podría utilizar una impresora.
Warning
|
Las futuras versiones de CUPS han dejado de lado los controladores y en su lugar se centrarán en el uso de IPP (Protocolo de Impresión de Internet) y los formatos de archivo estándar. La salida del comando anterior ilustra esto con la capacidad de impresión |
Se puede establecer una impresora por defecto utilizando el comando lpoptions
. De esta manera, si la mayoría (o todos) los trabajos de impresión se envían a una impresora en particular, la especificada con el comando lpoptions
será la predeterminada. Sólo hay que especificar la impresora junto con la opción -d
:
$ lpoptions -d ENVY-4510
Gestión de impresoras
Una vez instalada una impresora, el administrador puede utilizar la interfaz web para gestionar las opciones disponibles para la impresora. Un enfoque más directo para la gestión de una impresora es mediante el uso del comando lpadmin
.
Una opción es permitir que una impresora sea compartida en la red. Esto se puede conseguir con la opción printer-is-shared
, y especificando la impresora con la opción -p
:
$ sudo lpadmin -p FRONT-DESK -o printer-is-shared=true
Un administrador también puede configurar una cola de impresión para que sólo acepte trabajos de impresión de usuarios específicos con cada usuario separado por una coma:
$ sudo lpadmin -p FRONT-DESK -u allow:carol,frank,grace
A la inversa, sólo se podría denegar el acceso a una cola de impresión específica a determinados usuarios:
$ sudo lpadmin -p FRONT-DESK -u deny:dave
Los grupos de usuarios también pueden utilizarse para permitir o denegar el acceso a la cola de una impresora siempre que el nombre del grupo se encuentre precedido de una “arroba” (@
):
$ sudo lpadmin -p FRONT-DESK -u deny:@sales,@marketing
Una cola de impresión también puede tener una política de error en caso de encontrar problemas para imprimir un trabajo. Con el uso de políticas, un trabajo de impresión puede ser abortado (abort-job
) o puede haber otro intento de impresión en un momento posterior (retry-job
). Otras políticas incluyen la capacidad de detener la impresora inmediatamente si se produce un error (stop-printer
), así como la capacidad de reintentar el trabajo inmediatamente después de detectar un fallo (retry-current-job
). A continuación se muestra un ejemplo en el que la política de la impresora se establece para abortar el trabajo de impresión si se produce un error en la impresora FRONT-DESK
:
$ sudo lpadmin -p FRONT-DESK -o printer-error-policy=abort-job
Asegúrese de revisar las páginas del manual del comando lpadmin
ubicado en lpadmin(8)
para obtener más detalles sobre el uso de este.
Envío de trabajos de impresión
Muchas aplicaciones de escritorio le permitirán enviar trabajos de impresión desde un elemento del menú o utilizando el atajo de teclado Ctrl+p. Si te encuentra en un sistema Linux que no utiliza un entorno de escritorio, todavía puede enviar archivos a una impresora por medio de los comandos LPD/LPR heredados.
El comando lpr
(“line printer remote”) se utiliza para enviar un trabajo de impresión a la cola de una impresora. La forma más básica de utilizar el comando, es colocar el nombre de archivo junto con el comando lpr
:
$ lpr report.txt
El comando anterior enviará el archivo report.txt
a la cola de impresión por defecto del sistema (identificada por el archivo /etc/cups/printers.conf
).
Si una instalación de CUPS tiene varias impresoras instaladas, se puede utilizar el comando lpstat
para imprimir una lista de impresoras disponibles utilizando la opción -p
y la opción -d
indicará cuál es la impresora por defecto:
$ lpstat -p -d printer FRONT-DESK is idle. enabled since Mon 03 Aug 2020 10:33:07 AM EDT printer PostScript_oc0303387803 disabled since Sat 07 Mar 2020 08:33:11 PM EST - reason unknown printer ENVY-4510 is idle. enabled since Fri 31 Jul 2020 10:08:31 AM EDT system default destination: ENVY-4510
Así, en nuestro ejemplo, el archivo report.txt
se enviará a la impresora ENVY-4510
, ya que está configurada por defecto. Si el archivo necesita ser impreso en una impresora diferente, especifique la impresora junto con la opción P
:
$ lpr -P FRONT-DESK report.txt
Cuando se envía un trabajo de impresión a CUPS, el demonio averiguará qué backend es el más adecuado para manejar la tarea. CUPS puede hacer uso de varios controladores de impresoras, filtros, monitores de puerto de hardware y otro software para renderizar adecuadamente el documento. Habrá ocasiones en las que un usuario que imprima un documento necesitará hacer modificaciones a cómo debe imprimirse el documento. Muchas aplicaciones gráficas facilitan esta tarea. También hay opciones de línea de comandos que pueden ser utilizadas para cambiar la forma en que un documento debe ser impreso. Cuando se envía un trabajo de impresión a través de la línea de comandos, podría utilizar -o
(de “opciones”) junto con términos específicos para ajustar el diseño del documento para su impresión. A continuación se presenta una breve lista de las opciones más utilizadas:
landscape
-
El documento se imprime con la página girada 90 grados en el sentido de las agujas del reloj. La opción
orientation-requested=4
conseguirá el mismo resultado. two-sided-long-edge
-
La impresora imprimirá el documento en modo vertical en ambas caras del papel, siempre que la impresora admita esta capacidad.
two-sided-short-edge
-
La impresora imprimirá el documento en modo apaisado en ambas caras del papel, siempre que la impresora admita esta capacidad.
media
-
La impresora imprimirá el trabajo en el tamaño de soporte especificado. Los tamaños de soporte disponibles para un trabajo de impresión dependen de la impresora, pero aquí hay una lista de tamaños comunes:
Opción de tamaño Propósito A4
ISO A4
Letter
US Letter
Legal
US Legal
DL
ISO DL Envelope
COM10
US #10 Envelope
collate
-
Intercalar el documento impreso. Esto es útil si tiene un documento de varias páginas que se imprimirá más de una vez, ya que todas las páginas de cada documento se imprimirán en orden. Configure esta opción como
true
para activarla ofalse
para desactivarla. page-ranges
-
Esta opción se puede utilizar para seleccionar una sola página a imprimir, o un conjunto específico de páginas a imprimir de un documento. Un ejemplo sería el siguiente
-o page-ranges=5-7,9,15
. Esto imprimiría las páginas 5, 6 y 7 y luego las páginas 9 y 15 fit-to-page
-
Imprima el documento de forma que el archivo se ajuste al papel. Si el archivo que se va a imprimir no proporciona información sobre el tamaño de la página, es posible que el trabajo impreso se escale de forma incorrecta y que partes del documento se salgan de la página o que el documento se escale demasiado.
outputorder
-
Imprime el documento en orden
inverso
onormal
para comenzar la impresión en la página uno. Si una impresora imprime sus páginas boca abajo, el orden por defecto es-o outputorder=normal
mientras que las impresoras que imprimen con sus páginas hacia arriba imprimirán con-o outputorder=reverse
.
Tomando una muestra de las opciones anteriores, se puede construir el siguiente comando de ejemplo:
$ lpr -P ACCOUNTING-LASERJET -o landscape -o media=A4 -o two-sided-short-edge finance-report.pdf
Se puede imprimir más de una copia de un documento utilizando la opción de número con el siguiente formato: -#N
donde N
es igual al número de copias a imprimir. A continuación se muestra un ejemplo con la opción de intercalar en el que se deben imprimir siete copias de un informe en la impresora por defecto:
$ lpr -#7 -o collate=true status-report.pdf
Además del comando lpr
, también se puede utilizar el comando lp
. Muchas de las opciones que se utilizan con el comando lpr
también se pueden utilizar con el comando lp
, pero hay algunas diferencias. Asegúrese de consultar la página de manual en lp(1)
como referencia. Así es como podemos ejecutar el comando lpr
de ejemplo anterior utilizando la sintaxis del comando lp
y especificando también la impresora de destino con la opción -d
:
$ lp -d ACCOUNTING-LASERJET -n 7 -o collate=true status-report.pdf
Gestión de los trabajos de impresión
Como se ha dicho anteriormente, cada trabajo de impresión enviado a la cola de impresión recibe un ID de trabajo de CUPS. Un usuario puede ver los trabajos de impresión que ha enviado con el comando lpq
. Pasando la opción -a
se mostrarán las colas de todas las impresoras que están gestionadas por la instalación de CUPS:
$ lpq -a Rank Owner Job File(s) Total Size 1st carol 20 finance-report.pdf 5072 bytes
El mismo comando lpstat
utilizado anteriormente también tiene una opción para ver las colas de impresión. La opción -o
por sí misma mostrará todas las colas de impresión, o se puede especificar una cola de impresión por su nombre:
$ lp -o ACCOUNTING-LASERJET-4 carol 19456 Wed 05 Aug 2020 04:29:44 PM EDT
El ID del trabajo de impresión se le añadirá el nombre de la cola a la que se envió el trabajo, el nombre del usuario que lo envió, el tamaño del archivo y la hora a la que se envió.
Si un trabajo de impresión se atasca en una impresora o un usuario desea cancelar su trabajo de impresión, utilice el comando lprm
junto con el ID del trabajo encontrado en el comando lpq
:
$ lprm 20
Todos los trabajos de una cola de impresión pueden ser eliminados a la vez con sólo un guión -
:
$ lprm -
Alternativamente, el comando cancel
de CUPS también podría ser utilizado por un usuario para detener su trabajo de impresión actual:
$ cancel
Un trabajo de impresión específico puede ser cancelado por su ID de trabajo precedido por el nombre de la impresora:
$ cancel ACCOUNTING-LASERJET-20
Un trabajo de impresión también puede moverse de una cola de impresión a otra. Esto suele ser útil en caso de que una impresora deje de responder o el documento a imprimir requiera características disponibles en una impresora diferente. Tenga en cuenta que este procedimiento suele requerir un usuario con privilegios elevados. Utilizando el mismo trabajo de impresión del ejemplo anterior, podríamos moverlo a la cola de la impresora FRONT-DESK
:
$ sudo lpmove ACCOUNTING-LASERJET-20 FRONT-DESK
Eliminación de impresoras
Para eliminar una impresora, a menudo es útil listar primero todas las impresoras que están actualmente gestionadas por el servicio CUPS. Esto se puede hacer con el comando lpstat
:
$ lpstat -v device for FRONT-DESK: socket://192.168.150.24 device for ENVY-4510: socket://192.168.150.25 device for PostScript_oc0303387803: ///dev/null
La opción -v
no sólo muestra las impresoras sino también dónde (y cómo) están conectadas. Es una buena práctica rechazar primero cualquier trabajo nuevo que vaya a la impresora y así proporcionar una razón de por qué la impresora no aceptará nuevos trabajos. Esto se puede hacer con lo siguiente:
$ sudo cupsreject -r "Printer to be removed" FRONT-DESK
Tenga en cuenta el uso de sudo
ya que esta tarea requiere un usuario con privilegios elevados.
Para eliminar una impresora, utilizamos el comando lpadmin
con la opción -x
para eliminar la impresora:
$ sudo lpadmin -x FRONT-DESK
Ejercicios guiados
-
Se acaba de instalar una nueva impresora en una estación de trabajo local llamada
office-mgr
. ¿Qué comando podría utilizarse para establecer esta impresora como la predeterminada para esta estación de trabajo? -
¿Qué comando y opción se utilizaría para determinar qué impresoras están disponibles para imprimir desde una estación de trabajo?
-
Utilizando el comando
cancel
, ¿cómo eliminaría un trabajo de impresión con ID 15 que está atascado en la cola de la impresora llamadaoffice-mgr
? -
Usted tiene un trabajo de impresión destinado a una impresora que no tiene suficiente papel para imprimir el archivo completo. ¿Qué comando utilizaría para mover el trabajo de impresión con ID 2 en cola para imprimir en la impresora
FRONT-DESK
a la cola de impresión para la impresoraACCOUNTING-LASERJET
?
Ejercicios de exploración
Utilizando el gestor de paquetes de su distribución, instale los paquetes cups
y printer-driver-cups-pdf
. Tenga en cuenta que si está utilizando una distribución basada en Red Hat (como Fedora) el controlador CUPS PDF se llama cups-pdf
. También instale el paquete cups-client
para utilizar los comandos de impresión de estilo System V. Utilizaremos estos paquetes para practicar la gestión de una impresora CUPS sin instalar físicamente una impresora real.
-
Compruebe que el demonio CUPS se está ejecutando y, a continuación, verifique que la impresora PDF está activada y configurada por defecto.
-
Ejecute un comando que imprima el archivo
/etc/services
. Ahora debería tener un directorio llamadoPDF
dentro de su directorio principal. -
Utilice un comando que sólo desactive la impresora y, a continuación, ejecute otro comando que muestre toda la información de estado para verificar que la impresora PDF está desactivada. A continuación, intente imprimir una copia de su archivo
/etc/fstab
. ¿Qué ocurre? -
Ahora intente imprimir una copia del archivo
/etc/fstab
en la impresora PDF. ¿Qué ocurre? -
Cancele el trabajo de impresión y, a continuación, elimine la impresora PDF.
Resumen
El demonio CUPS es una plataforma ampliamente utilizada para imprimir en impresoras locales y remotas. Aunque sustituye al protocolo heredado LPD, sigue ofreciendo compatibilidad con versiones anteriores de sus herramientas.
Los archivos y comandos discutidos en esta lección fueron:
/etc/cups/cupsd.conf
-
El archivo de configuración principal para el servicio CUPS. Este archivo también controla el acceso a la interfaz web de CUPS.
/etc/printcap
-
Un archivo heredado utilizado por LPD que contiene una línea para cada impresora conectada al sistema.
/etc/cups/printers.conf
-
El archivo de configuración utilizado por CUPS para la información de la impresora.
La interfaz web de CUPS, que en una instalación por defecto puede encontrarse en http://localhost:631
. Recuerde que el puerto de red por defecto para la interfaz web es el 631/TCP.
También se trataron los siguientes comandos LPD/LPR heredados:
lpadmin
-
Se utiliza para instalar y eliminar impresoras y clases de impresoras.
lpoptions
-
Se utiliza para imprimir las opciones de la impresora y para modificar la configuración de una impresora.
lpstat
-
Se utiliza para mostrar información de estado de las impresoras conectadas a una instalación CUPS.
lpr
-
Se utiliza para enviar trabajos de impresión a la cola de una impresora.
lp
-
Se utiliza para enviar trabajos de impresión (Igual que
lpr
). lpq
-
Este comando lista los trabajos de impresión dentro de la cola de impresión.
lprm
-
Se utiliza para cancelar trabajos de impresión por ID. El ID de un trabajo se puede obtener con la salida del comando
lpq
. cancel
-
Una alternativa al comando
lprm
para cancelar trabajos de impresión por su ID.
Asegúrese de revisar las siguientes páginas man para las diferentes herramientas y utilidades de cups: lpadmin(8)
, lpoptions(1)
, lpr(1)
, lpq(1)
, lprm(1)
, cancel(1)
, lpstat(1)
, cupsenable(8)
y cupsaccept(8)
.
También se recomienda revisar la documentación de ayuda en línea en http://localhost:631/help
.
Respuestas a los ejercicios guiados
-
Se acaba de instalar una nueva impresora en una estación de trabajo local llamada
office-mgr
. ¿Qué comando podría utilizarse para establecer esta impresora como la predeterminada para esta estación de trabajo?$ lpoptions -d office-mgr
-
¿Qué comando y opción se utilizaría para determinar qué impresoras están disponibles para imprimir desde una estación de trabajo?
$ lpstat -p
La opción
-p
muestra todas las impresoras disponibles y si están habilitadas para imprimir. -
Utilizando el comando
cancel
, ¿cómo eliminarías un trabajo de impresión con ID 15 que está atascado en la cola de la impresora llamadaoffice-mgr
?$ cancel office-mgr-15
-
Usted tiene un trabajo de impresión destinado a una impresora que no tiene suficiente papel para imprimir el archivo completo. ¿Qué comando utilizaría para mover el trabajo de impresión con ID 2 en cola para imprimir en la impresora
FRONT-DESK
a la cola de impresión para la impresoraACCOUNTING-LASERJET
?$ sudo lpmove FRONT-DESK-2 ACCOUNTING-LASERJET
Respuestas a los ejercicios de exploración
Utilizando el gestor de paquetes de su distribución, instale los paquetes cups
y printer-driver-cups-pdf
. Tenga en cuenta que si está utilizando una distribución basada en Red Hat (como Fedora) el controlador CUPS PDF se llama cups-pdf
. También instale el paquete cups-client
para utilizar los comandos de impresión de estilo System V. Utilizaremos estos paquetes para practicar la gestión de una impresora CUPS sin instalar físicamente una impresora real.
-
Compruebe que el demonio CUPS se está ejecutando y, a continuación, verifique que la impresora PDF está activada y configurada por defecto.
Un método para comprobar la disponibilidad y el estado de la impresora PDF sería ejecutar el siguiente comando:
$ lpstat -p -d printer PDF is idle. enabled since Thu 25 Jun 2020 02:36:07 PM EDTi system default destination: PDF
-
Ejecute un comando que imprima el archivo
/etc/services
. Ahora debería tener un directorio llamadoPDF
dentro de su directorio principal.$ lp -d PDF /etc/services
Funcionaría. Ahora tendrá una versión en PDF de este archivo dentro del directorio PDF.
-
Utilice un comando que sólo desactive la impresora y, a continuación, ejecute otro comando que muestre toda la información de estado para verificar que la impresora PDF está desactivada.
$ sudo cupsdisable PDF
Desactivará la impresora.
A continuación, ejecute el comando
lpstat -t
para obtener un listado completo del estado de la impresora. Debería ser similar a la siguiente salida:$ scheduler is running system default destination: PDFi device for PDF: cups-pdf:/ PDF accepting requests since Wed 05 Aug 2020 04:19:15 PM EDTi printer PDF disabled since Wed 05 Aug 2020 04:19:15 PM EDT - Paused
-
Ahora intente imprimir una copia del archivo
/etc/fstab
en la impresora PDF. ¿Qué sucede?Después de intentar el comando
lp -d PDF /etc/fstab
debería obtener una salida que muestre la información del ID del trabajo. Sin embargo, si comprueba la carpeta PDF en su directorio principal, el nuevo archivo no está allí. A continuación, puede comprobar la cola de impresión con el comandolpstat -o
, y encontrará su trabajo en la lista. -
Cancele el trabajo de impresión y, a continuación, elimine la impresora PDF.
Utilizando la salida del comando anterior
lp
, utilice el comandocancel
para eliminar el trabajo. Por ejemplo:$ cancel PDF-4
A continuación, ejecute el comando
lpstat -o
para verificar que el trabajo ha sido eliminado.Elimine la impresora PDF con lo siguiente:
sudo lpadmin -x PDF
. A continuación, verifique que la impresora ha sido eliminada:lpstat -a
.