Tout d'abord, commençons par la signification du terme «spoule»: parfois la taille d'un document est plus grande que la mémoire de l'imprimante, donc «spouleur d'imprimante» permet d'envoyer plusieurs documents à une imprimante et de mettre tous ces documents dans une file d'attente.
Maintenant, sous Unix, il existe deux systèmes d'impression:
- Le système de spoulage BSD utilise un
lpd
démon pour planifier les travaux d'impression.
- Le système de spoulage SVR4 utilise
lpsched
comme planificateur.
USAIL de Jeff Lessem : l'apprentissage indépendant de l'administration de systèmes Unix a une section sur l' impression sous Unix qui fournit un bon aperçu des systèmes BSD et SVR4:
Le système de spoulage BSD
s'étend bien aux grands réseaux hétérogènes permettant à de nombreux ordinateurs de partager des imprimantes.
Sous le système de spoulage BSD, l'accès aux imprimantes est contrôlé par le lpd
démon et le lpr
programme. lpr
est le seul programme sur un système BSD qui peut mettre des fichiers en file d'attente pour l'impression.
lpr
accepte les données à imprimer, les place dans un répertoire de mise en file d'attente et notifie le lpd
démon. Pour chaque travail d'impression, lpr
crée deux fichiers, un fichier de contrôle (cfxxx) et un fichier de données (dfxxx) dans le répertoire de spoule, xxx indiquant un identifiant de travail unique. Le fichier de contrôle contient les informations pour gérer le travail d'impression, y compris l'identité du propriétaire. Le fichier de données contient les données réelles à imprimer.
Le lpd
démon vérifie le /etc/printcap
fichier pour identifier l'imprimante de destination. Si l'imprimante de destination est un périphérique local,
lpd
assurez-vous qu'une copie du lpd
démon s'exécute sur cette file d'attente d'impression. Sinon, lpd
ouvre une connexion à l'hôte distant auquel l'imprimante est connectée et lui transfère le fichier de contrôle et de données.
Les travaux d'impression sont planifiés par lpd
sur la base du premier entré, premier sorti (FIFO). Cependant, l'administrateur système peut utiliser la commande lpc pour modifier la priorité des travaux dans la file d'attente d'impression.
Le système de spoulage SVR4 est utilisé par Solaris et HP-UX. Il offre plus de contrôle et de flexibilité mais n'a pas été conçu pour l'impression en réseau et est plus compliqué à configurer.
Sous le système de spoulage SVR4, la lp
commande accepte les données à imprimer, en fait une copie dans le répertoire spool associé à la destination. La destination se compose d'un nom d'imprimante et d'une spécification facultative d'une classe à laquelle appartient l'imprimante. Lorsque l'imprimante spécifiée est occupée, le travail est envoyé vers une autre imprimante de la même classe. Le répertoire du spool est normalement/var/spool/lp/request/printer-name
et le fichier d'impression reçoit un nom unique pour identifier à la fois le travail et l'utilisateur.
L'accès à l'imprimante est contrôlé par le lpsched
démon. Il récupère les travaux dans le répertoire de spoule et les envoie à la destination appropriée lorsqu'il devient disponible. lpsched conserve également un journal, généralement dans /usr/spool/lp/log
. Le fichier journal indiquerait toute erreur dans le traitement des travaux d'impression, ainsi que le nom d'utilisateur,
Voir aussi: Imprimantes et spouleur d'imprimante - commandes lp, lpstat et cancel | Trucs et astuces pour le blog informatique