Niveau : Admin Junior Numéro de la Leçon Dernière Modification
2/4 <progrecss 9/12 style=inline /> 2020/01/30 03:28

Gestion des Impressions

Cups

Le logiciel Common Unix Printing System est un système de gestion des impressions conçu pour Unix.

Protocoles

Cups utilise le protocole IPP sur les ports udp/631 et tcp/631.

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

Cups peut aussi utiliser les deux protocoles suivants :

  • tcp/515 - Protocole BSD
  • tcp/9100 - Protocole JeTDirect pour les imprimantes réseau HP

Daemon

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.

cupsd.conf

Le principal fichier concerné par CUPS est :

/etc/cups/cupsd.conf

Le fichier de configuration de CUPS est /etc/cups/cupsd.conf. Dans ce fichier on peut trouver :

  • le port d'ecoute d'IPP
  • les comptes utilisateur et groupe sous lesquels s'exécute le serveur
  • 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.
root@debian:~# 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

# Administrator user group...
SystemGroup lpadmin


# 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 On
BrowseOrder allow,deny
BrowseAllow all
BrowseLocalProtocols CUPS dnssd

# 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>
  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 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 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-related operations must be done by the owner or an administrator...
  <Limit Create-Job Print-Job Print-URI>
    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 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 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>

#
#

Filtres

Les filtres disponibles au système CUPS se trouvent dans le répertoire /usr/lib/cups/filter :

root@debian:~# ls /usr/lib/cups/filter
bannertops	hpcac	       pdftoopvp     rastertoepson
commandtocanon	hpcups	       pdftopdf      rastertoescpx
commandtoepson	hpcupsfax      pdftops	     rastertogutenprint.5.2
commandtoescpx	hpgltops       pdftoraster   rastertohp
commandtopclx	hplipjs        pstopdf	     rastertolabel
commandtops	imagetopdf     pstops	     rastertopclx
cpdftocps	imagetops      pstopxl	     textonly
cupsomatic	imagetoraster  pstoraster    texttopdf
foomatic-rip	oopstops       pstotiff      texttops
gziptoany	pdftoijs       rastertodymo

Backends

Les Backends disponibles au système CUPS se trouvent dans le répertoire /usr/lib/cups/backend :

root@debian:~# ls /usr/lib/cups/backend
beh    hp     http  lpd       scsi    snmp    usb
dnssd  hpfax  ipp   parallel  serial  socket

La liste des backends reconnus par CUPS peut être obtenue en saisissant la commande suivante :

root@debian:~# lpinfo -v
direct scsi
network http
network ipp
network lpd
direct hp
network beh
network socket
direct hpfax

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

Journaux

Les journaux de CUPS se trouvent dans /var/log/cups :

root@debian:~# ls -l /var/log/cups
total 4
-rw-r----- 1 root adm 191  4 avril 15:57 access_log

Imprimantes

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@debian:~# lpinfo -m | more
foomatic:Alps-MD-1000-md2k.ppd Alps MD-1000 Foomatic/md2k
foomatic:Alps-MD-1300-md1xMono.ppd Alps MD-1300 Foomatic/md1xMono
foomatic:Alps-MD-1300-md2k.ppd Alps MD-1300 Foomatic/md2k
foomatic:Alps-MD-1500-md1xMono.ppd Alps MD-1500 Foomatic/md1xMono
foomatic:Alps-MD-1500-md2k.ppd Alps MD-1500 Foomatic/md2k
foomatic:Alps-MD-2000-md2k.ppd Alps MD-2000 Foomatic/md2k
foomatic:Alps-MD-4000-md2k.ppd Alps MD-4000 Foomatic/md2k
foomatic:Alps-MD-5000-md5k.ppd Alps MD-5000 Foomatic/md5k
foomatic:Alps-MD-5000-md50Eco.ppd Alps MD-5000 Foomatic/md50Eco
foomatic:Alps-MD-5000-md50Mono.ppd Alps MD-5000 Foomatic/md50Mono
foomatic:Anitech-M24-epson.ppd Anitech M24 Foomatic/epson (recommended)
drv:///hpijs.drv/apollo-2100-hpijs.ppd Apollo 2100 hpijs, 3.10.6
drv:///hpcups.drv/apollo-2100.ppd Apollo 2100, hpcups 3.10.6
drv:///hpijs.drv/apollo-2150-hpijs.ppd Apollo 2150 hpijs, 3.10.6
drv:///hpcups.drv/apollo-2150.ppd Apollo 2150, hpcups 3.10.6
drv:///hpijs.drv/apollo-2200-hpijs.ppd Apollo 2200 hpijs, 3.10.6
drv:///hpcups.drv/apollo-2200.ppd Apollo 2200, hpcups 3.10.6
drv:///hpijs.drv/apollo-2500-hpijs.ppd Apollo 2500 hpijs, 3.10.6
drv:///hpcups.drv/apollo-2500.ppd Apollo 2500, hpcups 3.10.6
drv:///hpijs.drv/apollo-2600-hpijs.ppd Apollo 2600 hpijs, 3.10.6
drv:///hpcups.drv/apollo-2600.ppd Apollo 2600, hpcups 3.10.6
drv:///hpijs.drv/apollo-2650-hpijs.ppd Apollo 2650 hpijs, 3.10.6
drv:///hpcups.drv/apollo-2650.ppd Apollo 2650, hpcups 3.10.6
--More--                              

