Guía de Impresión Gentoo
1.
Impresión y Gentoo Linux
Usar las Herramientas Adecuadas
Linux tiene un excelente soporte de impresoras; la herramienta
adecuada para ello se llama CUPS (Sistema Común de Impresión Unix).
Desde el comienzo del proyecto, en 1999, la instalación y
mantenimiento de CUPS ha mejorado drásticamente.
En este documento cubriremos cómo usar CUPS para configurar una
impresora local o en red. No lo haremos con gran detalle dado que el
proyecto dispone de una excelente
documentación disponible para un uso más avanzado.
2.
Configurar el Núcleo
Introducción
Cuando se quiera instalar una impresora en el sistema, debe saberse el
tipo de conexión que dicha impresora usará. Puede ser a través de un
puerto local como el paralelo (LPT) o bien a través del Bus Serie
Universal (USB) o ¿está en red? Si lo está, ¿usa el protocolo de
impresión internet (IPP) o bien lo hace a través del protocolo de
Microsoft Windows SMB-CIFS (Compartir de Microsoft Windows)?
Las siguientes secciones explican la configuración mínima del núcleo
requerida. Por supuesto, ello depende de la conexión que vaya a tener
la impresora al sistema, así pues, hemos separado las instrucciones en
virtud a la misma:
Así pues, pasamos a /usr/src/linux y ejecutamos make
menuconfig para configurar el núcleo. Si se usó genkernel
para configurarlo, deben seguirse estas indicaciones también para
comprobar que no falta ningún requisito.
En los siguientes ejemplos de configuración, añadiremos el soporte
necesario integrado en el núcleo, no como módulos. Ésto no es
obligatorio; si se desea puede añadirse soporte modular. En cuyo caso,
no hay que olvidar cargar los módulos necesarios después. También
emplearemos una configuración del núcleo 2.6 como ejemplo; los
usuarios del núcleo 2.4 deben encontrar las directivas para configurar
el núcleo en otra parte.
Ahora, nos dirigimos a la sección adecuada para configurar (o
comprobar) el núcleo.
Impresora Conectada Localmente (LPT)
El puerto LPT se usa normalmente para identificar el puerto paralelo
de la impresora. Es necesario activar previamente el soporte para el
puerto paralelo, exactamente "PC-style parallel port support" (excepto
si se es un usuario de SPARC), después de lo cual habilitaremos el
soporte para una impresora a través del puerto paralelo (parallel
printer support).
Listado de Código 2.1: Configuración de una impresora por el puerto paralelo |
Device Drivers -->
<*> Parallel port support
<*> PC-style hardware
Device Drivers -->
Character Devices -->
<*> Parallel printer support
[*] IEEE 1284 transfer modes)
|
Nota:
Algunos usuarios necesitarán activar otras opciones en la sección
Parallel port support. Hay que ver la opción de ayuda
(Help) en la configuración del núcleo para más información.
|
Eso es todo; salimos de la configuración del núcleo y lo
compilamos. No hay que olvidar copiar la imagen del núcleo a
/boot (ni montar la partición /boot en caso
de ser necesario) y, por supuesto, actualizar la configuración del
gestor de inicio (grub o lilo) antes de reiniciar el sistema.
Ahora continuamos con Instalar y Configurar
CUPS.
Impresora Conectada Localmente (USB)
Para habilitar la impresión USB, necesitamos soporte USB y soporte
para impresora USB.
Listado de Código 2.2: Configuración de la impresora por puerto USB |
Device Drivers -->
USB Support -->
<*> Support for Host-side USB
--- USB Host Controller Drivers
<*> EHCI HCD (USB 2.0) support
<*> OHCI HCD support
<*> UHCI HCD (most Intel and VIA) support
<*> USB Printer support
|
Eso es todo; salimos de la configuración del núcleo y lo
compilamos. No hay que olvidar copiar la imagen del núcleo a
/boot (ni montar la partición /boot en caso
de ser necesario) y, por supuesto, actualizar la configuración del
gestor de inicio (grub o lilo) antes de reiniciar el sistema.
Ahora continuamos con Instalar y Configurar
CUPS.
Impresora Conectada Remotamente (IPP)
Para poder conectar a una impresora remotamente a través del protocolo
de impresión Internet (Internet Printing Protocol) el núcleo tan sólo
necesita soporte de red. Asumiendo que el núcleo ya lo tendrá,
continuamos con Instalar y Configurar CUPS.
Impresora Conectada Remotamente (SMB-CIFS)
El núcleo deberá soportar SMB CIFS:
Listado de Código 2.3: Configuración de impresora SMB-CIFS |
File systems -->
Network File Systems -->
<*> SMB file system support (to mount Windows shares etc.)
<*> CIFS support (advanced network file system for Samba, Windows and other CIFS compliant servers)
|
Eso es todo; salimos de la configuración del núcleo y lo
compilamos. No hay que olvidar copiar la imagen del núcleo a
/boot (ni montar la partición /boot en caso
de ser necesario) y, por supuesto, actualizar la configuración del
gestor de inicio (grub o lilo) antes de reiniciar el sistema.
Ahora continuamos con Instalar y Configurar
CUPS.
3.
Instalar y Configurar CUPS
Instalación
Instalar CUPS con Gentoo es muy sencillo. CUPS dispone de algunas
características opcionales que pueden interesarnos. Para activar o
desactivar estas características, usaremos los parámetros USE
asociados a las mismas.
| Parámetro USE |
Efecto en CUPS |
| dbus |
Agrega soporte para el sistema de bus de mensajes dbus. |
| jpeg |
Agrega soporte para la impresión de imágenes JPEG. |
| nls |
Activa el soporte para el lenguaje nacional. Con nls, CUPS nos
puede proporcionar mensajes en nuestro idioma, con lo cual
podremos disfrutar de CUPS en nuestra lengua materna.
|
| pam |
Si se necesita autenticación de los trabajos de impresión a través
de los módulos de autenticación de conexión (Pluggable
Authentication Modules), con este parámetro se activará el soporte
PAM para CUPS.
|
| php |
Agrega soporte para guiones php. |
| png |
Agrega soporte para la impresión de imágenes PNG. |
| ppds |
Agrega soporte para archivos ppd (controladores de impresión)
generados automáticamente. Vea Installing the Best Driver.
|
| samba |
Si se quieren compartir impresoras conectadas localmente con
sistemas Windows en nuestra red usando el protocolo SMB-CIFS, o si
se quieren usar impresoras compartidas desde sistemas Windows,
será necesario añadir soporte SAMBA.
|
| slp |
En un entorno en el que la impresora puede hacerse disponible como
un servicio. Con el Protocolo de Localización de Servicios se
pueden localizar y configurar servicios en nuestro sistema de
forma muy sencilla. Hay que activar este parámetro USE si la
impresora está disponible como servicio o si se pretende hacerla
disponible como tal.
|
| ssl |
Si se desea autenticación remota y/o privacidad, se necesita
soporte para la capa de conexión segura (Secure Socket Layer), que
permitirá el cifrado de sesiones de impresión. El soporte para la
capa de conexión segura deberá estar activado en todos los
sistemas que participen en la red.
|
| tiff |
Agrega soporte para la impresión de imágenes TIFF. |
| X |
Permite el uso del menú del escritorio para cargar la página web
de configuración de CUPS al navegador preferido.
|
Comprobemos los parámetros USE actuales. Si queremos modificar alguno
de ellos tan sólo para CUPS, añadiremos los adecuados en
/etc/portage/package.use.
Listado de Código 3.1: Configuración de parámetros USE para CUPS |
# emerge -pv cups
[ebuild N ] net-print/cups-1.2.6 "X dbus jpeg nls pam png ppds ssl -php -samba -slp -tiff" 0 kB
# nano -w /etc/portage/package.use
net-print/cups samba
|
Si estamos satisfechos con el resultado, dejamos que Portage instale
CUPS.
Listado de Código 3.2: Instalación de CUPS |
# emerge cups
|
Si la impresora está conectada localmente en el sistema, es necesario
cargar CUPS automáticamente al iniciarlo. Debemos asegurarnos de que
la impresora está conectada y funcionando antes de iniciar CUPS.
Listado de Código 3.3: Iniciando CUPS automáticamente |
# /etc/init.d/cupsd start
# rc-update add cupsd default
|
Configuración
La configuración por defecto de CUPS en
/etc/cups/cupsd.conf será suficiente para la mayoría de
usuarios. De cualquier forma, algunos de ellos necesitarán realizar
algunos cambios en la configuración de CUPS.
En las siguientes secciones, cubriremos algunos de los cambios que son
necesarios a menudo:
Acceso a una impresora remota
Si queremos que otros sistemas empleen nuestra impresora a través de
IPP (protocolo de impresión internet) es necesario conceder permiso
para acceder a la impresora explícitamente en
/etc/cups/cupsd.conf. Si se quiere compartir la
impresora usando SAMBA, este cambio no es necesario.
Abrimos /etc/cups/cupsd.conf con nuestro editor y
añadimos una línea Allow para el o los sistemas que deben poder
llegar a nuestra impresora. En el siguiente ejemplo, concedemos acceso
a la impresora desde localhost y cualquier sistema cuya dirección IP
empiece por 192.168.0.
Listado de Código 3.4: Permitir acceso remoto a la impresora |
<Location />
Order allow,deny
Allow localhost
Allow 192.168.0.*
Deny all
</Location>
|
Además, hará falta especificar a cuál puerto debe escuchar CUPS, para
que responda a peticiones de impresión de otros equipos en su red.
Listado de Código 3.5: Configuración del puerto en /etc/cups/cupsd.conf |
Listen *:631
#Listen localhost:631
|
Nota:
Si todavía está usando CUPS 1.1 (actualmente desaprobado) debe usar
una sintaxis distinta para permitir peticiones de impresión remotas:
|
Listado de Código 3.6: Configuración desaprobada de CUPS 1.1 |
Port 631
#Listen 127.0.0.1:631
#Listen localhost:631
|
Administración remota de CUPS
Si estamos interesados en la administración remota, necesitaremos
proporcionar acceso a otros sistemas, no sólo al sistema local, para
la administración de CUPS. Editamos /etc/cups/cupsd.conf
y permitimos el acceso a los sistemas deseados. Por ejemplo, para
permitir el acceso al sistema con la dirección IP 192.168.0.3:
Listado de Código 3.7: Permitir el acceso remoto en /etc/cups/cupsd.conf |
<Location /admin>
Encryption Required
Order allow,deny
Allow localhost
Allow 192.168.0.3
Deny all
</Location>
|
No debemos olvidar reiniciar CUPS después de hacer modificaciones al
archivo /etc/cups/cupsd.conf ejecutando
/etc/init.d/cupsd restart.
Activar soporte para los controladores PCL Windows
Los controladores PCL envían datos en crudo al servidor de
impresión. Para activar el soporte de dichos datos en CUPS,
necesitaremos editar /etc/cups/mime.types y descomentar
la línea application/octet-stream, si ésta ya no está
descomentada. Luego hay que modificar el archivo
/etc/cups/mime.convs y hacer lo mismo, si es que no está
descomentada.
Listado de Código 3.8: Habilitar la impresión de datos en modo directo |
# vim /etc/cups/mime.types
application/octet-stream
# vim /etc/cups/mime.convs
application/octet-stream application/vnd.cups-raw 0 -
|
No debemos olvidar reiniciar CUPS después de hacer cambios a
/etc/cups/cupsd.conf ejecutando /etc/init.d/cupsd
restart.
Configurar una impresora remota
Si las impresoras están conectadas a un servidor de impresión CUPS
remoto, se puede configurar de forma muy sencilla nuestro sistema para
que use la impresora remota, modificando el archivo
/etc/cups/client.conf.
Asumiendo que la impresora está conectada a un sistema llamado
printserver.mydomain, abrimos con un editor
/etc/cups/client.conf y añadimos la directiva
ServerName:
Listado de Código 3.9: Modificación de client.conf |
# vim /etc/cups/client.conf
ServerName printserver.mydomain
|
El sistema remoto tendrá una configuración por defecto de la impresora
que emplearemos. Si deseamos cambiar la impresora por defecto,
usaremos lpoptions:
Listado de Código 3.10: Cambiar la impresora por defecto |
# lpstat -a
hpljet5p accepting requests since Jan 01 00:00
hpdjet510 accepting requests since Jan 01 00:00
# lpoptions -d hpljet5p
|
4.
Configurar la impresora
Introducción
Si la impresora que queremos configurar está disponible remotamente a
través de un servidor de impresión (ejecutando CUPS) no necesitaremos
seguir estas instrucciones. En su lugar, seguiremos estas otras Configurar una impresora remota.
Detectar la Impresora
Si se tiene una impresora USB o la impresora conectada al puerto
paralelo estaban funcionando cuando se inició el sistema Linux,
podremos encontrar información del núcleo diciéndonos que detectó la
impresora satisfactoriamente. De cualquier forma esto es sólo una
indicación y no un requisito.
Listado de Código 4.1: Obteniendo información del núcleo |
$ dmesg | grep -i print
parport0: Printer, Hewlett-Packard HP LaserJet 2100 Series
$ lsusb
Bus 001 Device 007: ID 03f0:1004 Hewlett-Packard DeskJet 970c/970cse
|
Instalar la impresora
Para tener la impresora instalada en el sistema, lanzamos nuestro
navegador e introducimos la dirección http://localhost:631 . Con lo cual
aparecerá la interfaz web de CUPS, desde la que podremos realizar
todas las tareas de administración.
Vamos a Tareas de administración y entramos con el usuario root
y la contraseña pertinente. Cuando llegamos a la interfaz
administrativa, hacemos click en Añadir impresora y nos
encontraremos con una pantalla que nos permitirá introducir la
siguiente información:
-
El Nombre de la cola de impresión, un breve pero
descriptivo nombre usado en el sistema para identificar la
impresora. Este nombre no debe contener ni espacios ni caracteres
especiales. Por ejemplo, para la impresora HP LaserJet 5P podemos
indicar hpljet5p.
-
La Ubicación, una descripción de dónde se encuentra
localizada la impresora físicamente (por ejemplo, en mi
habitación, o en la cocina encima del lavavajillas, ...). Esto es
para ayudarnos a mantener varias impresoras.
-
La Descripción donde debemos añadir una completa
descripción de la impresora. El uso más frecuente es añadir el
nombre completo de la impresora (como "HP LaserJet 5P").
La siguiente pantalla nos pregunta acerca de la Conexión. Podremos
elegir entre varios tipos. La siguiente tabla muestra algunos de
ellos, pero no es exhaustiva.
| Dispositivo |
Descripción |
| AppSocket/HP JetDirect |
Este dispositivo especial permite acceder a impresoras remotas a
través de una conexión HP JetDirect. Sólo algunas impresoras
específicas lo soportan.
|
| Internet Printing Protocol (IPP o HTTP) |
Usaremos este para acceder a una impresora remota a través del
protocolo de impresión internet, bien directamente (IPP) o bien a
través de HTTP.
|
| LPD/LPR Host or Printer |
Seleccionaremos este si la impresora es remota y está conectada a
un servidor LPD/LPR.
|
| Parallel Port #1 |
Seleccionaremos este cuando la impresora se encuentre conectada
localmente al puerto paralelo (LPT). Cuando la impresora se
detecta automáticamente se añadirá su nombre al dispositivo
también.
|
| USB Printer #1 |
Elegiremos este cuando la impresora esté conectada localmente a un
puerto USB. El nombre de la impresora se anexará al nombre del
dispositivo automáticamente.
|
Si se está instalando una impresora remota, se nos preguntará acerca
de la URI de la impresora:
-
Un servidor de impresión LPD requiere la sintaxis
lpd://hostname/queue
-
Una impresora HP JetDirect requiere la sintaxis
socket://hostname
-
Una impresora IPP requiere la sintaxis
ipp://hostname/printers/printername o bien
http://hostname:631/ipp/queue.
A continuación seleccionamos el fabricante de la impresora y en la
subsiguiente pantalla, el modelo y el número. Para muchas impresoras
pueden encontrarse múltiples controladores. Puede seleccionarse uno en
este momento o bien buscar en la Lista de
impresoras LinuxPrinting.org uno más adecuado. Pueden cambiarse
los controladores fácilmente posteriormente.
Una vez hayamos seleccionado el controlador, CUPS nos informará de que
la impresora ha sido añadida satisfactoriamente al sistema. Ahora
puede dirigirse a la impresora en la interfaz de administración y
seleccionar Configurar impresora para modificar los parámetros
de la misma (resolución, formato de página, ...).
Comprobar y Reconfigurar la Impresora
Para verificar que la impresora está funcionando correctamente vamos a
la página de administrar impresoras, seleccionamos la impresora y
pulsamos en Imprimir página de prueba.
Si la impresora no parece funcionar correctamente, pulsaremos en
Modificar impresora para reconfigurarla. Se nos mostrarán los
mismos mensajes que aparecieron durante la primera instalación, pero
la configuración por defecto será nuestra configuración ahora.
Si no se tiene idea de porqué la impresora no está funcionando,
podemos obtener alguna pista comprobando el fichero
/var/log/cups/error_log. En el siguiente ejemplo
encontramos que hay un problema de permisos, probablemente debido a un
parámetro Allow inadecuado en /etc/cups/cupsd.conf
.
Listado de Código 4.2: Buscando errores CUPS |
# tail /var/log/cups/error_log
E [11/Jun/2005:10:23:28 +0200] [Job 102] Unable to get printer status (client-error-forbidden)!
|
Instalar el Mejor Controlador
Existen muchos controladores de impresoras; para encontrar cuál de
ellos ofrece el mayor rendimiento para nuestra impresora, visitamos la
Lista de
impresoras LinuxPrinting. Seleccionamos la marca y el tipo para
ver el controlador que nos recomiendan. Por ejemplo, para la HP
LaserJet 5P, en esta página nos recomiendan el controlador
ljet4.
Descargue el archivo PPD y colóquelo en
/usr/share/cups/model, luego ejecute /etc/init.d/cupsd
restart como el superusuario (root). Esto proporcionará el
controlador a través de la interfaz web de CUPS. Ahora reconfigure su
impresora como se ha descrito anteriormente.
5.
Uso de Controladores Especiales para la Impresora
Introducción
Algunas impresoras requieren controladores específicos para
proporcionar características adicionales que no se proporcionan
siguiendo el método de configuración descrito anteriormente. En este
capítulo explicamos cómo hacer funcionar algunas de estas impresoras
bajo Gentoo Linux.
Cubriremos las siguientes impresoras y/o controladores:
Controlador Gimp-Print
Los controladores gimp-print son de gran calidad,
de código fuente abierto para varias impresoras Canon, Epson, HP,
Lexmark, Sony, Olympus y PCL que soportan CUPS, ghostscript, El Gimp y
otras aplicaciones.
El árbol portage de Gentoo contiene un ebuild para los controladores
gimp-print. Tan sólo hay que usar emerge para instalarlos. Es
importante hacer notar que el ebuild atiende a varios parámetros USE
(como cups y ppds). ¡Es necesario activar como mínimo
esos dos parámetros!
Listado de Código 5.1: Instalación de los controladores gimp-print |
# emerge gimp-print
|
Cuando el proceso emerge concluya, los controladores Gimp-Print
estarán disponibles a través de la interfaz web de CUPS.
Controlador HPLIP
El proyecto HPLIP incorpora
el controlador hpijs e incluye soporte para escáner y herramientas
para varios periféricos multi-función. Para que soporte la impresión,
debemos activar el parámetro USE ppds.
Listado de Código 5.2: Instalación de los controladores hplip |
# emerge -vp hplip
These are the packages that I would merge, in order:
Calculating dependencies ...done!
[ebuild N ] net-print/hplip-0.9.5 +X +cups +foomaticdb -qt -scanner -snmp +usb 9,255 kB
Total size of downloads: 9,255 kB
# emerge hplip
# hp-setup
# /etc/init.d/cupsd restart
|
Cuando el proceso emerge concluya, la herramienta hp-setup
intentará detectar e instalar los controladores de impresión para tu
impresora en el sistema. Una vez finalizado, tu impresora estará
disponible en la configuración CUPS.
Controlador PNM2PPA
PPA es una tecnología de HP orientada a enviar todo el procesamiento
de bajo nivel al sistema, en lugar de a la impresora. Con lo cual las
impresoras son menos caras, pero consumen muchos más recursos.
Si en el enlace de LinuxPrinting
nos informan de que el controlador pnm2ppa es nuestra mejor
opción, debemos instalar el filtro pnm2ppa en nuestro sistema:
Listado de Código 5.3: Instalación del filtro pnm2ppa |
# emerge pnm2ppa
|
Una vez instalado, descargue el fichero PPD para su impresora desde el
sitio Web
LinuxPrinting y ubíquelo en el directorio
/usr/share/cups/model. Luego, configure su impresora
usando los pasos explicados anteriormente.
6.
Imprimiendo desde y hacia Microsoft Windows
Configuración de un cliente Windows IPP
Nota:
Debería leer nuestra Guía
Samba/CUPS para mayor información respecto a la configuración de
CUPS con Samba.
|
Microsoft Windows soporta IPP (Aunque los usuarios de Windows 9x y ME
necesitarán instalarlo
por separado). Para instalar una impresora conectada a nuestro sistema
Linux bajo Windows, lanzamos el asistente Agregar impresora y
seleccionamos impresora de red. Cuando nos pregunte acerca de
la dirección URL de la impresora, usaremos la sintaxis
http://hostname:631/printers/queue.
Hay que asegurarse de que los sistemas pueden acceder a la impresora.
Configuración de un Cliente Windows para una impresora compartida con
Samba
Para compartir la impresora en la red SMB-CIFS, se debe tener SAMBA
instalado y configurado correctamente. Cómo hacerlo escapa a las
pretensiones de este documento, pero trataremos brevemente la
configuración de impresoras compartidas SAMBA.
Abrimos /etc/samba/smb.conf con nuestro editor y añadimos
una sección [printers] al mismo:
Listado de Código 6.1: Añadiendo la sección [printers] |
[printers]
comment = All printers
path = /var/spool/samba
browseable = no
guest ok = no
writable = no
printable = yes
public = yes
printer name = hpljet5p
|
Ahora vamos al principio del archivo smb.conf hasta que
nos encontremos en la sección [global]. Localizamos los ajustes
printcap name y printing y los dirigimos hacia
cups:
Listado de Código 6.2: Modificaciones en la sección [global] |
[global]
printcap name = cups
printing = cups
|
Hemos de asegurarnos de activar soporte para
los controladores PCL Windows en CUPS. Después reiniciamos el
servicio smb para hacer las modificaciones efectivas.
Configuración de un Cliente Linux para un Servidor de Impresión
Windows
Antes de nada, debemos asegurarnos de que la impresora está compartida
en el sistema Windows.
Después, en la interfaz web de CUPS, configuraremos la impresora como
se describió anteriormente. Notaremos que CUPS ha añadido otro
controlador denominado Windows Printer vía SAMBA. Lo
seleccionamos y usaremos la sintaxis
smb://username:password@workgroup/server/printername o
smb://server/printername para la URI.
7.
Aplicaciones Relacionadas con la Impresión
Introducción
Existen muchas herramientas que nos ayudarán a configurar una
impresora, usar filtros de impresión adicionales, añadir
características adicionales de nuestra impresora, etc. En este
capítulo mostramos una de ellas; por supuesto, no vamos a mostrar una
lista exhaustiva ni vamos a cubrir la herramienta con gran detalle.
Gtk-LP - Una Herramienta de Configuración de Impresoras
Gtk
Con Gtk-LP
podemos instalar, modificar y configurar la impresora desde una
aplicación Gtk. Emplea CUPS y proporciona toda la capacidad de
CUPS. Merece la pena emplearla si no resulta de nuestro agrado la
interfaz web de CUPS o necesitamos de una aplicación auto-suficiente
para nuestras rutinas de impresión diarias.
Para instalarla, emerge gtklp:
Listado de Código 7.1: Instalación de Gtk-LP |
# emerge gtklp
|
8.
Resolución de problemas
Error: Unable to convert file 0 to printable format
Si está experimentando problemas de impresión y
/var/log/cups/error_log muestra este mensaje:
Listado de Código 8.1: Bitácora de error |
Unable to convert file 0 to printable format
|
Necesita reinstalar ghostscript-esp con el parámetro USE
cups. Puede añadir cups a sus parámetros USE en
/etc/make.conf o bien puede activarla solamente para
ghostscript-esp tal como se muestra a continuación:
Listado de Código 8.2: Agregar cups a ghostscript-esp |
# echo "app-text/ghostscript-esp cups" >> /etc/portage/package.use
|
Luego instale ghostscript-esp con emerge. Una vez que haya
finalizado, asegúrese de reiniciar cupsd después.
Listado de Código 8.3: Reiniciar cupsd |
# /etc/init.d/cupsd restart
|
El contenido de este documento está registrado bajo los términos de
la licencia
Creative Commons - Reconocimiento / Compartir Igual
|