108.4 Lección 1
Certificación: |
LPIC-1 |
---|---|
Versión: |
5.0 |
Tema: |
108 Servicios Esenciales del Sistema |
Objetivo: |
108.4 Gestionar las impresoras y la impresión |
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 encuentras en un sistema GNU/Linux que no utiliza un entorno de escritorio, también se pueden 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 de 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
.