Administration

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

lpstat

Pour consulter la liste des files d'attente, il convient d'utiliser donc la commande lpstat :

root@debian:~# lpstat -t
le programmateur s’exécute
aucune destination système par défaut
lpstat: No destinations added.
lpstat: No destinations added.
lpstat: No destinations added.
lpstat: No destinations added.

lpadmin

Créez maintenant une file d'attente sans pilote. Les imprimantes sans pilote utilisent le mode raw :

root@debian:~# 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@debian:~# lpstat -t
le programmateur s’exécute
aucune destination système par défaut
périphérique pour imp1 : socket://localhost:12000
imp1 n’acceptant pas de requêtes depuis mer. 04 avril 2012 16:04:47 CEST -
	reason unknown
l’imprimante imp1 est désactivée depuis mer. 04 avril 2012 16:04:47 CEST -
	raison inconnue

accept, cupsenable

Il est maintenant possible d'activer l'imprimante grâce aux commandes accept et enable :

root@debian:~# accept imp1
root@debian:~# lpstat -t
le programmateur s’exécute
aucune destination système par défaut
périphérique pour imp1 : socket://localhost:12000
imp1 acceptant des requêtes depuis mer. 04 avril 2012 16:04:47 CEST
l’imprimante imp1 est désactivée depuis mer. 04 avril 2012 16:04:47 CEST -
	raison inconnue
root@debian:~# cupsenable imp1
root@debian:~# lpstat -t
le programmateur s’exécute
aucune destination système par défaut
périphérique pour imp1 : socket://localhost:12000
imp1 acceptant des requêtes depuis mer. 04 avril 2012 16:06:12 CEST
l’imprimante imp1 est inactive, mais activée depuis mer. 04 avril 2012 16:06:12 CEST

<note important> Notez que les deux commandes accept et cupsenable ont leurs opposées : reject et cupsdisable. </note>

Pour nommer une imprimante en tant que la destination par défaut, il convient d'utiliser la commande lpadmin avec l'option -d :

root@debian:~# lpadmin -d imp1
root@debian:~# lpstat -t
le programmateur s’exécute
destination système par défaut : imp1
périphérique pour imp1 : socket://localhost:12000
imp1 acceptant des requêtes depuis mer. 04 avril 2012 16:06:12 CEST
l’imprimante imp1 est inactive, mais activée depuis mer. 04 avril 2012 16:06:12 CEST

Vous allez mainteant 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@debian:~# cp /usr/share/ppd/ghostscript/model/pxlcolor.ppd /usr/share/cups/model/

Créez maintenant la file d'attente :

root@debian:~# lpadmin -p Imprimante1 -E -v parallel:/dev/impr1 -m pxlcolor.ppd
root@debian:~# lpstat -t
le programmateur s’exécute
destination système par défaut : imp1
périphérique pour imp1 : socket://localhost:12000
périphérique pour Imprimante1 : parallel:/dev/impr1
imp1 acceptant des requêtes depuis mer. 04 avril 2012 16:06:12 CEST
Imprimante1 acceptant des requêtes depuis mer. 04 avril 2012 16:26:40 CEST
l’imprimante imp1 est inactive, mais activée depuis mer. 04 avril 2012 16:06:12 CEST
l’imprimante Imprimante1 est inactive, mais activée depuis mer. 04 avril 2012 16:26:40 CEST

<note important> Notez que l'option -E permet de combiner les commandes accept et cupsenable avec lpadmin. </note>

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@debian:~# touch /dev/impr1 ; chgrp lp /dev/impr1 ; chmod 660 /dev/impr1

Testez maintenant votre imprimante fictive :

