CUPS / Compartir deimpresoras – ArchWiki – Servidor de impresión

, Author

Este artículo contiene instrucciones para compartir impresoras entre sistemas, ya sea entre dos sistemas GNU/Linux o entre un sistema GNU/Linux y Microsoft Windows.

Sumario

Creación de una clase para múltiples impresoras

En CUPS, una clase es un grupo de impresoras que aparece ante los clientes como una única impresora. Cuando un cliente elige imprimir en la clase, CUPS selecciona cualquier impresora del grupo para aceptar el trabajo de impresión. Esto puede ser especialmente útil cuando hay que eliminar una impresora de la clase. Si se excluye de la clase, los usuarios finales no notarán ningún cambio porque el trabajo de impresión se pondrá en cola en otra impresora de la clase. La creación y gestión de clases se puede hacer desde la GUI web de CUPS.

Entre los sistemas GNU / Linux

El servidor se puede configurar mediante la GUI web o editando manualmente /etc/cups/cupsd.conf.
Para configurar el cliente, consulte CUPS.

Usando la interfaz web

Abra la interfaz web en el servidor, seleccione la pestaña Administración, busque en el encabezado Servidor y active la opción «Compartir impresoras conectadas a este sistema». Guarde el cambio haciendo clic en el botón Cambiar configuración. El servidor se reiniciará automáticamente.

Para configuraciones más complejas, puede editar la /etc/cups/cupsd.conf caída directamente seleccionando Editar archivo de configuración. Consulte #Configuración manual para obtener más información.

Configuración manual

En el ordenador servidor (el que está conectado directamente a la impresora), permita el acceso al servidor cambiando la directiva de ubicación. Por ejemplo:

/etc/cups/cupsd.conf
 Ordenar allow, deny Permitir localhost Permitir 192.168.0... *...

Asegúrate también de que el servidor escucha la dirección IP que usará el cliente:

/etc/cups/cupsd.conf
...Listening: 631...

Hay más opciones de configuración, incluyendo métodos automáticos, descritos en detalle en Using Network Printers. cupsd.conf (5).

Después de cualquier cambio, reinicia org.cups.cupsd.service.

Si CUPS se inicia utilizando la activación de sockets, cree un fragmento de código para org.cups.cupsd.socket para que la activación de sockets también funcione para las conexiones remotas:

/etc/systemd/system/org.cups.cupsd.socket.d/override.conf
ListenStream = 631

Habilitación de la navegación

Para habilitar la navegación (descubrimiento de impresoras compartidas), Avahi debe estar instalado y ejecutándose en el servidor.
Si no necesita buscar impresoras, Avahi no es necesario ni en el servidor ni en el cliente.

Para habilitar la navegación, seleccione Compartir impresoras conectadas a este sistema en la interfaz web, o habilite manualmente la navegación:

/etc/cups/cupsd.conf
...Navegar en...

y reiniciar org.cups.cupsd.service.

Note que «navegar» en el servidor de impresión es diferente a «navegar» en un host remoto en red. En el servidor de impresión, cupsd proporciona soporte para el protocolo DNS-SD que difunde el avahi-daemon. el servicio tasses feuilletées no es necesario en el servidor de impresión a menos que también esté difundiendo el protocolo CUPS más antiguo o que el servidor de impresión también esté «navegando» hacia otras impresoras en red. En el host remoto en red, el servicio tasses feuilletées es Campos requeridos «navegar» emisiones de red de servicios de impresión y ejecutar tasses feuilletées también iniciará automáticamente cupsd.

El servicio org.cups.cupsd.service se iniciará automáticamente cuando se conecte una impresora USB. Sin embargo, este puede no ser el caso de otros tipos de conexión. Si cupsd no funciona, avahi-daemon no está emitiendo los servicios de impresión, por lo que en este caso hay que modificar el archivo de servicio de la unidad systemd para que se inicie en el arranque, y luego hay que «habilitar/instalar» de nuevo el servicio con la nueva dependencia. Para ello, edita la sección del archivo de servicio para añadir una dependencia WantedBy = default.target, y luego habilita e inicia el servicio org.cups.cupsd.service.

Entre GNU / Linux y Windows

Servidor de Linux – cliente de Windows

El intercambio con clientes de Windows se puede hacer usando #Compartir vía IPP o #Compartir vía Samba.

Después de configurar el servidor, instale los controladores nativos de su impresora en un ordenador con Windows. Si la cola de impresión del servidor CUPS está configurada para utilizar sus propios controladores de impresora en lugar de la cola brut, puede simplemente seleccionar un controlador de impresora postscript genérico para el cliente de Windows (por ejemplo, «HP Color LaserJet 8500 PS» o «Xerox DocuTech 135 PS2» o «Microsoft PS Class driver»).

