Scripts d'interface imprimante

Un Script d'interface de l'imprimante est un programme que le service d'impression utilise pour gérer l'imprimante chaque fois qu'il imprime un fichier. Le script d'interface initialise l'imprimante, tire parti de ses capacités particulières, imprime le fichier et signale toutes les erreurs.

Note : Si vous disposez d'un programme d'interface que vous avez utilisé avec le service d'impression d'un ancien système UNIX, il devrait encore fonctionner. Toutefois, vous devez savoir que plusieurs options -o ont été Normalisé et seront transmises à chaque programme d'interface. Ces options peuvent interférer avec des options aussi nommées que votre programme d'interface utilise.

Les scripts d'interface d'imprimante sont associés au modèle d'imprimante et se trouvent dans /etc/lp/model. Par exemple, le script d'interface d'imprimante d'une imprimante PostScript est appelé /etc/lp/model/PS. Vous pouvez également créer vos propres scripts d'interface ou personnaliser les scripts existants en fonction de vos besoins. Voir Création de scripts d'interface d'imprimante.

Les scripts d'interface sont les suivants:

  • Initialisez le port de l'imprimante (connexion entre l'ordinateur et l'imprimante). Le script d'interface standard (/etc/lp/model/standard) utilise la commande stty pour initialiser le port de l'imprimante. Pour plus d'informations, voir la commande stty .
  • Initialisez l'imprimante physique (restaurer l'imprimante à un état normal au cas où un fichier précédemment imprimé l'a laissé dans un état inhabituel), en définissant le pas de caractère, le pas de ligne, la taille de page et le jeu de caractères demandés par l'utilisateur. Le script d'interface standard utilise la commande lp.set pour initialiser l'imprimante. Pour plus d'informations, voir la commande lp.set .
  • Imprimer la page de garde (ou les pages), si nécessaire.
  • Imprimez les fichiers demandés. Le script d'interface standard appelle la commande lp.cat pour imprimer les fichiers. Pour plus d'informations, voir la commande lp.cat .
  • Signez toute erreur au service d'impression. Le script d'interface standard utilise la commande lp.tell pour envoyer des descriptions des pannes d'imprimante au service d'impression. Le service d'impression transmet ces informations en tant qu'alerte à l'administrateur d'impression. Pour plus d'informations, voir la commande lp.tell .

Le service d'impression ouvre le port de l'imprimante. Le service d'impression fournit la connexion au port de l'imprimante au script d'interface en tant que sortie standard et définit l'imprimante comme étant le terminal de contrôle du script d'interface. Si le port subit un blocage, un signal RESSERRER est envoyé au script d'interface.

De nombreux scripts d'interface fournissent des options spéciales que l'utilisateur peut spécifier à l'aide de l'option -o avec la commande lp . Pour plus d'informations, voir la commande lp .

Le service d'impression exécute le script d'interface pour envoyer le travail d'impression à l'imprimante, comme illustré dans l'exemple suivant:

/etc/lp/interfaces/printer id user title copies options file1 file2 ...
Les arguments du script d'interface sont les suivants:
Article Descripteur
Imprimante Nom du script d'interface (identique au nom de l'imprimante).
Id ID de demande renvoyé par la commande lp .
Utilisateur Nom de connexion de l'utilisateur qui a fait la demande.
Titre Titre facultatif spécifié par l'utilisateur.
Copies Nombre de copies demandées par l'utilisateur.
Options Liste des options séparées par des blancs, spécifiées par l'utilisateur (à l'aide de lp -o) ou par le service d'impression (à partir des valeurs par défaut spécifiées par l'administrateur à l'aide de la commande lpadmin ). Voir la commande lp pour obtenir la liste des options reconnues par l'interface standard .
file Nom de chemin complet d'un fichier à imprimer.

Lorsque le script d'interface est appelé:

  • L'entrée standard provient de /dev/null.
  • La sortie standard est dirigée vers le port de l'imprimante.
  • La sortie d'erreur standard est dirigée vers un fichier qui sera affiché pour l'utilisateur qui a soumis la demande d'impression.
Le service d'impression transmet des informations de configuration d'imprimante supplémentaires au script d'interface en tant que variables de shell suivantes:
Article Descripteur
TERM=Type-imprimante Indique le type d'imprimante. La valeur est utilisée comme clé pour obtenir des informations sur la capacité de l'imprimante à partir de la base de données Terminfo étendue.
FILTER=Pipeline Indique le filtre à utiliser pour envoyer le contenu de la demande à l'imprimante. Le filtre est le contrôle de l'imprimante.
CHARSET =Jeu de caractères Indique le jeu de caractères à utiliser lors de l'impression du contenu d'une demande d'impression. Le script d'interface Standard extrait les séquences de contrôle nécessaires pour sélectionner le jeu de caractères à partir de la base de données Terminfo .