root@debian:~# echo "Test Printer File" > /tmp/test.print
root@debian:~# lpadmin -d Imprimante1
root@debian:~# lpstat -t
le programmateur s’exécute
destination système par défaut : Imprimante1
périphérique pour imp1 : socket://localhost:12000
périphérique pour Imprimante1 : parallel:/dev/impr1
imp1 acceptant des requêtes depuis mer. 04 avril 2012 16:06:12 CEST
Imprimante1 acceptant des requêtes depuis mer. 04 avril 2012 16:26:40 CEST
l’imprimante imp1 est inactive, mais activée depuis mer. 04 avril 2012 16:06:12 CEST
l’imprimante Imprimante1 est inactive, mais activée depuis mer. 04 avril 2012 16:26:40 CEST
root@debian:~# lp /tmp/test.print 
l’identifiant de la requête est Imprimante1-1 (1 fichier(s))

<note important> Notez que l'impression a eu lieu et la requête s'appelle Imprimante1-1. </note>

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@debian:~# lpadmin -p Imprimante2 -E -v parallel:/dev/impr2 -m pxlcolor.ppd
root@debian:~# lpstat -t
le programmateur s’exécute
destination système par défaut : Imprimante1
périphérique pour imp1 : socket://localhost:12000
périphérique pour Imprimante1 : parallel:/dev/impr1
périphérique pour Imprimante2 : parallel:/dev/impr2
imp1 acceptant des requêtes depuis mer. 04 avril 2012 16:06:12 CEST
Imprimante1 acceptant des requêtes depuis mer. 04 avril 2012 17:38:11 CEST
Imprimante2 acceptant des requêtes depuis mer. 04 avril 2012 17:38:39 CEST
l’imprimante imp1 est inactive, mais activée depuis mer. 04 avril 2012 16:06:12 CEST
l’imprimante Imprimante1 est inactive, mais activée depuis mer. 04 avril 2012 17:38:11 CEST
	imprimante en ligne à présent.
l’imprimante Imprimante2 est inactive, mais activée depuis mer. 04 avril 2012 17:38:39 CEST

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 :

root@debian:~# lpadmin -p Imprimante1 -c classe1
root@debian:~# lpadmin -p Imprimante2 -c classe1

Vérifiez la création de la classe :

root@debian:~# lpstat -t
le programmateur s’exécute
destination système par défaut : Imprimante1
membres de la classe classe1 :
	Imprimante1
	Imprimante2
périphérique pour classe1 : ///dev/null
périphérique pour imp1 : socket://localhost:12000
périphérique pour Imprimante1 : parallel:/dev/impr1
périphérique pour Imprimante2 : parallel:/dev/impr2
classe1 n’acceptant pas de requêtes depuis mer. 04 avril 2012 17:39:08 CEST -
	reason unknown
imp1 acceptant des requêtes depuis mer. 04 avril 2012 16:06:12 CEST
Imprimante1 acceptant des requêtes depuis mer. 04 avril 2012 17:38:11 CEST
Imprimante2 acceptant des requêtes depuis mer. 04 avril 2012 17:38:39 CEST
l’imprimante classe1 est désactivée depuis mer. 04 avril 2012 17:39:08 CEST -
	raison inconnue
l’imprimante imp1 est inactive, mais activée depuis mer. 04 avril 2012 16:06:12 CEST
l’imprimante Imprimante1 est inactive, mais activée depuis mer. 04 avril 2012 17:38:11 CEST
	imprimante en ligne à présent.
l’imprimante Imprimante2 est inactive, mais activée depuis mer. 04 avril 2012 17:38:39 CEST

Le fichier /etc/cups/printers.conf

La configuration globale des files d'attente se trouve dans le fichier /etc/cups/printers.conf :