Compartir a través de IPP

El Protocolo de Impresión de Internet es un estándar ampliamente soportado entre los sistemas operativos y fácil de configurar. Cuenta con reenvío de puertos, tunneling, etc.

Nota: Es posible que tenga que añadir el Cliente de impresión por Internet a Windows (Panel de control> Programas> Activación o desactivación de las características de Windows> Servicios de impresión y documentación)

Comience configurando el servidor como se describe en la sección #Entre sistemas GNU/Linux.

En el ordenador con Windows, ve al Panel de control> Dispositivos e impresoras y elige «Añadir impresora». Si está en Windows 10, haga clic en «La impresora que quiero no aparece». A continuación, elija «Seleccionar una impresora compartida por nombre» y escriba la ubicación de la impresora:

http: //nom d'hôte: 631 / imprimantes /Printer_Name

Donde hostname es el nombre de host o la dirección IP del servidor GNU / Linux y Printer_Name es el nombre de la cola de impresión a la que se va a conectar. También puede utilizar el nombre de dominio completo del servidor, si procede, pero es posible que tenga que poner ServerAlias my.fully.qualified.domain.name en /etc/cups/cupsd.conf para que esto funcione.

Nota:

  • El cuadro de diálogo «Añadir impresora» de Windows sugiere el formato http: //nom_ordinateur/printers/nom_prin/.printer, que no aceptará. En su lugar, utilice la sintaxis sugerida anteriormente.
  • Si está utilizando un proxy, compruebe cuidadosamente cualquier proxy utilizado. exclusiones. Una configuración incorrecta puede impedir que se añada una impresora hasta el siguiente reinicio, aunque luego se desactive el proxy (al menos en Windows 7).

Compartir a través de Samba

Samba es una implementación incluso de los protocolos más antiguos de Windows para compartir archivos e impresoras.

Tenga en cuenta que la compartición de impresoras mediante Samba suele ser más difícil de configurar y mantener.

Para configurar Samba en el servidor Linux, modifique el archivo /etc/samba/smb.conf para permitir el acceso a las impresoras. El archivo smb.conf podría ser algo así:

/etc/samba/smb.conf
workgroup = workgroupserver string = servidor de impresión Linux Archsecurity = userprinting = CUPS how = todas las impresoras path = / var / spool / samba searchable = yes # para permitir al usuario 'cuenta de invitado' imprimir. guest ok = not writable = not printable = yes Create mode = 0700 write list = root @adm @wheel your username

Esto debería ser suficiente para compartir la impresora, pero añadir una entrada individual a la impresora puede ser deseable:

/etc/samba/smb.conf
 how = Samsung ML-1250 laser printer printer = ml1250 path = / var / spool / samba printing = cups printable = yes user client driver = yes # para permitir al usuario de la 'cuenta de invitado' imprimir. guest ok = no write access = no write list = root @adm @wheel your username usuarios válidos = root @adm @wheel your username

Tenga en cuenta que esto supone que la configuración se ha hecho de manera que los usuarios deben tener una cuenta válida para acceder a la impresora. Para tener una impresora pública, pon ok invité a Oui y elimina la línea utilisateurs valides. Para añadir cuentas, configure una cuenta normal de GNU / Linux, y luego establezca una contraseña de Samba en el servidor. Ver Samba # Gestión de usuarios.

Después, reinicie smb.service y nmb.service.

Consulte la documentación de Samba Configuring Samba as a Print Server para más detalles.

Servidor Windows – Cliente Linux

Merge-arrows-2.png "src =" "width =" 48 "height =" 48 "/bEste artículo o sección es candidato a ser fusionado con CUPS # Network_2./bimg alt="src =" http://wiki.archlinux.org/images/c/c9/Merge-arrows-2.png "src =" "width =" 48 "height =" 48 "/bEste artículo o sección es candidato a ser fusionado con CUPS # Network_2./bimg alt="width =" 48 "height =" 48 "/><b>Cet article ou cette section est candidat à la fusion avec CUPS # Network_2.</b><img alt=

Notas: Esta no es una sección para compartir una impresora desde Linux, sólo se trata de conectarse a un servidor de impresión (que ejecuta Windows). (Discutir en Talk: CUPS / Printer Share No.)
Precaución: Todos los caracteres especiales en las URIs de las impresoras deben ser entrecomillados correctamente. De lo contrario, si el nombre de la impresora de Windows o las contraseñas de los usuarios contienen espacios, CUPS emitirá un error. lpadmin: mauvais périphérique-uri Error.

