Table des matières
Dernière mise-à-jour : 2020/01/30 03:28
SO207 - Gestion des Impressions
Commandes AT&T
Introduction
Les commandes de gestion d'impression sous Solaris sont celles d'AT&T :
Commande | Description |
---|---|
lpadmin | Principale commande d'administration pour ajouter, supprimer et modifier des spools |
accept | Autorise le dépôt de requêtes dans un spool |
reject | Interdit le dépôt de requêtes dans un spool |
enable | Autorise le traitement des requêtes dans un spool |
disable | Interdit le traitement des requêtes dans un spool |
lpstat | Liste des travaux en attente |
cancel | Supprime des requêtes |
lpmove | Déplace des travaux en attente d'un spool à un autre |
Plusieurs répertoires sont importants pour le fonctionnement du système d'impression :
- /dev/printers
- contient des liens vers les devices des imprimantes USB
- /etc/lp
- contient les configurations des imprimantes
- /usr/lib/lp/model
- contient les quatre modèles standards - standard, standard_foomatic, netstandard et netstandard_foomatic. Un modèle est un fichier à associer à une imprimante. Ce fichier peut être un script ou un programme fourni par le fabricant d'une imprimante spécifique. Quand un modèle est associé à une imprimante, il s'appelle une interface
- /usr/lib/lp/postscript
- contient des filtres Postscript
- /var/spool/print
- contient la queue d'impression
Configuration de base
lpstat et lpadmin
Sans intervention préalable de l'administrateur, aucune imprimante n'est configurée sur un système Solaris. Il convient d'utiliser la commande lpstat pour visualiser l'état du système d'impression :
# lpstat -t l'ordonnanceur ne fonctionne pas aucune destination par défaut du système
<note> Utiliser le manuel de la commande lpstat pour vous renseigner sur les options disponibles. </note>
Pour ajouter une imprimante, il convient d'utiliser la commande lpadmin :
# lpadmin -p impr1 -v /dev/printers/0 -m standard_foomatic UX:lpadmin : AVERTISSEMENT : "/dev/printers/0" est accessible à d'autres utilisateurs. À CORRIGER : Si d'autres utilisateurs peuvent y accéder, vous risquez d'obtenir des résultats indésirables. Si cela ne vous convient pas, remplacez le propriétaire par "lp" et le mode par 0600. Le traitement continue.
Dans cet exemple les options sont :
- -p
- indique le nom de l'imprimante
- -v
- indique le périphérique physique
- -m
- indique le modèle à utiliser
accept, enable, reject et disable
Il est maintenant possible d'activer l'imprimante grâce aux commandes accept et enable :
# accept impr1 la destination "impr1" accepte désormais les requêtes # enable impr1 imprimante "impr1" maintenant activée
<note tip> Les deux commandes accept et enable ont leurs opposées : reject et disable. </note>
Pour nommer une imprimante en tant que la destination par défaut, il convient d'utiliser la commande lpadmin avec l'option -d :
# lpadmin -d impr1
A l'issu de cette commande, il est possible de constater l'état du système d'impression :
# lpstat -t l'ordonnanceur est en cours d'exécution imprimante par défaut du système : impr1 périphérique pour impr1: /dev/printers/0 impr1 requêtes acceptées depuis 19 mars 2009 13:19:00 CET imprimante impr1 inactif. activé car 19 mars 2009 13:19:10 CET. disponible.
lp et cancel
Avant de procéder, il est important de tester le fonctionnement de la destination :
# echo "test print job" > test.print # lp test.print l'id de demande est impr1-1 (1 file(s))
Dans le cas d'un problème d'impression, il est possible de supprimer la tâche d'impression grâce à la commande cancel, par exemple :
# cancel impr1-1
Le système envoie aussi un message à root dans le cas d'un problème d'impression :
La commande lpstat peut être utilisée avec les option -p et -l :
# lpstat -p -l imprimante impr1 inactif. activé car 19 mars 2009 13:19:10 CET. disponible.
<note> Consultez le manuel et Internet pour comprendre la signification de l'option -l. </note>
Solaris Print Manager
La configuration des imprimantes peut également être faite en utilisant le Solaris Print Manager. Le Print Manager peut être lancé avec la commande suivante :
# /usr/sadm/admin/bin/printmgr Java Accessibility Bridge for GNOME loaded.
lpmove
Pour simuler l'ajout d'une deuxième imprimante, saisissez la commande suivante :
# lpadmin -p impr2 -v /dev/printers/0 -m standard_foomatic UX:lpadmin : AVERTISSEMENT : "/dev/printers/0" est accessible à d'autres utilisateurs. À CORRIGER : Si d'autres utilisateurs peuvent y accéder, vous risquez d'obtenir des résultats indésirables. Si cela ne vous convient pas, remplacez le propriétaire par "lp" et le mode par 0600. Le traitement continue.
Activez ensuite la destination impr2:
# accept impr2 la destination "impr2" accepte désormais les requêtes # enable impr2 imprimante "impr2" maintenant activée
Lancez maintenant une impression sur la destination par défaut :
# lp test.print l'id de demande est impr1-3 (1 file(s)) # lpstat impr1-2 root 15 mars 19 13:24 impr1-3 root 15 mars 19 13:29
A tout moment l'administrateur a la possibilité de transférer les tâches d'impressions vers une autre destination grâce à la commande lpmove, par exemple :
# lpmove impr1 impr2
<note> Supprimez les deux tâches d'impression impr1-2 et impr1-3. </note>
Pour supprimer les destinations précédemment créées, il convient d'utiliser la commande lpadmin avec l'option -x :
# lpadmin -x impr2 # lpadmin -x impr1
Classe d'imprimantes
Une classe est un ensemble ordonné d'imprimantes. Les requêtes envoyées à la classe sont imprimées sur la première imprimante disponible.
Pour créer une classe il convient d'utiliser la commande lpadmin avec l'option -c suivie par le nom de la classe à créer, par exemple :
# lpadmin -p impr1 -c classe1 # lpadmin -p impr2 -c classe1
Pour être fonctionnelle, une classe n'a pas besoin de la commande enable mais uniquement de la commande accept.
La configuration du système d'impression se trouve dans le répertoire /etc/lp :
# ls -l /etc/lp total 28 drwxr-xr-x 2 root lp 512 févr. 28 11:07 alerts drwxrwxr-x 2 lp lp 512 févr. 28 11:07 classes drwxr-xr-x 2 root lp 512 févr. 28 11:09 fd -rw-rw-r-- 1 lp lp 3378 mars 19 13:18 filter.table drwxrwxr-x 2 lp lp 512 févr. 28 11:07 forms drwxrwxr-x 2 lp lp 512 mars 19 13:35 interfaces lrwxrwxrwx 1 root root 17 févr. 28 11:07 logs -> ../../var/lp/logs lrwxrwxrwx 1 root root 17 mars 19 13:18 model -> /usr/lib/lp/model drwxrwxr-x 2 lp lp 512 févr. 28 11:07 ppd drwxrwxr-x 4 lp lp 512 mars 19 13:35 printers drwxrwxr-x 2 lp lp 512 févr. 28 11:07 pwheels
La configuration globale du système d'impression se trouve dans le fichier /etc/printers.conf.
Pour retirer une imprimante d'un classe, il convient d'utiliser la commande lpadmin avec l'option -r suivie par le nom de la classe, par exemple :
# lpadmin -p impr2 -r classe1
Dernièrement,il est possible d'affecter des priorités aux tâches et/ou aux utilisateurs. Pour connaître le priorité par défaut, il convient d'utiliser la commande lpusers avec l'option -l :
# lpusers -l Priorité par défaut : 20 Limite de priorité pour les utilisateurs n'apparaissant pas ci-dessous : 0 Priorité Utilisateurs
CUPS
Introduction
Le logiciel Common Unix Printing System est un système de gestion des impressions conçu pour Unix. Cups utilise le protocole IPP.
Ce protocole :
- est une extension du protocole HTTP
- permet d'administrer CUPS via un navigateur web
- permet de décrire les spools d'impression par simple URL
Installation
Installez CUPS à partir des dépôts CSW :
# /opt/csw/bin/pkgutil --install cups [Entrée]
Daemon cupsd
cupsd est le daemon principal du système CUPS. Quand cupsd traite une impression, il transmet les données à un filtre en fonction du modèle d'imprimante. Après traitement par le filtre, cupsd transmet le résultat à un backend qui se charge de l'impression. Les échanges entre cupsd et ces programmes se font via des répertoires de spools et des tubes.
Configuration
La configuration du serveur CUPS est accomplie via le fichier /opt/csw/etc/cups/cupsd.conf. La syntaxe utilisée est très proche de celle utilisée pour la configuration du serveur Apache.
Par exemple :
# # "$Id: cupsd.conf.in 7199 2008-01-08 00:16:30Z mike $" # # Sample configuration file for the Common UNIX Printing System (CUPS) # scheduler. See "man cupsd.conf" for a complete description of this # file. # # Log general information in error_log - change "info" to "debug" for # troubleshooting... LogLevel info # Administrator user group... SystemGroup lpadmin # Only listen for connections from the local machine. Listen localhost:631 Listen /opt/csw/var/run/cups/cups.sock # Show shared printers on the local network. Browsing On BrowseOrder allow,deny BrowseAllow all # Default authentication type, when authentication is required... DefaultAuthType Basic # Restrict access to the server... <Location /> Order allow,deny </Location> # Restrict access to the admin pages... <Location /admin> Encryption Required Order allow,deny </Location> # Restrict access to configuration files... <Location /admin/conf> AuthType Default Require user @SYSTEM Order allow,deny </Location> # Set the default printer/job policies... <Policy default> # Job-related operations must be done by the owner or an administrator... <Limit Send-Document Send-URI Hold-Job Release-Job Restart-Job Purge-Jobs Set-Job-Attributes Create-Job-Subscription Renew-Subscription Cancel-Subscription Get-Notifications Reprocess-Job Cancel-Current-Job Suspend-Current-Job Resume-Job CUPS-Move-Job> Require user @OWNER @SYSTEM Order deny,allow </Limit> # 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> # All printer operations require a printer operator to authenticate... <Limit Pause-Printer Resume-Printer Enable-Printer Disable-Printer Pause-Printer-After-Current-Job Hold-New-Jobs Release-Held-New-Jobs Deactivate-Printer Activate-Printer Restart-Printer Shutdown-Printer Startup-Printer Promote-Job Schedule-Job-After CUPS-Accept-Jobs CUPS-Reject-Jobs> AuthType Default Require user @SYSTEM Order deny,allow </Limit> # Only the owner or an administrator can cancel or authenticate a job... <Limit Cancel-Job CUPS-Authenticate-Job> Require user @OWNER @SYSTEM Order deny,allow </Limit> <Limit All> Order deny,allow </Limit> </Policy> # # End of "$Id: cupsd.conf.in 7199 2008-01-08 00:16:30Z mike $". #
Dans ce fichier on peut trouver :
- le port d'ecoute d'IPP
- le niveau de journalisation
- la configuration du serveur Browse, c'est-à-dire de découverte des imprimantes réseaux
- les ACL d'accès au spools
- les ACL d'accès à l'administration du serveur.
Ajoutez les deux lignes suivantes dans la section # Administrator user group… afin de pouvoir administrer CUPS en tant que root puis sauvegardez votre fichier :
Group sys User root
Vous obtiendrez un résultat similaire à celui-ci :
# Administrator user group... SystemGroup sys root Group sys User root
Administration
Le serveur CUPS est administré en ligne de commande par l'utilisation d'une ou de plusieurs des commandes se trouvant dans /opt/csw/bin et /opt/csw/sbin :
Commande | Description |
---|---|
lpadmin | Principale commande d'administration pour ajouter, supprimer et modifier des spools |
accept | Autorise le dépôt de requêtes dans un spool |
reject | Interdit le dépôt de requêtes dans un spool |
enable | Autorise le traitement des requêtes dans un spool |
disable | Interdit le traitement des requêtes dans un spool |
lpstat | Liste des travaux en attente |
cancel | Supprime des requêtes |
lpmove | Déplace des travaux en attente d'un spool à un autre |
lpinfo | Affiche la liste des filtres ou backends disponibles |
lppasswd | Gère les comptes et les mots de passe pour l'accès web |
Afin de facilter la gestion de CUPS, il convient de désactiver les commandes lp* de Solaris en les remplaçant par les commandes de CUPS :
# cd /usr/bin # for i in lp lpstat cancel enable ; do > mv $i $i.old > ln -s /opt/csw/bin/$i . > done # cd /usr/sbin # for i in lpadmin lpmove accept ; do > mv $i $i.old > ln -s /opt/csw/sbin/$i . > done
Démarrez maintenant le serveur CUPS :
# /opt/csw/sbin/cupsd
Filtres
Les filtres disponibles au système CUPS se trouvent dans le répertoire /opt/csw/lib/cups/filter :
# ls /opt/csw/lib/cups/filter gziptoany imagetops pdftops rastertodymo rastertohp texttops hpgltops imagetoraster pstops rastertoepson rastertolabel
Backends
Les Backends disponibles au système CUPS se trouvent dans le répertoire /opt/csw/lib/cups/backend :
# ls /opt/csw/lib/cups/backend http ipp lpd parallel scsi serial snmp socket usb
La liste des backends disponibles peut être obtenu en saisissant la commande suivante :
#/opt/csw/sbin/lpinfo -v [Entrée]
Par exemple :
# /opt/csw/sbin/lpinfo -v network socket network http network ipp network lpd direct parallel:/dev/lp1 direct parallel:/dev/ecpp0
<note> Expliquez pourquoi la liste ci-dessus semble être incomplète. </note>
Il y a un type de backend par liaison locale d'imprimante (usb, série, parallèle). Il peut y avoir aussi un backend par type de protocole réseau :
Backend | Description |
---|---|
IPP | Client IPP |
LPD | Client LPD |
HTTP | Client HTTP |
Socket | Client JetDirect sur port tcp/9100 |
T.P.- Ajouter une imprimante
Pour ajouter une imprimante en ligne de commande,il convient d'utiliser la commande CUPS lpadmin qui prend la forme :
/opt/csw/sbin/lpadmin -p imprimante -E -v DeviceURI -m ppd ENTER
Les options de cette commande sont les suivantes :
Options | Description |
---|---|
-p | Le nom de la file |
-v | L'imprimante physique ou réseau sous forme URL |
-m | Le fichier PPD qui identifie l'imprimante |
-E | Applique les commandes accept et enable à l'imprimante |
Les types de DeviceURI sont :
URL | Description |
---|---|
file:/chemin/fichier | Impression dans un fichier |
http://serveur:631/ipp/port1 | Impression via http |
lpd:serveur/queue | Impression via LPD | | ipp:serveur:631/printers/queue | Impression via IPP |
smb:workgroup/serveur/nompartage | Impression via SMB | | socket:serveur | Impression via JetDirect |
serial:/dev/ttyS0?baud=1200+bits=8+parity=none+flow=none | Impression via port série |
parallel:/dev/lp0 | Impression via port parallèle |
Les types de ppd connus de CUPS peuvent être visualiser avec la commande CUPS lpinfo :
# /opt/csw/sbin/lpinfo -m [Entrée]
Par exemple :
# /opt/csw/sbin/lpinfo -m dymo.ppd Dymo Label Printer, 1.3 epson9.ppd Epson 9-Pin Series, 1.3 epson24.ppd Epson 24-Pin Series, 1.3 stcolor2.ppd Epson New Stylus Color Series, 1.3 stphoto2.ppd Epson New Stylus Photo Series, 1.3 stcolor.ppd Epson Stylus Color Series, 1.3 stphoto.ppd Epson Stylus Photo Series, 1.3 deskjet.ppd HP DeskJet Series, 1.3 laserjet.ppd HP LaserJet Series PCL 4/5, 1.3 intelbar.ppd Intellitech IntelliBar Label Printer, 1.3 okidata9.ppd Oki 9-Pin Series, 1.3 okidat24.ppd Oki 24-Pin Series, 1.3 raw Raw Queue zebracpl.ppd Zebra CPCL Label Printer, 1.3 zebraep1.ppd Zebra EPL1 Label Printer, 1.3 zebraep2.ppd Zebra EPL2 Label Printer, 1.3 zebra.ppd Zebra ZPL Label Printer, 1.3
Cette commande détaille les fichiers .ppd se trouvant dans le répertoire /opt/csw/share/cups/model :
# ls /opt/csw/share/cups/model deskjet.ppd epson9.ppd okidat24.ppd stcolor2.ppd zebra.ppd zebraep2.ppd dymo.ppd intelbar.ppd okidata9.ppd stphoto.ppd zebracpl.ppd epson24.ppd laserjet.ppd stcolor.ppd stphoto2.ppd zebraep1.ppd
Pour mieux comprendre, ajoutez une imprimante HP Deskjet sur port parallèle :
# /opt/csw/sbin/lpadmin -p DeskJet -E -v parallel:/dev/printers/0 -m deskjet.ppd
Ajoutez maintenant une imprimante HP Laserjet sur une interface réseau JetDirect à 192.168.0.23 :
# /opt/csw/sbin/lpadmin -p LaserJet -E -v socket://192.168.0.23 -m laserjet.ppd
Téléchargez maintenant le fichier epl5900.ppd.gz pour une EPSON EPL-5900 à partir de l’accueil de cette leçon . Décompressez le fichier et déplacez-le dans le répertoire /opt/csw/share/cups/model. Dernièrement ajoutez une imprimante EPSON EPL-5900 sur port usb :
# /opt/csw/sbin/lpadmin -p EPL5900 -v usb:/EPSON/EPL-5900 -m epl5900.ppd
Les informations concernant les imprimantes configurée(s) sont stockées dans le fichier /opt/csw/etc/cups/printers.conf.
Par exemple :
# cat /opt/csw/etc/cups/printers.conf # Printer configuration file for CUPS v1.3.9 # Written by cupsd on 2009-03-19 17:03 <Printer DeskJet> Info DeskJet DeviceURI parallel:/dev/printers/0 State Idle StateTime 1237476933 Accepting Yes Shared Yes JobSheets none none QuotaPeriod 0 PageLimit 0 KLimit 0 OpPolicy default ErrorPolicy stop-printer </Printer> <Printer EPL5900> Info EPL5900 DeviceURI usb:/EPSON/EPL-5900 State Stopped StateMessage StateTime 1237478608 Accepting No Shared Yes JobSheets none none QuotaPeriod 0 PageLimit 0 KLimit 0 OpPolicy default ErrorPolicy stop-printer </Printer> <Printer LaserJet> Info LaserJet DeviceURI socket://192.168.0.23 State Idle StateTime 1237476947 Accepting Yes Shared Yes JobSheets none none QuotaPeriod 0 PageLimit 0 KLimit 0 OpPolicy default ErrorPolicy stop-printer </Printer>
CUPS peut également être administré en utilisant l'interface Web. Celle-ci est disponible à l'adresse http://localhost:631.
Références
<html> <center> Copyright © 2011-2018 I2TCH LIMITED.<br><br> </center> </html>