**Cette page a été importée automatiquement de notre ancien wiki mais n'a pas encore été révisée.**

# Howto CUPS

<http://cups.org/documentation.php>

## Installation

~~~
# aptitude install cups smbclient ttf-liberation ttf-mscorefonts-installer 
~~~

## Configuration

### Gestion des backends d'impression

CUPS gère plusieurs backends d'impression : ipp:// socket:// (JetDirect) smb:// etc.

Pour activer le backend smb:// il faut installer *smbclient* qui contient notamment le binaire _smbpool_.

### Interface web d'administration

L'interface web d'administration de CUPS est accessible sur le port 631 : <http://192.0.32.10:631>

* Autoriser l'utilisateur _foo_ à accéder aux tâches d'administration sur l'interface web :

~~~
adduser foo lpadmin
~~~

* Par défaut, les tâches d'administrations ne sont autorisées que depuis _localhost_. Pour autoriser une IP ou réseau en plus :

~~~
# Fichier /etc/cups/cupsd.conf

<Location /admin>
  Order allow,deny
  Allow from 192.0.32.0/24
</Location>
~~~

### Détection automatique d'imprimantes partagées

Par défaut CUPS tente de découvrir les imprimantes partagées par d'autres systèmes sur le réseau, et les affiche dans sa liste, avec une URI=/dev/null. Pour ne pas avoir ce comportement, décocher la case « Afficher les imprimantes partagées par d'autres systèmes » dans « Administration du serveur » dans l'interface d'admin, puis supprimer le cache :

~~~
# /etc/init.d/cups stop && rm /var/cache/cups/remote.cache && /etc/init.d/cups start
~~~

### Mode debug

Pour avoir un mode debug, on placera dans le fichier _cupsd.conf_ :

~~~
LogLevel debug
~~~

puis :

~~~
# /etc/init.d/cups reload
Reloading Common Unix Printing System: cupsd.
~~~

Et l'on aura un maximum d'information dans le _error_log_

## Imprimantes

### Imprimantes HP

~~~
# aptitude install hpijs hpijs-ppds hplip hplip-data
~~~

### Imprimantes CANON

Les fichiers PPD peuvent être souvent trouvés sur <http://software.canon-europe.com/index.asp>

Et il est parfois nécessaire d'ajouter le binaire _sicgsfilter_ téléchargeable en 32bits
sur <http://fr.software.canon-europe.com/software/0040160.asp> ou en 64bits sur
<http://fr.software.canon-europe.com/software/0040165.asp>

On le placera dans /usr/local/bin/ et on évitera ainsi une erreur _/usr/lib/cups/filter/foomatic-rip failed_ :

~~~
D [02/Jun/2011:23:23:13 +0200] [Job 14496] renderer command: /bin/cat - | sicgsfilter -MPS -NP  -A1 -uanonymous -V"Test Page" -n1
D [02/Jun/2011:23:23:13 +0200] [Job 14496]
D [02/Jun/2011:23:23:13 +0200] [Job 14496] Closing renderer
D [02/Jun/2011:23:23:13 +0200] [Job 14496] JCL: <job data>
D [02/Jun/2011:23:23:13 +0200] [Job 14496]
D [02/Jun/2011:23:23:13 +0200] [Job 14496] sh: sicgsfilter: command not found
D [02/Jun/2011:23:23:13 +0200] [Job 14496] /bin/cat: write error: Broken pipe
D [02/Jun/2011:23:23:13 +0200] [Job 14496] renderer return value: 127
D [02/Jun/2011:23:23:13 +0200] [Job 14496] renderer received signal: 127
D [02/Jun/2011:23:23:13 +0200] [Job 14496] tail process done writing data to STDOUT
D [02/Jun/2011:23:23:13 +0200] [Job 14496] KID4 finished
D [02/Jun/2011:23:23:13 +0200] [Job 14496] Process dying with "The renderer command line returned an unrecognized error code 127.", exit stat: 1
D [02/Jun/2011:23:23:13 +0200] [Job 14496] error: Illegal seek (29)
D [02/Jun/2011:23:23:13 +0200] [Job 14496] The renderer command line returned an unrecognized error code 127.
D [02/Jun/2011:23:23:13 +0200] [Job 14496] KID3 exited with status 1
D [02/Jun/2011:23:23:13 +0200] [Job 14496] Renderer exit stat: 1
D [02/Jun/2011:23:23:13 +0200] [Job 14496] Renderer process finished
D [02/Jun/2011:23:23:13 +0200] [Job 14496] Killing process 5546 (KID3)
D [02/Jun/2011:23:23:13 +0200] [Job 14496] Process dying with "Error closing renderer", exit stat: 1
D [02/Jun/2011:23:23:13 +0200] [Job 14496] error: Illegal seek (29)
D [02/Jun/2011:23:23:13 +0200] [Job 14496] Error closing renderer
E [02/Jun/2011:23:23:13 +0200] PID 5541 (/usr/lib/cups/filter/foomatic-rip) stopped with status 1!
~~~

### Fichiers PPD (PostScript Printer Description)

Les fichiers PPD décrivent les fonctionnalités de l'imprimante. Suivant les paquets installés, un certain nombre de modèles
d'imprimantes sera disponible sur le système. On pourra aussi en ajouter dans le répertoire _/usr/local/share/ppd/_.
Mais également lors de l'ajout d'une imprimante, on pourra tout simplement en uploader ; les fichiers PPD uploadés
se trouvent dans /etc/cups/ppd/

### Imprimer une page de test en CLI

Lister les imprimantes :
`lpstat -t`

Imprimer la page de test de CUPS avec lp, avec le nom de l'imprimante :
`lp -d hp_color_LaserJet_2550 /usr/share/cups/data/testprint`