Por ejemplo, smb: // BEN-DESKTOP / HP Color LaserJet série CP1510 PCL6 se convierte en smb: // BEN-DESKTOP / HP% 20Color% 20LaserJet% 20CP1510% 20series% 20PCL6.

Esta cadena de resultados puede obtenerse ejecutando el siguiente comando:

$ python -c 'à partir de la citation d'importation urllib.parse; print ("smb: //" + citation ("BEN-DESKTOP / HP Color LaserJet série CP1510 PCL6")) '

Compartir a través de LPD

Windows 7, 8 y 10 tienen un servidor LPD incorporado – usarlo será probablemente el enfoque más fácil ya que tampoco requiere que Samba esté instalado en el cliente, ni requiere una configuración engorrosa en el servidor. Se puede habilitar en el Panel de Control en Programas -> Habilitar características de Windows en la sección Servicios de impresión. La impresora debe tener activada la opción de compartir en sus propiedades. Utilice un nombre de recurso compartido sin caracteres especiales como espacios, comas, etc.

Entonces la impresora se puede añadir en CUPS, eligiendo el protocolo LPD. La dirección de la impresora tendrá el siguiente aspecto:

lpd: // windowspc / printersharename

Antes de añadir la impresora, es probable que tengas que instalar un controlador de impresora adecuado en función de tu modelo de impresora. Los controladores genéricos PostScript o RAW también pueden funcionar.

Compartir a través de IPP

Como en el caso anterior, IPP también es el protocolo preferido para compartir impresoras aunque sólo funciona con versiones de Windows Server. Las versiones de Windows Server (por ejemplo, Server 2016) incluyen compatibilidad con IPP (rol «Servicios de impresión y documentos», servicio «Impresión por Internet»). Las versiones cliente (Windows 10, por ejemplo) sólo incluyen el cliente IPP y no admiten el uso compartido a través de IPP.

Compartir a través de Samba

Una forma mucho más sencilla utiliza el uso compartido de impresoras nativo de Windows a través de Samba. No se requiere casi ninguna configuración, y todo se puede hacer desde el backend de CUPS. Como se mencionó anteriormente, si hay problemas, la razón está relacionada principalmente con problemas de autenticación y restricciones de acceso de Windows.

En el lado del servidor, habilite el uso compartido para la impresora de su elección y asegúrese de que el usuario en el equipo cliente tiene derecho a acceder a la impresora.

La siguiente sección explica cómo configurar el cliente, suponiendo que ambos demonios (cupsd y smbd) se están ejecutando.

Configuración mediante la interfaz web

Tango-inexact.png src = width = 48 height = 48 /bLa exactitud de los hechos de este artículo o sección es discutida./bimg alt='exactitude factuelle de cet article ou de cette section est contestée.</b><img alt=

El backend Samba de CUPS está habilitado por defecto si por alguna razón no lo habilita introduciendo el siguiente comando y reiniciando CUPS.

# ln -s $ (quel smbspool) / usr / lib / cups / backend / smb

A continuación, basta con entrar en la interfaz web de CUPS y elegir añadir una nueva impresora. Como dispositivo, elija «Impresora de Windows a través de SAMBA».

Para la ubicación del dispositivo, introduzca:

smb: // nom d'utilisateur: mot de passe @ nomhôte / nom_imprimante

O sin contraseña:

smb: // nomutilisateur @ nomhôte / nom_imprimante

Asegúrese de que el usuario tiene realmente acceso a la impresora en el equipo Windows y seleccione los controladores adecuados. Si el ordenador se encuentra en un dominio, asegúrese de que el URI incluye el dominio:

smb: // nom d'utilisateur: mot de passe @ domaine / nom d'hôte / nom_imprimante
Configuración manual

Tango-inexact.png src = width = 48 height = 48 /bLa exactitud de este artículo o sección está en discusión./bimg alt='exactitude factuelle de cet article ou de cette section est contestée.</b><img alt=

Para la configuración manual, detenga el demonio CUPS y añada su impresora a /etc/cups/printers.conf, que por ejemplo podría tener este aspecto

/etc/cups/printers.conf
AuthInfoNombre de usuario requerido, contraseñaInfo Mi impresora vía SAMBALieu en mi oficinaModelo Samsung ML-1250 - CUPS + Gutenprint v5.2.7 # <= use 'lpinfo -m' para listar los modelos disponibles.DeviceURI smb: // nombre de usuario: password @ host_name / printer_name # <= URI del servidor, como se describió en la sección anteriorStatus idleType 4Accept YesPart noWorksheets none noneQuotaPeriod 0PageLimit 0KLimit 0AllowUser yourusername # <= no olvides cambiar thisOpPolicy defaultErrorPolicy stop-printer

A continuación, reinicia el demonio CUPS e intenta imprimir una página de prueba.

