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.
Installez les paquets : cups cups-filters cups-libs foomatic-db gutenprint
( cups-pdf
en option)
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
,/usr/local/share/doc/pkg-readmes/cups-pdf
, ainsi que sous /usr/local/share/doc/cups-pdf/README
./usr/local/share/doc/pkg-readmes/foomatic-db-engine
.Depuis OpenBSD 6.2, l'accès aux pages de manuel est sensiblement différent :
man -m /usr/local/man lpr
Cela est vrai pour les binaires lpq
, lpr
et lprm
!
OpenBSD 6.5 : la version du driver Gutenprint a changé (v5.3.x au lieu de v5.2.x) ; modifiez les paramètres de l'imprimante pour lui changer le pilote vers cette nouvelle version !
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 !
Pour la découverte des services multicast - mDNS (de type Avahi, Bonjour, …)…
Il nous faut :
# rcctl enable cupsd cups_browsed
# rcctl start cupsd cups_browsed
Voici les règles pare-feu si besoin :
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 !
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 !
cupsctl
: # cupsctl --share-printers
lpadmin
: # lpadmin -E -p printer_name -o printer-is-shared=false
-E
active le chiffrement des données avec le service ; elle est intégrée aussi aux autres outils ci-dessous.printer-is-shared
permet de partager ou non l'imprimante ; true
autorise, false
ne le permet paslpoptions
: affiche les options d'une imprimante-l
: version détailléelpstat
: outil pour obtenir les informations sur les imprimantes ou le serveur Cups-l
: affiche une liste détaillée des imprimantes, des travaux d'impression, etc.-p
: restitue toutes les informations de toutes les imprimantes configurées ; pour cibler une seule, il suffit de donner son nom en argument de l'option, tel que dans la commande lpadmin
ci-dessus. -r
: l'état du serveur Cups-t
: restitue toutes les informations d'étatÀ toutes ces commandes, il existe pléthore d'options, veuillez lire les manpages correspondants.
Les deux premières commandes doivent avoir des droits d'administration, ce qui n'est pas le cas des deux autres.
Pour gérer les imprimantes en mode graphiques, il est nécessaire d'ajouter les packages suivants : gtk+2-cups
, gtk+3-cups
et/ou gtk+4-cups
selon votre bureau graphique.
Il est possible que l'administration ne soit pas complète, et de rencontrer des problèmes pour installer une ou des imprimantes par ces biais.
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
!
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
.
⇒ Depuis OpenBSD 7.0, il suffit de remplir/créer le fichier /etc/bsd.re-config
avec :
disable ulpt
⇒ Avant OpenBSD 7.0 :
Pour cela, tapez :
# printf 'disable ulpt\nq\n' | config -ef /bsd
Puis, relinker le noyau :
# sha256 /bsd >/var/db/kernel.SHA256
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
!
Il est nécessaire qu'Avahi soit installé et fonctionnel ; de même, le service cups_browsed
doit être actif sur votre station !
Elle peut être administrée soit par l'interface d'administration web de Cups, soit avec des droits administrateurs…
Contribut(rice|eur)s :