Création de scripts d'interface d'imprimante
Si vous disposez d'une imprimante qui n'est pas prise en charge par l'ajout d'une entrée à la base de données terminfo ou si vos besoins d'impression ne sont pas pris en charge par le standard ou d'autres scripts d'interface fournis dans le fichier /etc/lp/model , vous pouvez créer votre propre script d'interface d'imprimante.
Pour créer un script d'interface personnalisé, procédez comme suit:
Pour indiquer que les messages d'erreur doivent être envoyés au service d'impression, utilisez la commande lp.tell . Le code d'interface de l'imprimante standard appelle la commande lp.tell avec la variable shell LPTELL . Le programme lp.tell envoie son entrée standard au service d'impression. Le service d'impression transmet le message en tant qu'alerte à l'administrateur. Si son entrée standard est vide, lp.tell ne lance pas d'alerte. Examinez le code immédiatement après ces commentaires dans le script d'interface standard pour un exemple d'utilisation du programme lp.tell (LPTELL):
# Here's where we set up the $LPTELL program to capture
# fault messages.
#
# Here's where we print the file.Avec le code d'exit spécial 129 ou lp.tell, le script d'interface n'a pas besoin de désactiver l'imprimante elle-même. Votre script d'interface peut désactiver directement l'imprimante, mais cela remplace le mécanisme d'alerte aux pannes. Les alertes sont envoyées uniquement si le service d'impression détecte que l'imprimante est défaillante et que le code d'exit spécial et le programme lp.tell sont ses principaux outils de détection.
Si le service d'impression doit interrompre l'impression d'un fichier à tout moment, il arrête le script d'interface avec un signal 15 (voir la commande signal et la commande kill pour plus d'informations).
Si le script d'interface s'arrête à partir de la réception d'un autre signal, le service d'impression suppose que les travaux d'impression futurs ne sont pas affectés et continuent d'utiliser l'imprimante. Le service d'impression informe la personne qui a soumis le travail d'impression que le travail n'a pas abouti.
Les signaux RESSERRER, SIGINT, SIGQUIet SIGPIP (numéros d'alerte 1, 2, 3 et 13) sont ignorés lorsque l'interface est appelée. Le script d'interface standard le modifie pour intercepter ces signaux aux moments appropriés, interprète ces signaux comme signifiant que l'imprimante a un problème et émet une erreur.