OBSD4* : wiki

Cups : Gestion de l'impression

Description

CUPS fournit un calque d'impression portable pour les systèmes d'exploitation basés sur UNIX®. CUPS fournit des interfaces en ligne de commande de System V et Berkeley.

CUPS utilise lPP (Protocole d'Impression Internet) comme bases pour gérer les queues et travaux d'impressions. Les protocoles des services LPD, SMB et AppSocket (tel que JetDirect) sont supportés avec des fonctionnalités réduites. CUPS ajoute la recherche d'imprimantes réseaux et PPD (Description d'Imprimante PostScript) basé sur les options d'impression supportées dans le monde réel sous UNIX.

Installation

Installez les paquets : cups cups-filters cups-libs foomatic-db gutenprint
( cups-pdf en option)

Documentation

Après l'installation, n'oubliez pas de lire le fichier :

  • /usr/local/share/doc/pkg-readmes/cups,
  • /usr/local/share/doc/pkg-readmes/cups-filters,
  • et au cas où : /usr/local/share/doc/pkg-readmes/cups-pdf.
  • voire aussi : /usr/local/share/doc/pkg-readmes/foomatic-db-engine.

Configuration

shell

Depuis OpenBSD 6.2, les binaires lpq, lpr, et lprm ne sont plus liés symboliquement à /usr/bin. Il est nécessaire de les utiliser en les préfixant de /usr/local/bin/.

Pensez à éditer votre fichier ~/.kshrc, afin de créer des alias qui vous seront utiles, en ajoutant le code suivant :

for i in lpq lpr lprm; do alias $i=/usr/local/bin/$i; done 

Vous pourrez ainsi les utiliser comme avant !

manpage

Depuis OpenBSD 6.2, l'accès aux pages de manuel est sensiblement différent, du fait de la raison mentionnée, ci-dessus :

man -m /usr/local/man lpr

Cela est vrai pour les binaires, en question…

Découverte des services multicast

Pour la découverte des services multicast - mDNS (de type Avahi, Bonjour, …)

Cups

Il nous faut :

  • activer les services :
    # rcctl enable cupsd cups_browsed
  • prioriser les services :
    # rcctl order messagebus avahi_daemon cups_browsed cupsd
  • puis démarrer les services :
    # rcctl start cupsd cups_browsed

Règles PF

Voici les règles pare-feu si besoin :

  • pour l'accès à l'interface web de Cups :
    pass in on egress proto tcp from egress:network to egress port 631 flags S/SA modulate state

Ces règles sont à adapter à vos besoins, et ne sont pas nécessairement justes !

Administration

Web

Cups, à ce moment, devrait être accessible par votre navigateur web préféré sur : http://localhost:631

L'interface d'administration web de Cups est celle qui fonctionne assurément, normalement. Entrez votre mot-de-passe root… et administrez !

Console

  • cupsctl :
    # cupsctl --share-printers 
  • lpadmin :
    # lpadmin -p printer_name -o printer-is-shared=true 

Interface Graphique

Pour gérer les imprimantes en mode graphiques, il est nécessaire d'ajouter les packages suivants : gtk+2-cups ou gtk+3-cups selon votre bureau graphique.

Il semble que l'administration ne soit pas complète. On ne peut pas aller jusqu'au bout de l'installation par le biais des GUIs.

Gestion

USB

Pour pouvoir utiliser correctement votre imprimante sur port usb, il est nécessaire de désactiver ulpt(4) du noyau (cf: config(8)), autrement votre imprimante ne sera pas “visible”, car non disponible par le biais de la bibliothèque libusb.

Pour cela, tapez config -fe /bsd, puis disable ulpt et quit

Pour détecter votre imprimante usb, connectez-la sur un port usb, en premier, puis exécuter dans un terminal, la commande suivante :

  # usbdevs -vd
  Controller /dev/usb3:
addr 1: full speed, self powered, config 1, UHCI root hub(0x0000), Intel(0x8086), rev 1.00
  uhub3
  port 1 powered
  port 2 addr 2: full speed, self powered, config 1, USB MFP(0x082f), EPSON(0x04b8), rev 1.00, iSerialNumber L83010704250947490
  ugen0

Il faut repérer sur la ligne Controller /dev/usb quel numéro est affiché au périphérique ugen et usb, puis donner à ce périphérique les droits nécessaires - dans ce cas-là :

# chown _cups /dev/ugen0.* /dev/usb3

Pour préserver ces changements, au prochain redémarrage, ajoutez la commande à votre fichier /etc/rc.local :

chown _cups:_saned /dev/ugen0.* /dev/usb3

Bien-sûr, modifiez le numéro des périphériques ugen et usb utilisés.

Une autre méthode est d'utiliser les scripts attach/detach du service hotplugd !

Port parallèle

Pour pouvoir imprimer sur une imprimante port parallèle, le service cups a besoin d'avoir accès aux périphériques spécifiques.

Exécutez la commande suivante :

chown _cups /dev/lp[a,t]0

Pour préserver ces changements, au prochain redémarrage, ajoutez la commande à votre fichier /etc/rc.local !

Imprimante partagée

Par mDNS

Il est nécessaire qu'Avahi soit installé et fonctionnel !

Elle peut être administrée soit par l'interface d'administration web de Cups, soit avec des droits administrateurs par les commandes suivantes :

# cupsctl --share-printers
# lpadmin -p <printer_name> -o printer-is-shared=true

<printer_name> est à remplacer par le nom de l'imprimante !

En utilisant DNS-SD

Veuillez lire le fichier pkg-readme de cups !