root@debian:~# cat /etc/cups/printers.conf
# Printer configuration file for CUPS v1.4.4
# Written by cupsd
# DO NOT EDIT THIS FILE WHEN CUPSD IS RUNNING
<Printer imp1>
Info imp1
DeviceURI socket://localhost:12000
State Idle
StateTime 1333548372
Type 4
Accepting Yes
Shared Yes
JobSheets none none
QuotaPeriod 0
PageLimit 0
KLimit 0
OpPolicy default
ErrorPolicy stop-printer
</Printer>
<DefaultPrinter Imprimante1>
Info Imprimante1
MakeModel HP Color LaserJet Series PCL 6 CUPS
DeviceURI parallel:/dev/impr1
State Idle
StateTime 1333553891
Type 8400972
Filter application/vnd.cups-raw 0 -
Filter application/vnd.cups-postscript 100 pstopxl
Filter application/vnd.cups-pdf 0 pstopxl
Filter application/vnd.cups-command 0 commandtops
Accepting Yes
Shared Yes
JobSheets none none
QuotaPeriod 0
PageLimit 0
KLimit 0
OpPolicy default
ErrorPolicy stop-printer
</Printer>
<Printer Imprimante2>
Info Imprimante2
MakeModel HP Color LaserJet Series PCL 6 CUPS
DeviceURI parallel:/dev/impr2
State Idle
StateTime 1333553919
Type 8400972
Filter application/vnd.cups-raw 0 -
Filter application/vnd.cups-postscript 100 pstopxl
Filter application/vnd.cups-pdf 0 pstopxl
Filter application/vnd.cups-command 0 commandtops
Accepting Yes
Shared Yes
JobSheets none none
QuotaPeriod 0
PageLimit 0
KLimit 0
OpPolicy default
ErrorPolicy stop-printer
</Printer>

Le fichier /etc/cups/classes.conf

La configuration globale des classes se trouve dans le fichier /etc/cups/classes.conf :

root@debian:~# cat /etc/cups/classes.conf
# Class configuration file for CUPS v1.4.4
# Written by cupsd
# DO NOT EDIT THIS FILE WHEN CUPSD IS RUNNING
<Class classe1>
Info classe1
State Stopped
StateTime 1333553948
Accepting No
Shared Yes
JobSheets none none
Printer Imprimante1
Printer Imprimante2
QuotaPeriod 0
PageLimit 0
KLimit 0
OpPolicy default
ErrorPolicy retry-current-job
</Class>

cancel

Pour annuler l'impression il convient d'utiliser la commande cancel suivi du nom de la requête.

lpmove

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@debian:~# lpadmin -d imp1

Créez ensuite une nouvelle impression :

root@debian:~# lp /tmp/test.print
l’identifiant de la requête est imp1-2 (1 fichier(s))
root@debian:~# lpstat
imp1-2                  root              1024   mer. 04 avril 2012 17:43:58 CEST

Déplacer ce job vers la classe1 :

root@debian:~# lpmove imp1 classe1
root@debian:~# lpstat
classe1-2               root              1024   mer. 04 avril 2012 17:43:58 CEST

Pour retirer une file d'une classe, il convient d'utiliser la commande lpadmin :

root@debian:~# lpadmin -p Imprimante1 -r classe1
root@debian:~# lpadmin -p Imprimante2 -r classe1
root@debian:~# lpstat -t
le programmateur s’exécute
destination système par défaut : imp1
périphérique pour imp1 : socket://localhost:12000
périphérique pour Imprimante1 : parallel:/dev/impr1
périphérique pour Imprimante2 : parallel:/dev/impr2
imp1 acceptant des requêtes depuis mer. 04 avril 2012 17:44:29 CEST
Imprimante1 acceptant des requêtes depuis mer. 04 avril 2012 17:38:11 CEST
Imprimante2 acceptant des requêtes depuis mer. 04 avril 2012 17:38:39 CEST
l’imprimante imp1 est inactive, mais activée depuis mer. 04 avril 2012 17:44:29 CEST
	problème réversible : l’hôte du réseau « localhost » est occupé ; nouvel essai dans 20 secondes…
l’imprimante Imprimante1 est inactive, mais activée depuis mer. 04 avril 2012 17:38:11 CEST
	imprimante en ligne à présent.
l’imprimante Imprimante2 est inactive, mais activée depuis mer. 04 avril 2012 17:38:39 CEST

<note important> Notez que la classe est automatiquement supprimée quand elle est vide. </note>

Pour supprimer les files créées il convient de nouveau à utiliser la commande lpadmin :

root@debian:~# lpadmin -x Imprimante1
root@debian:~# lpadmin -x Imprimante2
root@debian:~# lpadmin -x Imp1
root@debian:~# lpstat -t
le programmateur s’exécute
aucune destination système par défaut
lpstat: No destinations added.
lpstat: No destinations added.
lpstat: No destinations added.
lpstat: No destinations added.

Interface Web

CUPS peut également être administré en utilisant l'interface Web. Celle-ci est disponible à l'adresse http://localhost:631.

<note> Lancez l'interface Web. Re-créez les mêmes imprimantes et la même classe. </note>

~~DISCUSSION:off~~

Donner votre Avis

{(rater>id=debian_6_l115|name=cette page|type=rate|trace=user|tracedetails=1)}

Menu