Búsqueda de URIs para servidores de impresión de Windows

A veces Windows es un poco menos que a prueba de futuro en los URIs de dispositivos exactos (ubicaciones de dispositivos). Si no puede especificar la ubicación correcta del dispositivo en CUPS, ejecute el siguiente comando para listar todos los recursos compartidos disponibles para un determinado nombre de usuario de Windows:

$ smbtree -U windowsusername

Esto lista todos los recursos compartidos disponibles para un determinado nombre de usuario de Windows en la subred de la red local, siempre que Samba esté configurado y funcione correctamente. Debería devolver algo así:

 GROUPE DE TRAVAIL REGULATOR-PC REGULATOR-PC Z REGULATOR-PC Public REGULATOR-PC print $ Pilotes d'imprimante REGULATOR-PC G REGULATOR-PC EPSON Stylus série CX8400 EPSON Stylus CX8400 série

Lo que se necesita aquí es la primera parte de la última línea, el recurso correspondiente a la descripción de la impresora. Así, para imprimir en la impresora EPSON Stylus, hay que introducir:

smb: // nom d'utilisateur: mot de passe @ REGULATOR-PC / EPSON% 20Stylus% 20CX8400% 20Series

como URI en CUPS.

Administración remota

Una vez configurado el servidor como se describe en #Entre sistemas GNU/Linux, también se puede configurar para ser administrado remotamente. Añade los hosts permitidos al bloque /etc/cups/cupsd.conf, utilizando la misma sintaxis que se describe en #Configuración manual. Tenga en cuenta que se pueden conceder tres niveles de acceso:

 #accès au serveur#accès aux pages d'administration#accès aux fichiers de configuration

Para dar acceso a los hosts remotos a uno de estos niveles, añada una declaración Permettre a la sección correspondiente a ese nivel. Una declaración Permettre puede adoptar una o varias de las formas que se indican a continuación:

Autoriser de tousAutoriser depuis host.domain.comAutoriser à partir de * .domain.comAutoriser depuis l'adresse ipAutoriser depuis adresse IP / masque de réseauAutoriser à partir de @LOCAL

También pueden utilizarse declaraciones de denegación. Por ejemplo, para dar acceso completo a todos los hosts de sus interfaces de red local, edite /etc/cups/cupsd.conf incluya esto:

# Restreindre l'accès au serveur ...# Par défaut, seules les connexions localhost sont possibles. Ordre permettre, refuser Autoriser à partir de @LOCAL# Restreindre l'accès aux pages d'administration ... Ordre permettre, refuser Autoriser à partir de @LOCAL# Restreindre l'accès aux fichiers de configuration ... AuthType Basic Requiert l'utilisateur @SYSTEM Ordre permettre, refuser Autoriser à partir de @LOCAL

También puede necesitar desactivar la configuración de HTTPS cuando utilice el certificado autofirmado por defecto generado por CUPS:

DefaultEncryption IfRequested

Esto debería evitar el siguiente error: 426 – Se requiere una actualización cuando se utiliza la interfaz web de CUPS desde un equipo remoto.

Kerberos

Kerberos se puede utilizar para autenticar a los usuarios que acceden a un servidor CUPS remoto. Esto supone que su máquina tiene un keytab y necesitará un ticket para «HTTP». En lugar de usar http: // localhost: 631 Necesitas usar https://host.example.co.uk:631 – el cifrado es necesario para la autenticación (así que https) y el nombre de host completo es necesario para que Kerberos / Negotiate funcione. Además, el servidor debe estar configurado en /etc/cups/cupsd.conf utilizar un DefaultAuthType de Négocier.

Si está utilizando el soporte Winbind NSS de Samba, puede añadir un nombre de grupo AD a /etc/cups/cups-files.conf – en el siguiente ejemplo administrateur système podría ser un grupo AD:

Racine système SystemGroup sysadmin

Solución de problemas

Vea CUPS / Solución de problemas para obtener consejos generales de solución de problemas.

No se puede imprimir con aplicaciones GTK

Si obtienes un fallo al obtener la información de la impresora al intentar imprimir desde aplicaciones GTK, añade esta línea a tu / etc / hosts:

serverip some.name.org ServersHostname

Errores de permisos de Windows

Algunos usuarios fijos NT_STATUS_ACCESS_DENIED (clientes de Windows) utilizan una sintaxis ligeramente diferente:

smb: // groupe de travail / nom d'utilisateur: mot de passe @ nom_hôte / nom_imprimante

Otros sistemas operativos

En el manual de CUPS, por ejemplo, se puede encontrar más información sobre la interfaz de CUPS con otros sistemas de impresión. en http: // localhost: 631 / help / network.html.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *