Table des matières
Dernière mise-à-jour : 2020/01/30 03:28
LSF114 - 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
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.
Démarrez le service cups :
SLES12SP1:~ # systemctl status cups cups.service - CUPS Printing Service Loaded: loaded (/usr/lib/systemd/system/cups.service; disabled) Active: inactive (dead) SLES12SP1:~ # systemctl enable cups SLES12SP1:~ # systemctl start cups SLES12SP1:~ # systemctl status cups cups.service - CUPS Printing Service Loaded: loaded (/usr/lib/systemd/system/cups.service; enabled) Active: active (running) since Mon 2017-10-16 16:47:39 CEST; 3s ago Main PID: 31852 (cupsd) CGroup: /system.slice/cups.service └─31852 /usr/sbin/cupsd -f
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.
SLES12SP1:~ # cat /etc/cups/cupsd.conf # # "$Id: cupsd.conf.in 11025 2013-06-07 01:00:33Z msweet $" # # 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 # Only listen for connections from the local machine. Listen localhost:631 Listen /run/cups/cups.sock # Show shared printers on the local network. Browsing On 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> # The policy below is added by SUSE during build of our cups package. # The policy 'allowallforanybody' is totally open and insecure and therefore # it can only be used within an internal network where only trused users exist # and where the cupsd is not accessible at all from any external host, see # http://en.opensuse.org/SDB:CUPS_and_SANE_Firewall_settings # Have in mind that any user who is allowed to do printer admin tasks # can change the print queues as he likes - e.g. send copies of confidental # print jobs from an internal network to any external destination, see # http://en.opensuse.org/SDB:CUPS_in_a_Nutshell # For documentation regarding 'Managing Operation Policies' see # http://www.cups.org/documentation.php/doc-1.7/policies.html <Policy allowallforanybody> # Allow anybody to access job's private values: JobPrivateAccess all # Make none of the job values to be private: JobPrivateValues none # Allow anybody to access subscription's private values: SubscriptionPrivateAccess all # Make none of the subscription values to be private: SubscriptionPrivateValues none # Allow anybody to do all IPP operations: # Currently the IPP operations Validate-Job Cancel-Jobs Cancel-My-Jobs Close-Job CUPS-Get-Document # must be additionally exlicitly specified because those IPP operations are not included # in the "All" wildcard value - otherwise cupsd prints error messages of the form # "No limit for Validate-Job defined in policy allowallforanybody and no suitable template found." <Limit All Validate-Job Cancel-Jobs Cancel-My-Jobs Close-Job CUPS-Get-Document> Order deny,allow Allow from all </Limit> </Policy> # Explicitly set the CUPS 'default' policy to be used by default: DefaultPolicy default # # End of "$Id: cupsd.conf.in 11025 2013-06-07 01:00:33Z msweet $". #
Filtres
Les filtres disponibles au système CUPS se trouvent dans le répertoire /usr/lib/cups/filter :
SLES12SP1:~ # ls /usr/lib/cups/filter bannertopdf gziptoany pdftopdf rastertoescpx texttopdf commandtoescpx imagetopdf pdftops rastertohp texttops commandtopclx imagetops pdftoraster rastertolabel urftopdf commandtops imagetoraster pstopdf rastertopclx foomatic-rip pdftoijs pstops rastertopdf gstopxl pdftoippprinter rastertodymo rastertopwg gstoraster pdftoopvp rastertoepson textonly
Backends
Les Backends disponibles au système CUPS se trouvent dans le répertoire /usr/lib/cups/backend :
SLES12SP1:~ # ls /usr/lib/cups/backend dnssd http https ipp ipps lpd parallel serial smb snmp socket usb
La liste des backends reconnus par CUPS peut être obtenue en saisissant la commande suivante :
SLES12SP1:~ # lpinfo -v network ipps network http network socket network ipp network lpd network https network smb
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 :
SLES12SP1:~ # ls -l /var/log/cups total 8 -rw-r--r-- 1 root lp 191 Oct 16 16:49 access_log -rw-r--r-- 1 root lp 87 Oct 16 16:49 error_log -rw-r--r-- 1 root lp 0 Oct 16 16:47 page_log
Imprimantes
La commande suivante liste les imprimantes connues de CUPS :
SLES12SP1:~ # lpinfo -m lsb/usr/cupsfilters/Fuji_Xerox-DocuPrint_CM305_df-PDF.ppd Fuji Xerox lsb/usr/cupsfilters/Generic-PDF_Printer-PDF.ppd Generic PDF Printer Postscript-level1.ppd.gz Generic PostScript level 1 Printer Foomatic/Postscript (recommended) Postscript-level2.ppd.gz Generic PostScript level 2 Printer Foomatic/Postscript (recommended) lsb/usr/cupsfilters/textonly.ppd Generic text-only printer lsb/usr/cupsfilters/HP-Color_LaserJet_CM3530_MFP-PDF.ppd HP Color LaserJet CM3530 MFP PDF lsb/usr/cupsfilters/pxlcolor.ppd HP Color LaserJet Series PCL 6 CUPS lsb/usr/cupsfilters/pxlmono.ppd HP LaserJet Series PCL 6 CUPS lsb/usr/cupsfilters/HP-PhotoSmart_Pro_B8300-hpijs-pdftoijs.ppd HP PhotoSmart Pro B8300 CUPS/pdftoijs/hpijs Postscript.ppd.gz Postscript Generic postscript printer raw Raw Queue
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 :
SLES12SP1:~ # lpstat -t scheduler is running no system default destination 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 :
SLES12SP1:~ # 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 :
SLES12SP1:~ # lpstat -t scheduler is running no system default destination device for imp1: socket://localhost:12000 imp1 not accepting requests since Mon Oct 16 16:50:56 2017 - reason unknown printer imp1 disabled since Mon Oct 16 16:50:56 2017 - reason unknown
accept, cupsenable
Il est maintenant possible d'activer l'imprimante grâce aux commandes accept et enable :
SLES12SP1:~ # accept imp1 SLES12SP1:~ # lpstat -t scheduler is running no system default destination device for imp1: socket://localhost:12000 imp1 accepting requests since Mon Oct 16 16:50:56 2017 printer imp1 disabled since Mon Oct 16 16:50:56 2017 - reason unknown SLES12SP1:~ # cupsenable imp1 SLES12SP1:~ # lpstat -t scheduler is running no system default destination device for imp1: socket://localhost:12000 imp1 accepting requests since Mon Oct 16 16:52:08 2017 printer imp1 is idle. enabled since Mon Oct 16 16:52:08 2017
Important : 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 :
SLES12SP1:~ # lpadmin -d imp1 SLES12SP1:~ # lpstat -t scheduler is running system default destination: imp1 device for imp1: socket://localhost:12000 imp1 accepting requests since Mon Oct 16 16:52:08 2017 printer imp1 is idle. enabled since Mon Oct 16 16:52:08 2017
Vous allez mainteant créer une fille 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 :
SLES12SP1:~ # cp /usr/share/ppd/cupsfilters/pxlcolor.ppd /usr/share/cups/model/ SLES12SP1:~ # lpadmin -p Imprimante1 -E -v parallel:/dev/lp0 -m pxlcolor.ppd SLES12SP1:~ # lpstat -t scheduler is running system default destination: imp1 device for imp1: socket://localhost:12000 device for Imprimante1: parallel:/dev/lp0 imp1 accepting requests since Mon Oct 16 16:52:08 2017 Imprimante1 accepting requests since Mon Oct 16 16:52:59 2017 printer imp1 is idle. enabled since Mon Oct 16 16:52:08 2017 printer Imprimante1 is idle. enabled since Mon Oct 16 16:52:59 2017
Important : Notez que l'option -E permet de combiner les commandes accept et cupsenable avec lpadmin.
Sous SLES, pour créer la file d'attente physique associée à cette imprimante il convient de saisir les commandes suivantes
SLES12SP1:~ # mknod /dev/lp0 c 6 0 SLES12SP1:~ # ls -l /dev/lp0 crw-r--r-- 1 root root 6, 0 Oct 20 12:42 /dev/lp0 SLES12SP1:~ # chgrp lp /dev/lp0 SLES12SP1:~ # chmod 660 /dev/lp0 SLES12SP1:~ # ls -l /dev/lp0 crw-rw---- 1 root lp 6, 0 Oct 20 12:42 /dev/lp0
Testez maintenant votre imprimante fictive :
SLES12SP1:~ # echo "Test Printer File" > /tmp/test.print SLES12SP1:~ # lpadmin -d Imprimante1 SLES12SP1:~ # lpstat -t scheduler is running system default destination: Imprimante1 device for imp1: socket://localhost:12000 device for Imprimante1: parallel:/dev/lp0 imp1 accepting requests since Mon Oct 16 16:52:08 2017 Imprimante1 accepting requests since Mon Oct 16 16:52:59 2017 printer imp1 is idle. enabled since Mon Oct 16 16:52:08 2017 printer Imprimante1 is idle. enabled since Mon Oct 16 16:52:59 2017 SLES12SP1:~ # lp /tmp/test.print request id is Imprimante1-1 (1 file(s))
Important : 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 :
SLES12SP1:~ # lpadmin -p Imprimante2 -E -v parallel:/dev/lp1 -m pxlcolor.ppd SLES12SP1:~ # lpstat -t scheduler is running system default destination: Imprimante1 device for imp1: socket://localhost:12000 device for Imprimante1: parallel:/dev/lp0 device for Imprimante2: parallel:/dev/lp1 imp1 accepting requests since Mon Oct 16 16:52:08 2017 Imprimante1 accepting requests since Fri Oct 20 12:44:08 2017 Imprimante2 accepting requests since Fri Oct 20 12:44:39 2017 printer imp1 is idle. enabled since Mon Oct 16 16:52:08 2017 printer Imprimante1 now printing Imprimante1-1. enabled since Fri Oct 20 12:44:08 2017 Printer not connected; will retry in 30 seconds. printer Imprimante2 is idle. enabled since Fri Oct 20 12:44:39 2017 Imprimante1-1 root 1024 Fri Oct 20 12:44:08 2017
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 :
SLES12SP1:~ # lpadmin -p Imprimante1 -c classe1 SLES12SP1:~ # lpadmin -p Imprimante2 -c classe1
Vérifiez la création de la classe :
SLES12SP1:~ # 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/lp0 device for Imprimante2: parallel:/dev/lp1 classe1 not accepting requests since Fri Oct 20 12:45:24 2017 - reason unknown imp1 accepting requests since Mon Oct 16 16:52:08 2017 Imprimante1 accepting requests since Fri Oct 20 12:44:08 2017 Imprimante2 accepting requests since Fri Oct 20 12:44:39 2017 printer classe1 disabled since Fri Oct 20 12:45:24 2017 - reason unknown printer imp1 is idle. enabled since Mon Oct 16 16:52:08 2017 printer Imprimante1 now printing Imprimante1-1. enabled since Fri Oct 20 12:44:08 2017 Printer not connected; will retry in 30 seconds. printer Imprimante2 is idle. enabled since Fri Oct 20 12:44:39 2017 Imprimante1-1 root 1024 Fri Oct 20 12:44:08 2017
Le fichier /etc/cups/printers.conf
La configuration globale des files d'attente se trouve dans le fichier /etc/cups/printers.conf :
SLES12SP1:~ # cat /etc/cups/printers.conf # Printer configuration file for CUPS v1.7.5 # Written by cupsd on 2017-10-20 12:45 # DO NOT EDIT THIS FILE WHEN CUPSD IS RUNNING <Printer imp1> UUID urn:uuid:b315c8d6-3f52-30b2-4052-80dc65291837 Info imp1 DeviceURI socket://localhost:12000 State Idle StateTime 1508165528 Type 4 Accepting Yes Shared Yes JobSheets none none QuotaPeriod 0 PageLimit 0 KLimit 0 OpPolicy default ErrorPolicy stop-printer </Printer> <DefaultPrinter Imprimante1> UUID urn:uuid:dcb2d784-c4eb-3928-5e6c-8dc269011b14 Info Imprimante1 MakeModel HP Color LaserJet Series PCL 6 CUPS DeviceURI parallel:/dev/lp0 State Idle StateTime 1508496248 Type 8400972 Accepting Yes Shared Yes JobSheets none none QuotaPeriod 0 PageLimit 0 KLimit 0 OpPolicy default ErrorPolicy stop-printer </Printer> <Printer Imprimante2> UUID urn:uuid:e68250ba-7555-3c42-7faa-452bd32f12bb Info Imprimante2 MakeModel HP Color LaserJet Series PCL 6 CUPS DeviceURI parallel:/dev/lp1 State Idle StateTime 1508496279 Type 8400972 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 :
SLES12SP1:~ # cat /etc/cups/classes.conf # Class configuration file for CUPS v1.7.5 # Written by cupsd on 2017-10-20 12:45 # DO NOT EDIT THIS FILE WHEN CUPSD IS RUNNING <Class classe1> UUID urn:uuid:be5f15f7-0235-38a6-5d5f-f516775d2d47 Info classe1 State Stopped StateTime 1508496324 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:
SLES12SP1:~ # lpstat Imprimante1-1 root 1024 Fri Oct 20 12:44:08 2017 SLES12SP1:~ # cancel imprimante1-1 SLES12SP1:~ # lpstat SLES12SP1:~ #
lpmove
La commande lpmove permet de déplacer tous les jobs d'une file à une autre.
Déclarez l'imprimante imp1 comme étant l'imprimante par défault :
SLES12SP1:~ # lpadmin -d imp1
Créez ensuite une nouvelle impression :
SLES12SP1:~ # lp /tmp/test.print request id is imp1-2 (1 file(s)) SLES12SP1:~ # lpstat imp1-2 root 1024 Fri Oct 20 12:47:56 2017
Déplacer ce job vers la classe1 :
SLES12SP1:~ # lpmove imp1 classe1 SLES12SP1:~ # lpstat classe1-2 root 1024 Fri Oct 20 12:47:56 2017
Pour retirer une file d'une classe, il convient d'utiliser la commande lpadmin :
SLES12SP1:~ # lpadmin -p Imprimante1 -r classe1 SLES12SP1:~ # lpadmin -p Imprimante2 -r classe1 SLES12SP1:~ # lpstat -t scheduler is running system default destination: imp1 device for imp1: socket://localhost:12000 device for Imprimante1: parallel:/dev/lp0 device for Imprimante2: parallel:/dev/lp1 imp1 accepting requests since Fri Oct 20 12:48:15 2017 Imprimante1 accepting requests since Fri Oct 20 12:47:18 2017 Imprimante2 accepting requests since Fri Oct 20 12:44:39 2017 printer imp1 is idle. enabled since Fri Oct 20 12:48:15 2017 The printer is not responding. printer Imprimante1 is idle. enabled since Fri Oct 20 12:47:18 2017 Printer not connected; will retry in 30 seconds. printer Imprimante2 is idle. enabled since Fri Oct 20 12:44:39 2017
Important : 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 :
SLES12SP1:~ # lpadmin -x Imprimante1 SLES12SP1:~ # lpadmin -x Imprimante2 SLES12SP1:~ # lpadmin -x imp1 SLES12SP1:~ # lpstat -t scheduler is running no system default destination 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 sur le port 631/tcp.
<html>
Copyright © 2004-2017 I2TCH LIMITED
</html>