Dernière mise-à-jour : 2020/01/30 03:27
Le logiciel Common Unix Printing System est un système de gestion des impressions conçu pour Unix.
Cups utilise le protocole IPP sur les ports udp/631 et tcp/631.
Ce protocole :
Cups peut aussi utiliser les deux protocoles suivants :
cups 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.
Le principal fichier concerné par CUPS est :
Le fichier de configuration de CUPS est /etc/cups/cupsd.conf. Dans ce fichier on peut trouver :
root@ubuntu:~# cat /etc/cups/cupsd.conf # # # Sample configuration file for the CUPS scheduler. See "man cupsd.conf" for a # complete description of this file. # # Log general information in error_log - change "warn" to "debug" # for troubleshooting... LogLevel warn # Deactivate CUPS' internal logrotating, as we provide a better one, especially # LogLevel debug2 gets usable now MaxLogSize 0 # Only listen for connections from the local machine. Listen localhost:631 Listen /var/run/cups/cups.sock # Show shared printers on the local network. Browsing Off BrowseLocalProtocols dnssd # Default authentication type, when authentication is required... DefaultAuthType Basic # Web interface setting... WebInterface Yes # Restrict access to the server... <Location /> Order allow,deny </Location> # Restrict access to the admin pages... <Location /admin> 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/subscription privacy... JobPrivateAccess default JobPrivateValues default SubscriptionPrivateAccess default SubscriptionPrivateValues default # Job-related operations must be done by the owner or an administrator... <Limit Create-Job Print-Job Print-URI Validate-Job> Order deny,allow </Limit> <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 Cancel-My-Jobs Close-Job CUPS-Move-Job CUPS-Get-Document> 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 CUPS-Get-Devices> 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 Cancel-Jobs 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> # Set the authenticated printer/job policies... <Policy authenticated> # Job/subscription privacy... JobPrivateAccess default JobPrivateValues default SubscriptionPrivateAccess default SubscriptionPrivateValues default # Job-related operations must be done by the owner or an administrator... <Limit Create-Job Print-Job Print-URI Validate-Job> AuthType Default Order deny,allow </Limit> <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 Cancel-My-Jobs Close-Job CUPS-Move-Job CUPS-Get-Document> AuthType Default 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 Cancel-Jobs 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> AuthType Default Require user @OWNER @SYSTEM Order deny,allow </Limit> <Limit All> Order deny,allow </Limit> </Policy> # #
Les filtres disponibles au système CUPS se trouvent dans le répertoire /usr/lib/cups/filter :
root@ubuntu:~# ls /usr/lib/cups/filter bannertopdf commandtoepson gstoraster imagetops pdftops rastertodymo rastertopclx texttopdf c2esp commandtoescpx gziptoany imagetoraster pdftoraster rastertoepson rastertoptch texttops c2espC commandtopclx hpcups pdftoijs pstopdf rastertoescpx rastertopwg urftopdf command2esp commandtops hpcupsfax pdftoippprinter pstops rastertogutenprint.5.2 rastertoqpdl command2foo2lava-pjl foomatic-rip hpps pdftoopvp pstoqpdl rastertohp rastertosag-gdi commandtocanon gstopxl imagetopdf pdftopdf pstotiff rastertolabel textonly
Les Backends disponibles au système CUPS se trouvent dans le répertoire /usr/lib/cups/backend :
root@ubuntu:~# ls /usr/lib/cups/backend bluetooth dnssd gutenprint52+usb hp hpfax http https ipp ipp14 ipps lpd mdns parallel serial smb snmp socket usb
La liste des backends reconnus par CUPS peut être obtenue en saisissant la commande suivante :
root@ubuntu:~# lpinfo -v network ipp network socket network https network ipps network lpd network ipp14 network http direct hp direct hpfax network smb network socket://192.168.1.100
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 |
SMB | Client SMB |
Socket | Client JetDirect sur port tcp/9100 |
Pap/cap | Client AppleTalk |
Les journaux de CUPS se trouvent dans /var/log/cups :
root@ubuntu:~# ls -l /var/log/cups total 16 -rw-r----- 1 root adm 191 oct. 25 14:13 access_log -rw-r----- 1 root adm 126 oct. 6 16:43 access_log.1.gz -rw-r----- 1 root adm 126 oct. 6 15:52 access_log.2.gz -rw-r----- 1 root adm 142 sept. 29 14:08 access_log.3.gz -rw-r----- 1 root adm 0 sept. 28 11:27 error_log -rw-r----- 1 root adm 0 sept. 28 11:27 page_log
Les informations concernant l'imprimante ou les imprimantes configurée(s) sont stockées dans le fichier /etc/cups/printers.conf.
La commande suivante liste les imprimantes connues de CUPS :
root@ubuntu:~# lpinfo -m | more lsb/usr/cupsfilters/Fuji_Xerox-DocuPrint_CM305_df-PDF.ppd Fuji Xerox foomatic-db-compressed-ppds:0/ppd/foomatic-ppd/Alps-MD-1000-md2k.ppd Alps MD-1000 Foomatic/md2k foomatic-db-compressed-ppds:0/ppd/foomatic-ppd/Alps-MD-1300-md1xMono.ppd Alps MD-1300 Foomatic/md1xMono foomatic-db-compressed-ppds:0/ppd/foomatic-ppd/Alps-MD-1300-md2k.ppd Alps MD-1300 Foomatic/md2k foomatic-db-compressed-ppds:0/ppd/foomatic-ppd/Alps-MD-1500-md1xMono.ppd Alps MD-1500 Foomatic/md1xMono foomatic-db-compressed-ppds:0/ppd/foomatic-ppd/Alps-MD-1500-md2k.ppd Alps MD-1500 Foomatic/md2k foomatic-db-compressed-ppds:0/ppd/foomatic-ppd/Alps-MD-2000-md2k.ppd Alps MD-2000 Foomatic/md2k foomatic-db-compressed-ppds:0/ppd/foomatic-ppd/Alps-MD-4000-md2k.ppd Alps MD-4000 Foomatic/md2k foomatic-db-compressed-ppds:0/ppd/foomatic-ppd/Alps-MD-5000-md5k.ppd Alps MD-5000 Foomatic/md5k foomatic-db-compressed-ppds:0/ppd/foomatic-ppd/Alps-MD-5000-md50Eco.ppd Alps MD-5000 Foomatic/md50Eco foomatic-db-compressed-ppds:0/ppd/foomatic-ppd/Alps-MD-5000-md50Mono.ppd Alps MD-5000 Foomatic/md50Mono foomatic-db-compressed-ppds:0/ppd/foomatic-ppd/Anitech-M24-epson.ppd Anitech M24 Foomatic/epson (recommended) drv:///hpcups.drv/apollo-2100.ppd Apollo 2100, hpcups 3.14.3 drv:///hpcups.drv/apollo-2150.ppd Apollo 2150, hpcups 3.14.3 drv:///hpcups.drv/apollo-2200.ppd Apollo 2200, hpcups 3.14.3 drv:///hpcups.drv/apollo-2500.ppd Apollo 2500, hpcups 3.14.3 drv:///hpcups.drv/apollo-2600.ppd Apollo 2600, hpcups 3.14.3 drv:///hpcups.drv/apollo-2650.ppd Apollo 2650, hpcups 3.14.3 foomatic-db-compressed-ppds:0/ppd/foomatic-ppd/Apollo-P-1200-pcl3.ppd Apollo P-1200 Foomatic/pcl3 (recommended) foomatic-db-compressed-ppds:0/ppd/foomatic-ppd/Apollo-P-1220_Barbie-pcl3.ppd Apollo P-1220 Barbie Foomatic/pcl3 (recommended) foomatic-db-compressed-ppds:0/ppd/foomatic-ppd/Apollo-P-1250-pcl3.ppd Apollo P-1250 Foomatic/pcl3 (recommended) gutenprint.5.2://pcl-apollo-p2100/expert Apollo P-2100 - CUPS+Gutenprint v5.2.10-pre2 foomatic-db-compressed-ppds:0/ppd/foomatic-ppd/Apollo-P-2100-hpijs-pcl3.ppd Apollo P-2100 Foomatic/hpijs-pcl3 (recommended) gutenprint.5.2://pcl-apollo-p2150/expert Apollo P-2150 - CUPS+Gutenprint v5.2.10-pre2 foomatic-db-compressed-ppds:0/ppd/foomatic-ppd/Apollo-P-2150-hpijs-pcl3.ppd Apollo P-2150 Foomatic/hpijs-pcl3 (recommended) gutenprint.5.2://pcl-apollo-p2200/expert Apollo P-2200 - CUPS+Gutenprint v5.2.10-pre2 foomatic-db-compressed-ppds:0/ppd/foomatic-ppd/Apollo-P-2200-cdj550.ppd Apollo P-2200 Foomatic/cdj550 foomatic-db-compressed-ppds:0/ppd/foomatic-ppd/Apollo-P-2200-hpijs-pcl3.ppd Apollo P-2200 Foomatic/hpijs-pcl3 (recommended) gutenprint.5.2://pcl-apollo-p2250/expert Apollo P-2250 - CUPS+Gutenprint v5.2.10-pre2 foomatic-db-compressed-ppds:0/ppd/foomatic-ppd/Apollo-P-2250-cdj550.ppd Apollo P-2250 Foomatic/cdj550 foomatic-db-compressed-ppds:0/ppd/foomatic-ppd/Apollo-P-2250-hpijs-pcl3.ppd Apollo P-2250 Foomatic/hpijs-pcl3 (recommended) gutenprint.5.2://pcl-apollo-p2500/expert Apollo P-2500 - CUPS+Gutenprint v5.2.10-pre2 foomatic-db-compressed-ppds:0/ppd/foomatic-ppd/Apollo-P-2500-hpijs-pcl3.ppd Apollo P-2500 Foomatic/hpijs-pcl3 (recommended) gutenprint.5.2://pcl-apollo-p2550/expert Apollo P-2550 - CUPS+Gutenprint v5.2.10-pre2 --Plus--
Le serveur CUPS est administré en ligne de commande par l'utilisation d'une ou de plusieurs des commandes suivantes :
Commande | Description |
---|---|
lpadmin | Principale commande d'administration pour ajouter, supprimer et modifier des files d'attente |
accept | Autorise le dépôt de requêtes dans un spool |
reject | Interdit le dépôt de requêtes dans un spool |
cupsenable | Autorise le traitement des requêtes dans un spool |
cupsdisable | 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 |
Pour consulter la liste des files d'attente, il convient d'utiliser donc la commande lpstat :
root@ubuntu:~# lpstat -t scheduler is running no system default destination lpstat: Aucune destination ajoutée. lpstat: Aucune destination ajoutée. lpstat: Aucune destination ajoutée. lpstat: Aucune destination ajoutée.
Créez maintenant une file d'attente sans pilote. Les imprimantes sans pilote utilisent le mode raw :
root@ubuntu:~# lpadmin -p imp1 -v socket://localhost:12000 -m raw
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 modèle à utiliser (un fichier ayant une extension ppd qui identifie l'imprimante) |
Les types de URL possible 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 |
Vérifiez la création de la file d'attente :
root@ubuntu:~# lpstat -t scheduler is running no system default destination device for imp1: socket://localhost:12000 imp1 not accepting requests since sam. 25 oct. 2014 14:14:50 CEST - reason unknown printer imp1 disabled since sam. 25 oct. 2014 14:14:50 CEST - reason unknown
Il est maintenant possible d'activer l'imprimante grâce aux commandes accept et enable :
root@ubuntu:~# accept imp1 root@ubuntu:~# lpstat -t scheduler is running no system default destination device for imp1: socket://localhost:12000 imp1 accepting requests since sam. 25 oct. 2014 14:14:50 CEST printer imp1 disabled since sam. 25 oct. 2014 14:14:50 CEST - reason unknown root@ubuntu:~# cupsenable imp1 root@ubuntu:~# lpstat -t scheduler is running no system default destination device for imp1: socket://localhost:12000 imp1 accepting requests since sam. 25 oct. 2014 14:16:05 CEST printer imp1 is idle. enabled since sam. 25 oct. 2014 14:16:05 CEST
Notez que les deux commandes accept et cupsenable ont leurs opposées : reject et cupsdisable.
Pour nommer une imprimante en tant que la destination par défaut, il convient d'utiliser la commande lpadmin avec l'option -d :
root@ubuntu:~# lpadmin -d imp1 root@ubuntu:~# lpstat -t scheduler is running system default destination: imp1 device for imp1: socket://localhost:12000 imp1 accepting requests since sam. 25 oct. 2014 14:16:05 CEST printer imp1 is idle. enabled since sam. 25 oct. 2014 14:16:05 CEST
Vous allez maintenant créer une file d'attente pour une imprimante HP Color LaserJet Series PCL 6 utilisant le fichier pxlcolor.ppd, appelée Imprimante1 et étant connectée au port parallèle. Premièrement il convient de copier le fichier ppd vers le répertoire /usr/share/cups/model/ :
root@ubuntu:~# cp /usr/share/ppd/cupsfilters/pxlcolor.ppd /usr/share/cups/model/
Créez maintenant la file d'attente :
root@ubuntu:~# lpadmin -p Imprimante1 -E -v parallel:/dev/impr1 -m pxlcolor.ppd root@ubuntu:~# lpstat -t scheduler is running system default destination: imp1 device for imp1: socket://localhost:12000 device for Imprimante1: parallel:/dev/impr1 imp1 accepting requests since sam. 25 oct. 2014 14:16:05 CEST Imprimante1 accepting requests since sam. 25 oct. 2014 14:27:36 CEST printer imp1 is idle. enabled since sam. 25 oct. 2014 14:16:05 CEST printer Imprimante1 is idle. enabled since sam. 25 oct. 2014 14:27:36 CEST
Notez que l'option -E permet de combiner les commandes accept et cupsenable avec lpadmin.
Puisque vous n'avez pas réellement d'imprimante connectée à votre système, pour créer la file d'attente physique associée à cette imprimante il convient de saisir les commandes suivantes :
root@ubuntu:~# touch /dev/impr1 ; chgrp lp /dev/impr1 ; chmod 660 /dev/impr1
Testez maintenant votre imprimante fictive :
root@ubuntu:~# echo "Test Printer File" > /tmp/test.print root@ubuntu:~# lpadmin -d Imprimante1 root@ubuntu:~# lpstat -t scheduler is running system default destination: Imprimante1 device for imp1: socket://localhost:12000 device for Imprimante1: parallel:/dev/impr1 imp1 accepting requests since sam. 25 oct. 2014 14:16:05 CEST Imprimante1 accepting requests since sam. 25 oct. 2014 14:27:36 CEST printer imp1 is idle. enabled since sam. 25 oct. 2014 14:16:05 CEST printer Imprimante1 is idle. enabled since sam. 25 oct. 2014 14:27:36 CEST root@ubuntu:~# lp /tmp/test.print request id is Imprimante1-1 (1 file(s))
Notez que l'impression a eu lieu et la requête s'appelle Imprimante1-1.
Créez maintenant une deuxième file d'attente Imprimante2 et saisissez la commande lpstat -t. Vous devez obtenir un résultat similaire à celui-ci :
root@ubuntu:~# lpadmin -p Imprimante2 -E -v parallel:/dev/impr2 -m pxlcolor.ppd root@ubuntu:~# lpstat -t scheduler is running system default destination: Imprimante1 device for imp1: socket://localhost:12000 device for Imprimante1: parallel:/dev/impr1 device for Imprimante2: parallel:/dev/impr2 imp1 accepting requests since sam. 25 oct. 2014 14:16:05 CEST Imprimante1 accepting requests since sam. 25 oct. 2014 14:29:37 CEST Imprimante2 accepting requests since sam. 25 oct. 2014 14:30:00 CEST printer imp1 is idle. enabled since sam. 25 oct. 2014 14:16:05 CEST printer Imprimante1 is idle. enabled since sam. 25 oct. 2014 14:29:37 CEST Starting GPL Ghostscript 9.10... printer Imprimante2 is idle. enabled since sam. 25 oct. 2014 14:30:00 CEST Imprimante1-1 root 1024 sam. 25 oct. 2014 14:29:36 CEST
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 :
root@ubuntu:~# lpadmin -p Imprimante1 -c classe1 root@ubuntu:~# lpadmin -p Imprimante2 -c classe1
Vérifiez la création de la classe :
root@ubuntu:~# lpstat -t scheduler is running system default destination: Imprimante1 members of class classe1: Imprimante1 Imprimante2 device for classe1: ///dev/null device for imp1: socket://localhost:12000 device for Imprimante1: parallel:/dev/impr1 device for Imprimante2: parallel:/dev/impr2 classe1 not accepting requests since sam. 25 oct. 2014 14:30:29 CEST - reason unknown imp1 accepting requests since sam. 25 oct. 2014 14:16:05 CEST Imprimante1 accepting requests since sam. 25 oct. 2014 14:29:37 CEST Imprimante2 accepting requests since sam. 25 oct. 2014 14:30:00 CEST printer classe1 disabled since sam. 25 oct. 2014 14:30:29 CEST - reason unknown printer imp1 is idle. enabled since sam. 25 oct. 2014 14:16:05 CEST printer Imprimante1 is idle. enabled since sam. 25 oct. 2014 14:29:37 CEST Starting GPL Ghostscript 9.10... printer Imprimante2 is idle. enabled since sam. 25 oct. 2014 14:30:00 CEST Imprimante1-1 root 1024 sam. 25 oct. 2014 14:29:36 CEST
La configuration globale des files d'attente se trouve dans le fichier /etc/cups/printers.conf :
root@ubuntu:~# cat /etc/cups/printers.conf # Printer configuration file for CUPS v1.7.2 # Written by cupsd # DO NOT EDIT THIS FILE WHEN CUPSD IS RUNNING <Printer imp1> UUID urn:uuid:a1f0a487-6bf5-302a-70ac-4575ca1b2468 Info imp1 DeviceURI socket://localhost:12000 PPDTimeStamp * State Idle StateTime 1414239365 Type 4 Accepting Yes Shared Yes ColorManaged Yes JobSheets none none QuotaPeriod 0 PageLimit 0 KLimit 0 OpPolicy default ErrorPolicy retry-job </Printer> <DefaultPrinter Imprimante1> UUID urn:uuid:6fe58711-d3a1-3b2e-617a-e777a6da1f7f Info Imprimante1 MakeModel HP Color LaserJet Series PCL 6 CUPS DeviceURI parallel:/dev/impr1 PPDTimeStamp * State Idle StateTime 1414240177 Type 8400972 Accepting Yes Shared Yes ColorManaged Yes JobSheets none none QuotaPeriod 0 PageLimit 0 KLimit 0 OpPolicy default ErrorPolicy retry-job </Printer> <Printer Imprimante2> UUID urn:uuid:b4403a98-47dc-330a-5376-25dba8729176 Info Imprimante2 MakeModel HP Color LaserJet Series PCL 6 CUPS DeviceURI parallel:/dev/impr2 PPDTimeStamp * State Idle StateTime 1414240200 Type 8400972 Accepting Yes Shared Yes ColorManaged Yes JobSheets none none QuotaPeriod 0 PageLimit 0 KLimit 0 OpPolicy default ErrorPolicy retry-job </Printer>
La configuration globale des classes se trouve dans le fichier /etc/cups/classes.conf :
root@ubuntu:~# cat /etc/cups/classes.conf # Class configuration file for CUPS v1.7.2 # Written by cupsd # DO NOT EDIT THIS FILE WHEN CUPSD IS RUNNING <Class classe1> UUID urn:uuid:44da0af1-cc47-3adf-7f29-1a2d0d3677d5 Info classe1 State Stopped StateTime 1414240229 Accepting No ColorManaged Yes Shared Yes JobSheets none none Printer Imprimante1 Printer Imprimante2 QuotaPeriod 0 PageLimit 0 KLimit 0 OpPolicy default ErrorPolicy retry-current-job </Class>
Pour annuler l'impression il convient d'utiliser la commande cancel suivi du nom de la requête.
La commande lpmove permet de déplacer un job d'une file à une autre.
Déclarez l'imprimante imp1 comme étant l'imprimante par défault :
root@ubuntu:~# lpadmin -d imp1
Créez ensuite une nouvelle impression :
root@ubuntu:~# lp /tmp/test.print request id is imp1-2 (1 file(s)) root@ubuntu:~# lpstat Imprimante1-1 root 1024 sam. 25 oct. 2014 14:29:36 CEST imp1-2 root 1024 sam. 25 oct. 2014 14:32:34 CEST
Déplacer ce job vers la classe1 :
root@ubuntu:~# lpmove imp1 classe1 root@ubuntu:~# lpstat Imprimante1-1 root 1024 sam. 25 oct. 2014 14:29:36 CEST classe1-2 root 1024 sam. 25 oct. 2014 14:32:34 CEST
Pour retirer une file d'une classe, il convient d'utiliser la commande lpadmin :
root@ubuntu:~# lpadmin -p Imprimante1 -r classe1 root@ubuntu:~# lpadmin -p Imprimante2 -r classe1 root@ubuntu:~# lpstat -t scheduler is running system default destination: imp1 device for imp1: socket://localhost:12000 device for Imprimante1: parallel:/dev/impr1 device for Imprimante2: parallel:/dev/impr2 imp1 accepting requests since sam. 25 oct. 2014 14:33:10 CEST Imprimante1 accepting requests since sam. 25 oct. 2014 14:29:37 CEST Imprimante2 accepting requests since sam. 25 oct. 2014 14:30:00 CEST printer imp1 is idle. enabled since sam. 25 oct. 2014 14:33:10 CEST The printer is not responding. printer Imprimante1 is idle. enabled since sam. 25 oct. 2014 14:29:37 CEST Starting GPL Ghostscript 9.10... printer Imprimante2 is idle. enabled since sam. 25 oct. 2014 14:30:00 CEST Imprimante1-1 root 1024 sam. 25 oct. 2014 14:29:36 CEST
Notez que la classe est automatiquement supprimée quand elle est vide.
Pour supprimer les files créées il convient de nouveau à utiliser la commande lpadmin :
root@ubuntu:~# lpadmin -x Imprimante1 root@ubuntu:~# lpadmin -x Imprimante2 root@ubuntu:~# lpadmin -x Imp1 root@ubuntu:~# lpstat -t scheduler is running no system default destination lpstat: Aucune destination ajoutée. lpstat: Aucune destination ajoutée. lpstat: Aucune destination ajoutée. lpstat: Aucune destination ajoutée.
CUPS peut également être administré en utilisant l'interface Web. Celle-ci est disponible à l'adresse http://localhost:631.
Lancez l'interface Web. Re-créez les mêmes imprimantes et la même classe.
<html> <center> Copyright © 2004-2016 Hugh Norris.<br><br> <a rel=“license” href=“http://creativecommons.org/licenses/by-nc-nd/3.0/fr/”><img alt=“Licence Creative Commons” style=“border-width:0” src=“http://i.creativecommons.org/l/by-nc-nd/3.0/fr/88x31.png” /></a><br />Ce(tte) oeuvre est mise à disposition selon les termes de la <a rel=“license” href=“http://creativecommons.org/licenses/by-nc-nd/3.0/fr/”>Licence Creative Commons Attribution - Pas d’Utilisation Commerciale - Pas de Modification 3.0 France</a>. </center> </html>