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
lpddémon pour planifier les travaux d'impression.
- Le système de spoulage SVR4 utilise
lpschedcomme 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 lprprogramme. lprest le seul programme sur un système BSD qui peut mettre des fichiers en file d'attente pour l'impression.
lpraccepte les données à imprimer, les place dans un répertoire de mise en file d'attente et notifie le lpddémon. Pour chaque travail d'impression, lprcré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 lpddémon vérifie le /etc/printcapfichier pour identifier l'imprimante de destination. Si l'imprimante de destination est un périphérique local,
lpdassurez-vous qu'une copie du lpddémon s'exécute sur cette file d'attente d'impression. Sinon, lpdouvre 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 lpdsur 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 lpcommande 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 lpscheddé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