▼
Scroll to page 2
of
316
Bull Imprimantes et impression Guide de l’utilisateur AIX REFERENCE 86 F2 37JX 02 Bull Imprimantes et impression Guide de l’utilisateur AIX Logiciel Novembre 1999 BULL ELECTRONICS ANGERS CEDOC 34 Rue du Nid de Pie – BP 428 49004 ANGERS CEDEX 01 FRANCE REFERENCE 86 F2 37JX 02 The following copyright notice protects this book under the Copyright laws of the United States and other countries which prohibit such actions as, but not limited to, copying, distributing, modifying, and making derivative works. Copyright Bull S.A. 1992, 1999 Imprimé en France Vos suggestions sur la forme et le fond de ce manuel seront les bienvenues. Une feuille destinée à recevoir vos remarques se trouve à la fin de ce document. Pour commander d’autres exemplaires de ce manuel ou d’autres publications techniques Bull, veuillez utiliser le bon de commande également fourni en fin de manuel. Marques déposées Toutes les marques déposées sont la propriété de leurs titulaires respectifs. AIXR est une marque déposée d’IBM Corp. et est utilisée sous licence. UNIX est une marque déposée licenciée exclusivement par Open Group. An 2000 Le produit documenté dans ce manuel est agréé pour l’An 2000. La loi du 11 mars 1957, complétée par la loi du 3 juillet 1985, interdit les copies ou reproductions destinées à une utilisation collective. Toute représentation ou reproduction intégrale ou partielle faite par quelque procédé que ce soit, sans consentement de l’auteur ou de ses ayants cause, est illicite et constitue une contrefaçon sanctionnée par les articles 425 et suivants du code pénal. Ce document est fourni à titre d’information seulement. Il n’engage pas la responsabilité de Bull S.A. en cas de dommage résultant de son application. Des corrections ou modifications du contenu de ce document peuvent intervenir sans préavis ; des mises à jour ultérieures les signaleront éventuellement aux destinataires. Table des matières À propos de ce manuel : . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Chapitre 1. Imprimantes, travaux d’impression et files d’attente pour les utilisateurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Terminologie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Lancement d’un travail d’impression (commande qprt) . . . . . . . . . . . . . . . . . . . . . . . . Annulation d’un travail d’impression (commande qcan) . . . . . . . . . . . . . . . . . . . . . . . Priorité d’un travail d’impression (commande qpri) . . . . . . . . . . . . . . . . . . . . . . . . . . . . Déplacement d’un travail d’impression dans une autre file (commande qmov) . . . Blocage/libération d’un travail d’impression (commande qhld) . . . . . . . . . . . . . . . . . Contrôle de l’état d’un travail d’impression (commande qchk) . . . . . . . . . . . . . . . . . . Formatage des fichiers à imprimer (commande pr) . . . . . . . . . . . . . . . . . . . . . . . . . . . Impression de fichiers ASCII sur une imprimante PostScript . . . . . . . . . . . . . . . . . . Récapitulatif des commandes de l’imprimante, des travaux et des files d’impression . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Chapitre 2. Imprimantes, travaux d’impression et files d’attente pour les administrateurs système . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Processus d’impression . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Spouleur d’impression . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Imprimantes réelles et virtuelles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Imprimantes locale et distante . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Programmes dorsaux de l’imprimante . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Filtres de formatage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Terminologie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Configuration initiale de l’imprimante . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Modifier le fichier de configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Configurer une imprimante locale et ajouter une file d’attente . . . . . . . . . . . . . . . . Configurer une imprimante distante et ajouter une file d’attente . . . . . . . . . . . . . . Configurer une imprimante de station X et ajouter une file d’attente . . . . . . . . . . Configurer une imprimante de réseau et ajouter une file d’attente . . . . . . . . . . . . Configurer une file d’attente d’impression pour un fichier dans /dev . . . . . . . . . . Configurer un port d’imprimante . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Configuration d’une imprimante sans ajout de file d’attente . . . . . . . . . . . . . . . . . . . . Autres opérations de mise en file d’attente . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ajout d’une unité de file d’attente d’impression . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ajout de la carte de connexion traceur 5080 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Création d’un fichier de configuration pour traceur . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ajout d’une imprimante locale à une file d’impression existante . . . . . . . . . . . . . . . . Ajout d’une imprimante de station X à une file d’impression existante . . . . . . . . . . . Ajout d’une imprimante de terminal ASCII à une file d’impression existante . . . . . . Ajout d’une imprimante HP JetDirect à une file d’impression existante . . . . . . . . . . Ajout d’un fichier à une file d’impression existante . . . . . . . . . . . . . . . . . . . . . . . . . . . . Configuration d’imprimantes non prises en charge . . . . . . . . . . . . . . . . . . . . . . . . . . . Impression via une imprimante reliée à un terminal . . . . . . . . . . . . . . . . . . . . . . . . . . . Séquences de commandes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Limitations relatives à l’impression via un terminal . . . . . . . . . . . . . . . . . . . . . . . . . . . . Configuration d’une imprimante pour un terminal ASCII . . . . . . . . . . . . . . . . . . . . . . . Préface viii 1-1 1-2 1-4 1-8 1-9 1-10 1-11 1-12 1-14 1-16 1-18 2-1 2-1 2-3 2-3 2-4 2-4 2-5 2-6 2-8 2-8 2-8 2-9 2-9 2-10 2-11 2-11 2-12 2-13 2-14 2-15 2-16 2-17 2-18 2-19 2-20 2-21 2-22 2-24 2-28 2-30 2-31 iii iv Affichage de la liste des files d’impression et des unités de files d’impression . . . . Affichage de l’état des files d’attente d’impression . . . . . . . . . . . . . . . . . . . . . . . . . . . . Démarrage et arrêt d’une file d’impression . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Définition de la file d’attente d’impression par défaut . . . . . . . . . . . . . . . . . . . . . . . . . . Blocage/libération d’un travail d’impression (commande qhld) . . . . . . . . . . . . . . . . . Déplacement d’un travail d’impression dans une autre file . . . . . . . . . . . . . . . . . . . . . Planifier les travaux d’impression . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Modification et affichage des caractéristiques des files d’impression . . . . . . . . . . . . Définition du format de papier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Modification et affichage des caractéristiques de connexion de l’imprimante . . . . . Modification et affichage des filtres de prétraitement . . . . . . . . . . . . . . . . . . . . . . . . . . Suppression d’une file d’impression . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Affichage de la liste des imprimantes prises en charge et définies . . . . . . . . . . . . . . Déplacement d’une imprimante sur un autre port . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Modification et affichage des caractéristiques de l’imprimante . . . . . . . . . . . . . . . . . . Suppression d’une imprimante . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Impression à distance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Gestion et exploitation des imprimantes et des files d’attente distantes . . . . . . . . . . Impression à distance via l’hôte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Sous-système distant lpd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Affichage de l’état du serveur d’impression . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Etat du système de file d’attente d’impression . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-32 2-33 2-34 2-35 2-36 2-37 2-38 2-39 2-40 2-41 2-42 2-43 2-44 2-45 2-46 2-47 2-48 2-51 2-53 2-54 2-55 2-56 Chapitre 3. Présentation du spouleur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Présentation du spouleur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Terminologie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Spouleur AIX générique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Eléments du spouleur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Flot de données du spouleur - Partie I . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Flot de données du spouleur - Partie II . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Présentation du traitement dorsal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Imprimantes virtuelles et filtres de formatage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Fichier de configuration du spouleur : /etc/qconfig . . . . . . . . . . . . . . . . . . . . . . . . . . . . Récapitulatif . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-1 3-2 3-3 3-6 3-7 3-7 3-9 3-11 3-15 3-17 3-21 Chapitre 4. Imprimante, traceur et programmation du sous-système de spoulage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Présentation du programme dorsal pour la programmation de l’imprimante . . . . . . Flot de données du programme dorsal de l’imprimante . . . . . . . . . . . . . . . . . . . . . Définitions et attributs d’une imprimante virtuelle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Attributs d’imprimante virtuelle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Séquences d’échappement du fichier deux-points de l’imprimante . . . . . . . . . . . . . . Conventions du fichier deux-points de l’imprimante . . . . . . . . . . . . . . . . . . . . . . . . . . . Format du fichier deux-points . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Noms d’attribut . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Valeurs d’attribut . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Champ limits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Exemple de programme de formatage d’impression . . . . . . . . . . . . . . . . . . . . . . . . . . Créer un fichier source du programme de formatage . . . . . . . . . . . . . . . . . . . . . . . Compiler et éditer les liens du programme de formatage . . . . . . . . . . . . . . . . . . . . Interaction entre qdaemon et le programme dorsal . . . . . . . . . . . . . . . . . . . . . . . . . . . Utilisation du fichier d’état . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Impression d’exemplaires supplémentaires . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Mise à jour des informations sur l’état d’un travail . . . . . . . . . . . . . . . . . . . . . . . . . . Coût du travail . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-1 4-2 4-3 4-4 4-4 4-14 4-21 4-21 4-22 4-24 4-25 4-26 4-26 4-28 4-29 4-29 4-30 4-30 4-30 Imprimantes et impression Guide de l’utilisateur Codes de sortie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Renvoi de messages d’erreur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Définir l’état de la file d’attente . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Terminer sur réception de SIGTERM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Routines du programme dorsal dans libqb . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Tables de traduction de la page de code de l’imprimante . . . . . . . . . . . . . . . . . . . . . . Traduction - Étape 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Traduction - Étape 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Traduction de la page de code de l’imprimante pour les jeux de code multioctets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Tables de traduction de la page de code de l’imprimante pour les jeux de code multioctets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Utilisation des polices Xwindows avec la commande qprt . . . . . . . . . . . . . . . . . . . Exemple de table de traduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Traduction de la page de code de l’imprimante pour les jeux de code multioctets . Tables de traduction de la page de code de l’imprimante pour les jeux de code multioctets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Utilisation des polices Xwindows avec la commande qprt . . . . . . . . . . . . . . . . . . . Exemple de table de traduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Fichiers de raccord de l’imprimante . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Interface SMIT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Conventions d’appellation des fichiers de raccord . . . . . . . . . . . . . . . . . . . . . . . . . . Structure des fichiers de raccord . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Définition des champs d’un fichier de raccord . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Opérateurs du champs limits du fichier deux-points d’une imprimante . . . . . . . . . . . Contenu du champ limits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Opérateurs du champ limits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ajout d’un support pour configurer une imprimante raccordée au réseau . . . . . . . . Ajout d’un support pour configurer des imprimantes raccordées au réseau Présentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Nommer un fichier de configuration d’une unité . . . . . . . . . . . . . . . . . . . . . . . . . . . . Types d’instructions disponibles dans un fichier de configuration d’unité . . . . . . Format des instructions dans un fichier de configuration d’unité . . . . . . . . . . . . . . Description des champs d’instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Commentaires dans un fichier de configuration d’unité . . . . . . . . . . . . . . . . . . . . . Première instruction d’un fichier de configuration d’unité . . . . . . . . . . . . . . . . . . . . Définition des menus et des invites dans un fichier de configuration d’unité . . . Exemple de fichier de configuration d’unité . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ajout d’une imprimante via le fichier deux-points de l’imprimante . . . . . . . . . . . . . . . Informations spécifiques de l’imprimante . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . IBM Personal Printer II modèles 2380, 2381, 2390, 2391, 2380–2, 2381–2, 2390–2, 2391–2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . IBM 3812 Modèle 2 Page Printer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . IBM 3816 Page Printer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . IBM 4019 LaserPrinter et 4029 LaserPrinter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . IBM 4037 LaserPrinter et 4039 LaserPrinter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . IBM 4072 ExecJet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . IBM 4076 InkJet Printer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . IBM Proprinter modèles 4201–3, 4202–3, 4207–2, 4208–2 . . . . . . . . . . . . . . . . . . IBM 4208–502, IBM 5572–B02, IBM 5573–H02 et IBM 5579–H02/K02 . . . . . . . IBM 4216 Personal Page Printer, modèle 031 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . IBM 4216–510 et IBM 5327–011 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . IBM 4234 Printer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . IBM 5202 Quietwriter III . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Préface 4-30 4-31 4-33 4-34 4-35 4-38 4-38 4-39 4-40 4-40 4-41 4-42 4-43 4-43 4-44 4-45 4-46 4-46 4-46 4-47 4-48 4-50 4-51 4-51 4-57 4-57 4-57 4-58 4-58 4-59 4-60 4-60 4-61 4-61 4-62 4-64 4-65 4-65 4-66 4-66 4-67 4-67 4-67 4-68 4-68 4-68 4-68 4-69 4-69 v IBM 5204 Quickwriter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . IBM 5575–B02/F02/H02 et IBM 5577–B02/F02/FU2/G02/H02/J02/K02 . . . . . . . IBM 5584–G02/H02, IBM 5585–H01, IBM 5587–G01/H01 et IBM 5589–H01 . . IBM 6252 Impactwriter et IBM 6252 Printer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . IBM Network Color Printer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . IBM Network Printers 12, 17 et 24 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . IBM InfoPrint 20 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Canon LASER SHOT LBP–B404PS/Lite . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Canon LASER SHOT LBP–B406S/D/E/G, A404/E, A304E . . . . . . . . . . . . . . . . . . Dataproducts LZR 2665 Laser Printer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Hewlett–Packard LaserJets II, III, IIISi, 4, 4Si, 4Plus, 4V, 4000, 5Si/5Si MX, 5Si Mopier et Color . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Lexmark 4227 Forms Printer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Lexmark Optra LaserPrinter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Lexmark Optra Plus LaserPrinter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Lexmark Optra C Color LaserPrinter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Lexmark Optra E LaserPrinter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Lexmark Optra N LaserPrinter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Lexmark Plus Printer modèles 2380–3, 2381–3, 2390–3, 2391–3 . . . . . . . . . . . . OKI MICROLINE 801PS/+F, 801PSII/+F, 800PSIILT . . . . . . . . . . . . . . . . . . . . . . . Printronix P9012 Line Printer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . QMS ColorScript 100 modèle 20 Printer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Texas Instruments OmniLaser 2115 Page Printer . . . . . . . . . . . . . . . . . . . . . . . . . . Support de l’imprimante . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Mode passe-système . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Mode passe-système du pilote d’unité de l’imprimante . . . . . . . . . . . . . . . . . . . . . Mode passe-système du filtre de formatage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Affichage, formatage ou modification des définitions d’imprimante virtuelle . . . . . . Modification des attributs mi, mp et _d sur une file d’attente PostScript . . . . . . . . . . Utilisation des fichiers deux-points de l’imprimante par piobe . . . . . . . . . . . . . . . . . . Calcul de la longueur de page à l’aide des séquences d’échappement du fichier deux-points de l’imprimante . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Fonctionnement de la pile de langages décrivant la longueur de page . . . . . . . . Calcul de la largeur de page à l’aide des séquences d’échappement du fichier deux-points de l’imprimante . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Fonctionnement de la pile de langages décrivant la largeur de page . . . . . . . . . Pages d’en-tête et de fin d’un travail du spouleur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Pipelines des pages d’en-tête et de fin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Pages d’en-tête personnalisées . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Modification de l’attribut mo d’imprimante virtuelle . . . . . . . . . . . . . . . . . . . . . . . . . . . . Gestion non prise en charge, serveurs de terminaux adressables IP . . . . . . . . . Filtres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Filtre de correspondance entre saut de ligne et retour chariot et saut de ligne . Edition du fichier /etc/qconfig . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Modification de /etc/qconfig pendant le traitement de travaux . . . . . . . . . . . . . . . . Création d’une file d’attente à l’aide d’un éditeur . . . . . . . . . . . . . . . . . . . . . . . . . . . vi Imprimantes et impression Guide de l’utilisateur 4-69 4-69 4-69 4-70 4-70 4-71 4-74 4-76 4-76 4-76 4-76 4-78 4-79 4-81 4-83 4-86 4-87 4-91 4-93 4-93 4-93 4-93 4-94 4-98 4-98 4-100 4-101 4-106 4-108 4-111 4-117 4-121 4-127 4-131 4-131 4-132 4-135 4-135 4-138 4-140 4-142 4-142 4-142 Chapitre 5. Dépannage du spouleur AIX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Liste de contrôle de l’imprimante locale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Liste de contrôle d’une imprimante ne fonctionnant pas . . . . . . . . . . . . . . . . . . . . . . . Liste de contrôle d’une imprimante distante . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Remarques sur l’adaptateur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Liste de contrôle d’une imprimante raccordée à un terminal . . . . . . . . . . . . . . . . . . . Remarques sur une imprimante 8 bits raccordée à une interface 7 bits . . . . . . . . . . Liste de contrôle de qdaemon . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Problèmes du système de mise en file d’attente . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Test du qdaemon . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Test d’une file d’attente du spouleur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Copie des travaux du spouleur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Nettoyage et redémarrage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-1 5-2 5-3 5-4 5-5 5-5 5-6 5-7 5-8 5-9 5-11 5-11 5-12 Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . X-1 Préface vii À propos de ce manuel : Ce document renferme toutes les informations nécessaires pour comprendre les processus d’impression et propose différentes configurations d’imprimante. Remarque : Vous pouvez aussi consulter ce document en ligne si vous possédez un navigateur Web compatible avec la version 3.2 de HTML. A qui s’adresse ce manuel ? Ce document, destiné aux administrateurs système et aux programmeurs, permet de résoudre toutes les questions relatives à l’impression. Avant de vous lancer dans sa lecture, vous devez connaître les commandes de base du système d’exploitation. Vous devez aussi connaître les informations et les concepts présentés dans les documents suivants : • AIX 4.3 Guide de l’utilisateur : système d’exploitation et unités, 86 F2 97HX • AIX 4.3 Guide de l’utilisateur : communications et réseaux, 86 F2 98HX • AIX 4.3 Guide d’installation, 86 F2 43GX Mode d’emploi Imprimantes et impression Guide de l’utilisateur est divisé en 5 chapitres, comme suit : • Chapitre 1, ”Imprimantes, travaux et files d’impression - Présentation à l’attention de l’utilisateur” : généralités et procédures relatives aux fichiers d’impression. • Chapitre 2, ”Imprimantes, travaux et files d’impression - Informations à l’attention de l’administrateur système” : tâches administratives associées à la configuration des imprimantes et des files du spouleur. • Chapitre 3, ”Présentation du spouleur” : description de ses différents composants et interactions. • Chapitre 4, ”Imprimante, traceur et programmation du sous-système de spoulage” : présentation des programmes internes du spouleur, programmation de l’adressage et modification des fonctions du spouleur. • Chapitre 5, ”Dépannage du spouleur AIX” : astuces, conseils et procédures permettant d’identifier et de résoudre les problèmes du spouleur. Conventions typographiques Voici les conventions typographiques adoptées dans ce manuel : viii Gras Commandes, sous-routines, mots clés, fichiers, structures, répertoires et autres éléments dont le nom est prédéfini par le système. Identifie également les objets graphiques – boutons, libellée et icônes – que l’utilisateur peut sélectionner. Italique Paramètres dont le nom réel ou les valeurs sont fournies par l’utilisateur. Espacement fixe Exemples de valeurs de données, de texte affiché, de codes de programme, de messages système, ou informations que vous pouvez taper. Imprimantes et impression Guide de l’utilisateur ISO 9000 Ce produit répond aux normes qualité ISO 9000. Ouvrages de référence Vous trouverez des éléments concernant la gestion du système, les commandes et les fichiers utilisés par le système d’exploitation dans les ouvrages suivants : CEDOC Bibliographie 86 F2 71WE AIX - Bibliographie 86 F2 99HX AIX 4.3 Guide d’administration : système d’exploitation et unités 86 A2 38JX à 86 A2 43JX AIX Commands Reference 86 A2 79AP AIX Files Reference Commande d’ouvrages de référence Vous pouvez les commander auprès de votre représentant ou de votre point de vente. Pour commander d’autres exemplaires de cet ouvrage, utilisez le CEDOC 86 F2 37JX. Pour en savoir plus sur les ouvrages de référence connexes et comment vous les procurer, reportez-vous à AIX - Bibliographie. Préface ix x Imprimantes et impression Guide de l’utilisateur Chapitre 1. Imprimantes, travaux d’impression et files d’attente pour les utilisateurs Votre imprimante vous permet généralement de contrôler l’apparence et les caractéristiques des travaux d’impression. Les imprimantes n’ont pas besoin d’être installées auprès de l’unité centrale et de la console système. L’imprimante est connectée soit directement à un système local, soit via un réseau à un système distant. Pour gérer les travaux d’impression de façon optimale, le système les place en file d’attente jusqu’à ce que l’imprimante soit disponible. Le système peut enregistrer la sortie d’un ou plusieurs fichiers dans la file d’attente. Dès que l’imprimante sort un travail d’impression, le système traite le suivant dans la file d’attente. Ce processus est répété jusqu’à l’impression de chaque fichier. Ce chapitre traite les thèmes suivants : • Terminologie, page 1-2 • Lancer un travail d’impression (commande qprt), page 1-4 • Annulation d’un travail d’impression (commande qcan), page 1-8 • Priorité d’un travail d’impression (commande qpri), page 1-9 • Déplacement d’un travail d’impression dans une autre file (commande qmov), page 1-10 • Blocage/libération d’un travail d’impression (commande qhld), page 1-11 • Contrôle de l’état d’un travail d’impression (commande qchk), page 1-12 • Formatage des fichiers à imprimer (commande pr), page 1-14 • Imprimer des fichiers ASCII sur imprimante PostScript, page 1-16 • Récapitulatif des commandes de l’imprimante, des travaux et des files d’impression, page 1-18 Imprimantes, travaux d’impression et files d’attente pour les utilisateurs 1-1 Terminologie Les termes spécifiques de l’impression sont définis ci-après. Travail d’impression Un travail d’impression est une unité de travail à lancer sur une imprimante. Selon le mode d’impression demandé, l’unité comporte un à plusieurs fichiers à imprimer. Le système attribue un numéro unique à chaque travail d’impression qu’il traite. File d’attente La file d’attente est l’entité vers laquelle le travail d’impression est dirigé. Elle est représentée par une strophe dans le fichier /etc/qconfig et désignée par un nom de file qui pointe sur l’unité de file d’attente associée. En voici un exemple : Msa1: device = lp0 Unité de file d’attente L’unité de file d’attente est représentée par une strophe dans le fichier /etc/qconfig, généralement à la suite de la strophe de la file d’attente locale. Elle indique le fichier /dev (unité d’imprimante) où imprimer et le programme dorsal de l’imprimante à utiliser. En voici un exemple : lp0: file = /dev/lp0 header = never trailer = never access = both backend = /usr/lpd/piobe Dans cet exemple, lp0 est le nom de l’imprimante et les lignes suivantes décrivent comment elle est utilisée. Remarque : Plusieurs unités de file d’attente peuvent être associées à une seule file d’attente. qdaemon qdaemon est un processus qui fonctionne en arrière-plan pour surveiller les files d’attente. Généralement, il est automatiquement activé au démarrage du système. Spouleur d’impression Le spouleur n’est pas exclusivement dédié aux travaux d’impression. Il propose une fonction de désynchronisation dite générique, car dédiée à différents types de travaux, y compris les travaux en file d’attente d’impression. Généralement, le spouleur ne connaît pas le type des travaux qu’il place en file d’attente. Dans un premier temps, la file d’attente du spouleur est définie par l’administrateur système, tandis que son objet sera défini par le programme dorsal du spouleur qui est désigné pour cette file. Par exemple, si ce programme est la commande piobe (Printer I/O BackEnd), la file d’attente sera une file d’impression. Par ailleurs, si ce programme est un compilateur, la file est dédiée à des travaux de compilation. Lorsque la commande qdaemon du spouleur sélectionne un travail dans une file d’attente de spouleur, pour lancer ce travail, elle invoque le programme que l’administrateur système a désigné dans la définition de la file. 1-2 Imprimantes et impression Guide de l’utilisateur enq est la principale commande spécifique du spouleur. Pour placer un travail d’impression en file d’attente, vous pouvez directement invoquer cette commande, mais vous avez trois autres commandes frontales à disposition : lp, lpr et qprt. Tout d’abord, une requête d’impression émise par une de ces commandes est adressée au programme enq, qui ensuite place en file d’attente les informations relatives au fichier afin que qdaemon les traite. Imprimante réelle L’imprimante réelle représente l’imprimante matérielle connectée à un port série ou parallèle à une adresse unique d’unité matérielle. Au niveau du noyau, le programme pilote de l’imprimante communique avec l’imprimante matérielle pour lui fournir une interface avec une imprimante virtuelle, bien que ne connaissant pas ce concept d’imprimante virtuelle. Imprimantes locale et distante Si elle est associée à un noeud ou à un hôte, l’imprimante est désignée imprimante locale. Pour les noeuds qui ne sont pas directement reliés à l’imprimante, un télésystème d’impression peut donner accès à cette imprimante. Pour accéder à distance aux fonctions d’impression, les noeuds indépendants doivent être connectés à un réseau via le protocole TCP/IP (Transmission Control Protocol/Internet Protocol) ; ils doivent dans ce cas prendre en charge les applications TCP/IP nécessaires. Programme dorsal de l’imprimante Le programme dorsal de l’imprimante regroupe des programmes appelés par la commande qdaemon du spouleur pour gérer un travail d’impressionn en file d’attente. Il est à même : • de réceptionner une liste d’un ou plusieurs fichiers à imprimer provenant de qdaemon, • d’exploiter les valeurs des attributs définis dans la base de données pour l’imprimante et le formatage, qui ont été remplacées par des indicateurs au niveau de la ligne de commande, • d’initialiser l’imprimante avant d’imprimer un fichier, • d’activer les filtres nécessaires pour convertir le flot des données à imprimer en format supporté par l’imprimante. • de fournir les filtres appropriés pour le formatage simple de documents ASCII, • de fournir le support nécessaire aux caractères d’impression dans la langue voulue, • d’adresser le flot des données filtrées au pilote de l’imprimante, • de générer des pages d’en-tête et d’en-queue, • de générer plusieurs copies, • d’avertir si le papier manque, si une intervention est nécessaire et si un autre incident se produit, • de signaler les problèmes détectés par les filtres, • de nettoyer la file quand un travail d’impression est annulé, • de fournir un environnement d’impression personnalisable. Imprimantes, travaux d’impression et files d’attente pour les utilisateurs 1-3 Lancement d’un travail d’impression (commande qprt) Pour lancer un travail d’impression, utilisez la commande qprt, ou les commandes smit et spécifiez les éléments suivants : • Nom du fichier à imprimer • Nom de la file d’attente d’impression • Nombre de copies à imprimer • Copie du fichier sur l’hôte distant ? • Fichier à effacer après l’impression ? • Notifier l’état du travail d’impression ? • Notifier l’état du travail d’impression via la messagerie ? • Burst status • Nom utilisateur pour l’étiquette ‘Delivery To’ (destinataire) • Message d’accusé de réception de la console pour l’imprimante distante • Message d’accusé de réception du fichier pour l’imprimante distante • Niveau de priorité Prérequis • Pour les travaux d’impression locaux, l’imprimante doit être connectée physiquement au système, ou, si vous utilisez une imprimante de réseau, connectée au réseau et configurée. • Pour les travaux d’impression à distance, votre système doit être configuré pour communiquer à distance avec le serveur d’impression. Commande qprt La commande qprt crée et place en file d’attente un travail d’impression afin d’imprimer le fichier que vous lui avez désigné. Si vous indiquez plusieurs fichiers, l’ensemble de ces fichiers forme un seul travail d’impression. Les fichiers sont imprimés dans l’ordre indiqué sur la ligne de commande. Pour imprimer un fichier, vous devez avoir le droit d’accès en lecture à ce fichier. Pour supprimer un fichier une fois imprimé, vous devez avoir accès en écriture au répertoire qui renferme ce fichier. Le format de base de la commande qprt est comme suit : qprt –Pnom_file nom_fichier 1-4 Imprimantes et impression Guide de l’utilisateur Vous pouvez ajouter à qprt différentes options : –b nombre Définit la marge en bas de page. Elle est représentée par le nombre de lignes laissées vierges en bas des pages. –B valeur Spécifie le mode d’impression des pages en continu (séparables au niveau des pointillés). La variable valeur est une chaîne de deux caractères. Le premier caractère s’applique aux pages d’en-tête. Le second caractère s’applique aux pages d’en-queue. Vous leur donnez la valeur souhaitée : a pour toujours imprimer la page (d’en-tête ou d’en-queue) sur tous les travaux d’impression. n pour ne jamais imprimer la page (d’en-tête ou d’en-queue). g pour imprimer la page (d’en-tête ou d’en-queue) une seule fois par travail d’impression (groupe de fichiers). Par exemple, –B ga spécifie l’impression d’une page d’en-tête au début de chaque travail et d’une page d’en-queue à la fin de chaque fichier pour chaque travail d’impression. Remarque : En environnement d’impression distant, la valeur par défaut est déterminée à distance par la file d’attente du serveur. –e option Indique si l’impression est demandée avec enrichissement de texte. + L’enrichissement de texte est demandé. ! –E option L’enrichissement de texte n’est pas demandé. Indique si l’impression est demandée en double hauteur. + L’impression est demandée en double hauteur. ! L’impression en double hauteur n’est pas demandée. –f type_filtre Identificateur d’un caractère spécifiant un filtre par lequel les fichiers doivent passer avant d’être envoyés à l’impression. Les identificateurs disponibles sont p, qui sollicite le filtre pr et n, qui traite les sorties résultant de la commande troff. –i nombre Décale chaque ligne selon le nombre d’espaces indiqué. La variable nombre doit être intégrée à la largeur de page indiquée par l’option –w. –K option Indique si l’impression condensée est demandée. + L’impression condensée est demandée. ! L’impression condensée n’est pas demandée. –l nombre Définit la longueur de la page selon le nombre de lignes indiqué. Si la variable nombre a la valeur 0, la longueur de page n’étant pas prise en compte, la sortie est imprimée en continu. La longueur de page, tenant compte des marges haut et bas, indique la taille imprimable du papier. –L option Indique si les lignes dépassant la largeur de page doivent être envoyées à la ligne suivante ou tronquées à la marge de droite. + Les longues lignes passent à la ligne suivante. ! Les longues lignes sont tronquées à la marge de droite. –N nombre Indique le nombre d’exemplaires à imprimer. Sans cette option, un seul exemplaire est imprimé. –p nombre Définit le pas (espacement) à nombre de caractères par pouce. 10 et 12 sont des valeurs standard pour nombre. Le pas réel des caractères imprimés dépend aussi des valeurs des options –K (texte condensé) et –W (double largeur). Imprimantes, travaux d’impression et files d’attente pour les utilisateurs 1-5 –P nom_file [: Désigne la file d’attente d’impression et (facultatif) l’unité de file d’attente. Sans cette option, l’imprimante désignée est celle définie par défaut. –Q valeur Spécifie la taille du papier pour le travail d’impression. La valeur de la taille du papier dépend de l’imprimante. Voici quelques valeurs standard : 1 pour le format lettre, 2 pour le format ‘legal’ (21,6 x 35,6), etc. Pour les valeurs spécifiques des différents formats de papier, reportez-vous à la documentation de votre imprimante. –t nombre Définit la marge en haut de page. Elle est représentée par le nombre de lignes laissées vierges en haut des pages. –w nombre Définit la largeur de page selon le nombre de caractères indiqués dans la variable nombre. La largeur doit tenir compte du décalage spécifié par l’option –i. –W option Indique si l’impression est demandée en double largeur. + L’impression est demandée en double largeur. ! –z valeur –# valeur L’impression en double largeur n’est pas demandée. Avance la sortie papier de l’imprimante d’autant de quarts de tour que spécifié par la variable valeur. Les valeurs de longueur (–l) et largeur (–w) sont automatiquement ajustées. 0 Portrait 1 Paysage droit 2 Portrait à l’envers 3 Paysage gauche Indique une fonction spécifique. j Affiche le numéro du travail d’impression spécifié. h Place le travail en file d’attente en le conservant à l’état HELD (suspendu) jusqu’à ce qu’il soit libéré. v Valide les valeurs d’indicateur spécifiées pour le programme dorsal de l’imprimante. Ceci s’avère utile pour contrôler les valeurs au moment de soumettre un travail d’impression. Si la validation n’est pas définie, par la suite un travail d’impression en cours peut être interrompu à cause de valeurs incorrectes. Par exemple, pour imprimer le fichier monfichier sur la première imprimante disponible configurée dans la file d’impression par défaut et avec les valeurs définies par défaut, entrez : qprt monfichier Par exemple, pour imprimer le fichier cefichier sur une file donnée, avec des options spécifiques et pour valider ces options au moment où le travail sera envoyé en impression, entrez : qprt –f p –e + –Pfastest –# v cefichier Le fichier cefichier est traité par la commande du filtre pr (indicateur –f p) puis imprimé en mode enrichissement de texte (indicateur –e +) sur la première imprimante disponible configurée pour la file fastest (indicateur –Pfastest). Autre exemple pour imprimer mon fichier sur du papier au format ‘legal’, entrez : qprt –Q2 monfichier 1-6 Imprimantes et impression Guide de l’utilisateur Pour imprimer trois exemplaires de chacun des fichiers new.index.c, print.index.c et more.c sur la file Msp1, entrez : qprt –PMsp1 –N 3 new.index.c print.index.c more.c Pour imprimer trois exemplaires des trois fichiers concaténés new.index.c, print.index.c et more.c, entrez : qprt –PMsp1 –N 3 new.index.c print.index.c more.c Remarque : Le système d’exploitation AIX prend également en charge les commandes d’impression UNIX BSD (lpr) et UNIX System V (lp). Pour en connaître la syntaxe, reportez-vous aux commandes lpr et lp dans AIX Commands Reference. Pour connaître la syntaxe de la commande qprt, reportez-vous à cette commande dans AIX Commands Reference. Commande smit Pour lancer un travail d’impression via SMIT, entrez : smit qprt Imprimantes, travaux d’impression et files d’attente pour les utilisateurs 1-7 Annulation d’un travail d’impression (commande qcan) Pour annuler n’importe quel travail d’impression dans la file d’impression, vous avez le choix entre le raccourci Web-based System Manager ou les commandes qcan ou smit. Lors de l’annulation, vous êtes invité à désigner la file d’impression renfermant le travail à annuler et à indiquer le numéro de ce travail. La procédure décrite s’applique aux travaux d’impression traités localement et à distance. Prérequis • Pour les travaux d’impression locaux, l’imprimante doit être connectée physiquement au système, ou, si vous utilisez une imprimante de réseau, connectée au réseau et configurée. • Pour les travaux d’impression à distance, votre système doit être configuré pour communiquer à distance avec le serveur d’impression. Web-based System Manager Raccourci Pour annuler un travail d’impression via le raccourci Web-based System Manager, entrez : wsm printers Sélectionnez le travail voulu dans Files d’attente d’impression, puis annulez-le dans la file adéquate via les menus proposés. Commande qcan La commande qcan permet d’annuler soit un travail spécifique dans une file d’impression locale ou distante, soit tout ou partie des travaux en attente dans une file locale. Pour déterminer le numéro du travail, entrez la commande qchk. Le format de base de qcan est comme suit : qcan –Pnom_file –x numéro_travail Pour connaître la syntaxe de la commande qcan, reportez-vous à cette commande dans AIX Commands Reference. Par exemple, pour annuler le travail numéro 123, quelle que soit l’imprimante sur laquelle ce travail est déclaré, entrez : qcan –x 123 Autre exemple, pour annuler tous les travaux en file d’attente d’impression sur l’imprimante lp0, entrez : qcan –X –Plp0 Remarque : Le AIX système d’exploitation prend également en charge les commandes d’annulation d’impression UNIX BSD (lprm) et UNIX System V (cancel). Pour en connaître la syntaxe, reportez-vous aux commandes lprm et cancel dans AIX Commands Reference. Commande smit Pour annuler un travail d’impression via SMIT, entrez : smit qcan 1-8 Imprimantes et impression Guide de l’utilisateur Priorité d’un travail d’impression (commande qpri) Pour attribuer/modifier la priorité d’un travail d’impression, vous avez le choix entre le raccourci Web-based System Manager ou les commandes qpri ou smit. Vous pouvez affecter les priorités voulues sur les files locales. Plus la valeur est élevée, plus la priorité est grande. Par défaut, la priorité est 15. Pour la plupart des utilisateurs, la priorité maximale est 20 et 30 pour les utilisateurs racine (root) et les membres du groupe printq (groupe 9). Remarque : Pour les travaux d’impression traités à distance, attribuer une priorité est possible. Prérequis L’imprimante doit être connectée physiquement au système. Web-based System Manager Raccourci Pour attribuer/modifier la priorité d’un travail en file d’attente via le raccourci Web-based System Manager, entrez : wsm printers Sélectionnez le travail voulu dans Files d’attente d’impression, puis affectez-lui une priorité dans une file locale via les menus proposés. Commande qpri La commande qpri réaffecte la priorité d’un travail d’impression que vous avez vous-même soumis. Si vous êtes utilisateur racine (root) ou faites partie du groupe printq, vous pouvez affecter une priorité à n’importe quel travail d’impression en file d’attente. Le format de base de la commande qpri est comme suit : qpri –# numéro_travail –a niveau_priorité Par exemple, pour donner au travail numéro 123 la priorité 18, entrez : qpri –# 123 –a 18 Autre exemple, pour donner la priorité à un travail d’impression local au moment de soumettre ce travail, entrez : qprt –Pnom_file –R niveau_priorité nom_fichier Pour connaître la syntaxe de la commande qpri, reportez-vous à cette commande dans AIX Commands Reference. Commande smit Pour attribuer/changer la priorité d’un travail d’impression via SMIT, entrez : smit qpri Imprimantes, travaux d’impression et files d’attente pour les utilisateurs 1-9 Déplacement d’un travail d’impression dans une autre file (commande qmov) Après avoir envoyé en file d’attente un travail d’impression, vous pouvez le changer de file. Pour ce faire, vous avez le choix entre le raccourci Web-based System Manager ou les commandes qmov et smit. Remarque : Pour un travail d’impression à distance, changer de file n’est pas possible. Prérequis L’imprimante doit être connectée physiquement au système. Web-based System Manager Raccourci Pour déplacer un travail d’impression dans une autre file via le raccourci Web-based System Manager, entrez : wsm printers Sélectionnez le travail voulu dans Files d’attente d’impression, puis déplacez-le dans la file voulue via les menus proposés. Commande qmov La commande qmov permet de déplacer un travail d’impression d’une file dans une autre. Vous pouvez soit déplacer un travail donné, soit déplacer tous les travaux d’impression d’une file ou d’un utilisateur donné. Pour déterminer le numéro du travail d’impression, entrez la commande qchk. Le format de base de qmov est comme suit : qmov –mnouvelle_file {[ –#numéro_travail] [ –Pfile ] [ –uutilisateur ]} Pour connaître la syntaxe de la commande qmov, reportez-vous à cette commande dans AIX Commands Reference. Par exemple, pour déplacer le travail numéro 280 dans la file d’impression hp2, entrez : qmov –mhp2 –#280 Autre exemple, pour déplacer tous les travaux d’impression de la file hp4D vers la file d’impression hp2, entrez : qmov –mhp2 –Php4D Commande smit Pour déplacer un travail d’impression via SMIT, entrez : smit qmov 1-10 Imprimantes et impression Guide de l’utilisateur Blocage/libération d’un travail d’impression (commande qhld) Pour bloquer un travail d’impression en file d’attente, vous avez le choix entre le raccourci Web-based System Manager ou les commandes qhld ou smit. Par la suite, pour libérer les travaux bloqués, utilisez les mêmes commandes. Remarque : Vous ne pouvez ni bloquer ni libérer des travaux d’impression traités à distance. Prérequis L’imprimante doit être connectée physiquement au système. Web-based System Manager Raccourci Pour bloquer ou libérer un travail d’impression via le raccourci Web-based System Manager, entrez : wsm printers Sélectionnez le travail voulu dans Files d’attente d’impression, puis, via les menus proposés, bloquez ou libérez-le. Commande qhld La commande qhld permet de bloquer un travail d’impression placé en file d’attente. Vous pouvez bloquer un travail donné, ou bloquer tous les travaux figurant dans une file d’impression donnée. Pour déterminer le numéro du travail d’impression, entrez la commande qchk. Le format de base de qprd est comme suit : qhld [ –r ] {[ –#numéro_travail ] [ –Pfile ] [ –uutilisateur ]} Pour connaître la syntaxe de la commande qhld, reportez-vous à cette commande dans AIX Commands Reference. Par exemple, pour bloquer le travail numéro 452, quelle que soit la file d’impression où il se trouve, entrez : qhld –#452 Autre exemple, pour bloquer tous les travaux dans la file d’attente d’impression hp2, entrez : qhld –Php2 Pour libérer le travail numéro 452, quelle que soit la file d’impression où il se trouve, entrez : qhld –#452 –r Pour libérer tous les travaux de la file d’attente d’impression hp2, entrez : qhld –Php2 –r Commande smit Pour bloquer ou libérer un travail d’impression via SMIT, entrez : smit qhld Imprimantes, travaux d’impression et files d’attente pour les utilisateurs 1-11 Contrôle de l’état d’un travail d’impression (commande qchk) Vous pouvez afficher l’état en cours des travaux d’impression, des files d’attente, des imprimantes ou des utilisateurs par le biais du raccourci Web-based System Manager ou des commandes qchk ou smit. Prérequis • Pour les travaux d’impression locaux, l’imprimante doit être connectée physiquement au système, ou, si vous utilisez une imprimante de réseau, connectée au réseau et configurée. • Pour les travaux d’impression à distance, votre système doit être configuré pour communiquer à distance avec le serveur d’impression. Web-based System Manager Raccourci Raccourci, pour contrôler l’état d’un travail d’impression via le raccourci Web-based System Manager, entrez : wsm printers Sélectionnez le travail voulu dans Files d’attente d’impression, puis, via les menus proposés, contrôlez son état. Commande qchk La commande qchk permet d’afficher l’état courant des travaux d’impression, des files d’impression ou des utilisateurs. Le format de base de qchk est comme suit : qchk –P nom_file –# numéro_travail –u nom_propriétaire Pour connaître la syntaxe de la commande qchk, reportez-vous à cette commande dans AIX Commands Reference. Par exemple, pour afficher la file d’impression définie par défaut, entrez : qchk –q Pour afficher l’état détaillé des toutes les files jusqu’à ce qu’elles se vident, et rafraîchir l’écran toutes les 5 secondes, entrez : qchk –A –L –w 5 Pour afficher l’état de la file d’impression lp0, entrez : qchk –P lp0 Pour afficher l’état du travail d’impression numéro 123, entrez : qchk –# 123 Pour vérifier l’état de tous les travaux de chaque file d’attente, entrez : qchk –A Remarque : Le AIX système d’exploitation prend également en charge les commandes de contrôle de file d’impression UNIX BSD (lpq) et UNIX System V (lpstat). Pour en connaître la syntaxe, reportez-vous aux commandes lpq et lpstat dans AIX Commands Reference. Commande smit Pour contrôler l’état d’un travail d’impression via SMIT, entrez : smit qchk 1-12 Imprimantes et impression Guide de l’utilisateur Etats possibles de l’imprimante Voici quelques états possibles d’une file d’impression : DEV_BUSY Signification • Plusieurs files sont définies pour une unité d’impression (lp0) et celle-ci est actuellement occupée par une autre file. • qdaemon a essayé d’utiliser l’unité de port d’imprimante (lp0), et celle-ci est actuellement occupée par une autre application. Pour que l’état DEV_BUSY soit résolu, patientez jusqu’à ce que la file ou l’application libère l’imprimante ou annulez le travail (ou le processus) qui l’occupe. DEV_WAIT La file attend l’imprimante, car celle-ci est hors ligne, est dépourvue de papier, fait l’objet d’un bourrage, ou son câble est défectueux ou n’est pas connecté correctement. Pour que l’état DEV_WAIT soit résolu, corriger l’incident à l’origine de l’attente. Pour faciliter les tests de diagnostic, avec la commande enq, déplaces tous les travaux de la file à l’état DEV_WAIT dans une autre file opérationnelle ou à l’état DOWN. Une fois le problème résolu, vous pouvez replacer les travaux non imprimés dans leur file d’origine. Une file restant à l’état DEV_WAIT pendant un laps de temps supérieur à celui défini passe automatiquement à l’état DOWN. DOWN Généralement, une file d’attente passe à l’état DOWN après avoir passé un certain laps de temps à l’état DEV_WAIT. Ceci se produit quand le pilote de l’imprimante ne reconnait plus l’imprimante en raison d’une mauvaise signalisation. Certaines imprimantes ne peuvent pas signaler au système de mise en file d’attente qu’elles sont hors ligne et, à la place, signalent qu’elles ne fonctionnent pas. Dans ce cas ou si l’imprimante semble ne pas fonctionner, la file passe à l’état DOWN. Pour que l’état DOWN soit résolu, corriger l’incident à l’origine du blocage de la file et demandez à l’administrateur de remettre la file en route. Pour que la file soit à nouveau opérationnelle, sa remise en route est obligatoirement manuelle. HELD Indique qu’un travail d’impression est bloqué. Le spouleur ne pourra le traiter que lorsqu’il sera libéré. QUEUED Indique qu’un fichier figurant dans une file attend son tour pour être imprimé. READY Indique que tout ce qui concerne la file est prêt pour la mise en file d’attente et l’impression de travaux. RUNNING Indique que l’impression d’un fichier est en cours. Imprimantes, travaux d’impression et files d’attente pour les utilisateurs 1-13 Formatage des fichiers à imprimer (commande pr) La commande pr prend en charge le formatage simple des fichiers envoyés à l’impression. Pour formater votre texte, vous intégrez entre barres verticales (|) la sortie de la commande pr dans la commande qprt. Vous pouvez ajouter à pr différentes options : –d Génère la sortie avec double espacement. –h ”chaîne” Imprime sur la page d’en-tête la chaîne indiquée entre guillemets (” ”) à la place du nom du fichier. L’indicateur et la chaîne doivent être séparés par un espace. –l lignes A la place des 66 lignes définies par défaut, redéfinit la longueur de page selon le nombre de lignes indiqué dans la variable lignes. Si la valeur lignes est inférieure au total des en-têtes et en-queues (en lignes), ceux-ci sont supprimés (comme avec l’indicateur –t). –m Fusionne les fichiers. La sortie standard est formaté de sorte que la commande pr juxtapose les lignes de chaque fichier spécifié par une variable fichier en colonnes de texte de largeur fixe et égale, calculé d’après le nombre de colonnes dans une ligne. Cette option ne doit pas être employée avec l’indicateur –colonne. –n Numérote les lignes en fonction du nombre indiqué par la variable [largeur][caractère] largeur. La valeur par défaut est 5. Si la variable caractère (tout caractère non numérique) est spécifiée, elle est ajoutée au numéro de ligne pour le séparer de ce qui suit sur les lignes. Par défaut, le séparateur est le caractère ASCII TAB. –o décalage Décale chaque ligne du nombre de positions de caractère indiqué par la variable décalage. Le total des positions de caractère par ligne est égal à la somme de la largeur de page et du décalage. La valeur par défaut de décalage est 0. –scaractère Sépare les colonnes avec le caractère indiqué dans la variable caractère. La valeur par défaut de caractère est le caractère ASCII TAB –t N’affiche pas les cinq lignes identifiant l’en-tête ni celles de bas de page. S’arrête après la dernière ligne de chaque fichier sans laisser d’espace jusqu’en fin de page. –w largeur Définit le nombre de colonnes par ligne comme indiqué par la variable largeur. La valeur par défaut est 72 (colonnes de même largeur). Il n’y a pas d’autres limites. Si l’indicateur –w n’est pas spécifié et que –s l’est, la largeur par défaut est 512 colonnes. –colonne Définit le nombre de colonnes comme indiqué par la variable colonne. La valeur par défaut est 1. Cette option ne doit pas être utilisée avec l’indicateur –m. Les indicateurs –e et –i concernent les sorties sur plusieurs colonnes. Une colonne de texte ne doit jamais dépasser la longueur de la page (voir indicateur –l). Si cette option est employée avec l’indicateur –t, imprimez la sortie avec le nombre minimal de lignes. +page Démarre l’impression avec le numéro de page indiqué par la variable page. La valeur par défaut est 1. Par exemple, pour imprimer le fichier prog.c avec en-tête et nombre de page, entrez : pr prog.c | qprt 1-14 Imprimantes et impression Guide de l’utilisateur Cette commande ajoute les en-têtes de page au fichier prog.c puis le transmet à la commande qprt. L’en-tête comporte la date de la dernière modification du fichier, le nom du fichier et le nombre de pages. Par exemple, pour spécifier le titre du fichier prog.c, entrez : pr –h ”GRAND PROJET” prog.c | qprt Cette commande imprime prog.c avec GRAND PROJET pour titre à la place du nom de fichier. La date de dernière modification et le nombre de pages sont également imprimés. Autre exemple, pour imprimer le fichier word.lst en colonnes multiples, entrez : pr –3 word.lst | qprt Cette commande imprime le fichier word.lst en trois colonnes. Pour obtenir l’impression juxtaposée de plusieurs fichiers : pr –m –h ”Adhérents et Visiteurs” member.lst visitor.lst | qprt Cette commande imprime member.lst et visitor.lst côte à côte avec le titre Adhérents et Visiteurs. Par exemple, pour modifier le fichier prog.c afin de l’utiliser ultérieurement, entrez : pr –t –e prog.c > prog.notab.c Cette commande met des espaces à la place des tabulations du fichier prog.c puis met le fichier obtenu dans prog.notab.c. Les tabulations sont positionnées sur les colonnes 9, 17, 25, 33, etc. L’indicateur –e demande à la commande pr de remplacer les tabulations et l’indicateur –t supprime les en-têtes de page. Pour imprimer le fichier monfichier sur deux colonnes, au format Paysage et en texte 7 points, entrez : pr –l66 –w172 –2 monfichier | qprt –z1 –p7 Pour connaître la syntaxe de la commande pr, reportez-vous à cette commande dans AIX Commands Reference. Imprimantes, travaux d’impression et files d’attente pour les utilisateurs 1-15 Impression de fichiers ASCII sur une imprimante PostScript Pour convertir des fichiers ASCII en PostScript (afin de les imprimer sur imprimante PostScript), le filtre enscript est intégré au système de formatage de texte. La commande qprt –da appelle ce filtre quand un travail est placé dans une file d’impression PostScript. Prérequis • L’imprimante doit être connectée physiquement au système. • Elle doit être configurée et définie. • La portion transcript des services de formatage de texte doit être installée. 1-16 Imprimantes et impression Guide de l’utilisateur Pour personnaliser l’impression de fichiers ASCII placés dans une file PostScript, la commande qprt peut être assortie de différentes options. –1+ Ajoute des en-têtes de page. –2+ Sépare la sortie en deux colonnes. –3+ Imprime les en-têtes de page, les dates et les numéros de page dans un style fantaisiste. Cela est parfois appelé le mode ”voyant”. –4+ Imprime le fichier, même s’il comporte des caractères non imprimables. –5+ Donne la liste des caractères non trouvés dans les polices disponibles. –h chaîne Spécifie une chaîne qui figurera sur les en-têtes de page. Sans cet indicateur, l’en-tête comporte le nom du fichier, la date de modification et le nombre de pages. –l valeur Spécifie le nombre maximal de lignes imprimées par page. Selon la taille du point, le nombre de lignes imprimés peut s’avérer moindre. –L! Tronque les lignes dépassant la largeur de page. –p Spécifie la taille de point. Sans cet indicateur, la taille par défaut est 10, sauf si le mode de rotation de deux colonnes (–2+ –z1) est défini, auquel cas la taille de point est 7. –s Spécifie le style de police. Sans cette option, la police Courier est utilisée par défaut. Les valeurs possibles sont les suivantes : Courier–Oblique Helvetica Helvetica–Oblique Helvetica–Narrow Helvetica–Narrow–Oblique NewCenturySchlbk–Italic Optima Optima–Oblique Palatino–Roman Palatino–Italic Times–Roman Times–Italic Remarque : Les polices spécifiées doivent être à disposition de l’imprimante PostScript. –z1 Passe la sortie en mode paysage (par rotation de 90 degrés). Par exemple, pour envoyer le fichier ACSII monfichier.ascii à l’imprimante PostScript Msps1, entrez : qprt –da –PMsps1 monfichier.ascii Pour envoyer le fichier ACSII monfichier.ascii à l’imprimante PostScript Msps1 pour impression en police Helvetica, entrez : qprt –da –PMsps1 –sHelvetica monfichier.ascii Pour envoyer le fichier ACSII monfichier.ascii à l’imprimante PostScript Msps1 pour impression avec une taille de point de 9, entrez : qprt –da –PMsps1 –p9 monfichier.ascii Imprimantes, travaux d’impression et files d’attente pour les utilisateurs 1-17 Récapitulatif des commandes de l’imprimante, des travaux et des files d’impression cancel Annule les demandes transmises à une imprimante ligne. lp Transmet les demandes à une imprimante ligne. lpq Examine la file de spoulage. lpr Place les travaux en file d’attente d’impression. lprm Supprime les travaux de la file de spoulage de l’imprimante ligne. lpstat Affiche l’état de l’imprimante ligne. pr Imprime un fichier en sortie standard. qcan Annule un travail d’impression. qchk Affiche l’état d’une file d’impression. qhld Bloque ou libère un travail d’impression. qmov Déplace un travail d’impression dans une autre file d’attente. qpri Attribue une priorité à un travail en file d’impression. qprt Lance un travail d’impression. 1-18 Imprimantes et impression Guide de l’utilisateur Chapitre 2. Imprimantes, travaux d’impression et files d’attente pour les administrateurs système Le sous-système d’impression comporte un spouleur, des imprimantes réelles, des imprimantes virtuelles, des programmes dorsaux et des files d’attente. Un travail d’impression peut être envoyé à une imprimante directement connectée à un système local, ou être envoyé via un réseau à un système distant pour être imprimé sur une imprimante connectée à ce système. La gestion système comprend nombre de tâches associées aux imprimantes : • Processus d’impression, page 2-1 • Spouleur d’impression, page 2-2 • Imprimantes réelles et virtuelles, page 2-3 • Imprimantes locale et distante, page 2-4 • Programmes dorsaux de l’imprimante, page 2-4 • Filtres de formatage, page 2-5 • Configuration initiale de l’imprimante, page 2-8 • Présentation du spouleur, page 3-1 • Dépannage du spouleur AIX, page 5-1 Processus d’impression Lorsque vous imprimez un fichier, le système transmet des codes à l’imprimante. Certains codes impriment des caractères spécifiques, tels que a à z ou 0 à 9. D’autres codes impriment des caractères ou des fichiers, tels que le soulignement de certaines caractéristiques ou l’ajustement de la longueur de page. Modifiez le fichier si vous souhaitez transmettre différents codes à l’imprimante, par exemple pour changer le mot cela en ceci. Vous n’avez pas besoin de comprendre les codes sous-jacents. Pour modifier le mode de fonctionnement d’une imprimante, vous devez comprendre comment se déroule l’impression d’un fichier afin d’envoyer les informations de contrôle à l’imprimante ; vous devez également connaître les caractéristiques d’impression que vous pouvez contrôler. Pour envoyer un fichier à l’impression, vous avez le choix entre utiliser le raccourci Web-based System Manager (wsm printers), l’outil SMIT (System Manager Interface Tool) et la commande qprt. Pour annuler un travail d’impression ou lui attribuer une priorité, vous pouvez aussi utiliser wsm printers ou SMIT. L’envoi d’un fichier à l’imprimante n’est pas direct.C’est Web-based System Manager, SMIT ou la commande qprt qui appelle la commande enq pour placer la requête d’impression dans une file d’attente. La requête d’impression demeure dans la file d’attente jusqu’à ce qu’une imprimante soit disponible ; la commande qdaemon exécute alors la commande piobe (entrée imprimante/sortie programme dorsal). La commande piobe traite le fichier est l’envoie, avec les informations de contrôle, à l’imprimante. L’imprimante reçoit un flot de données où figurent le contenu du fichier et les informations de contrôle spécifiées avec la commande qprt. Imprimantes, travaux d’impression et files d’attente pour les administrateurs système 2-1 Contrôle du processus d’impression Pour intégrer les informations de contrôle au flot de données d’impression : • Ajoutez les codes de contrôle dans le fichier. Remarque : Définissez passthru pour le flot des données de la file d’impression (c’est-à-dire, d=p). Pour en savoir plus, reportez-vous à ”Conventions du fichier deux-points de l’imprimante”, page 4-21. Ajoutez toutes les informations de contrôle ne concernant que ce fichier. Par exemple, pour souligner le titre d’un document ou imprimer un paragraphie en caractères gras, insérez aux positions appropriées les codes adéquats de démarrage et d’arrêt des informations de contrôle. Vous pouvez le faire avec certaines applications spécifiques (de traitement de texte, notamment). Si la configuration de l’impression n’est pas possible à partir d’une application, utilisez un éditeur pour insérer les codes de contrôle. Ces codes sont fournis avec l’imprimante ; vous pouvez aussi vous les procurer auprès de votre revendeur ou du fabricant de l’imprimante. • Définissez les indicateurs de commande avec la commande qprt. Le raccourci Web-based System Manager, wsm printers, la commande qprt, et l’option SMIT Start a Print Job sont capables de reconnaître nombre d’indicateurs contrôlant les opérations d’impression : – Définition du texte condensé, enrichi, en double largeur et en surimpression – Impression en différentes couleurs – Définition des marges – Définition du nombre de lignes par pouce (verticalement) – Maintien de la position horizontale sur la ligne d’impression en cas de passage à la ligne ou de tabulation verticale Pour un travail donné, vous pouvez définir des caractéristiques d’impression spécifiques. Par exemple, pour définir le pas d’impression, ajoutez à la commande qprt l’indicateur –p nombre (nombre indiquant le nombre de caractères par pouce). Si la commande qprt standard propose 10 caractères par pouce et que vous en souhaitez 12 pour l’impression du fichier test, entrez : qprt –p 12 test Pour ce travail d’impression, l’indicateur spécifié va remplacer la définition de la commande qprt standard. Pour qprt, la définition du pas à 10 reste inchangée. • Modifiez les paramètres standard de qprt. Pour modifier/afficher les caractéristiques de la file d’impression d’une imprimante, utilisez le raccourci Web-based System Manager wsm printers. Vous pouvez aussi utiliser SMIT ou la commande lsvirprt. Remarque : Vous devez être utilisateur racine ou membre du groupe printq. Par exemple, pour changer le pas standard en 12 caractères par pouce, exécutez Périphériques (wsm devices), la commande chvirprt ou SMIT. Sélectionnez l’imprimante dans la liste affichée, puis entrez le nom et la valeur de l’attribut en les séparant par le signe égal (=). Le nom d’attribut de chaque indicateur de qprt est tout simplement la lettre de l’indicateur. Par exemple, pour modifier le pas standard en 12, spécifiez p=12. 2-2 Imprimantes et impression Guide de l’utilisateur Spouleur d’impression Le spouleur n’est pas spécifiquement un spouleur d’impression mais une fonction générique dédiée à la mise en file d’attente de différents types de travaux, y compris les travaux d’impression. Généralement, le spouleur ne connaît pas le type des travaux qu’il place en file d’attente. Dans un premier temps, la file d’attente du spouleur est définie par l’administrateur système, tandis que son objet sera défini par le programme dorsal du spouleur. Par exemple, si ce programme est la commande piobe (Printer I/O BackEnd), la file d’attente sera une file d’impression. Par ailleurs, si ce programme est un compilateur, la file est dédiée à des travaux de compilation. Lorsque la commande qdaemon du spouleur sélectionne un travail dans une file d’attente de spouleur, pour lancer ce travail, elle invoque le programme dorsal. Sur les réseaux comportant des machines AIX et d’autres types de clients et serveurs, les requêtes d’impression à distances ne sont pas toutes prises en charge. Dans certains cas, vous aurez à soumettre les travaux d’impression dans une seule file à la fois ou à concaténer les fichiers au préalable. enq est la principale commande spécifique du spouleur. Pour placer un travail d’impression en file d’attente, vous pouvez directement invoquer cette commande, mais vous avez trois autres commandes frontales à disposition : lp, lpr et qprt. Une requête d’impression émise par une de ces commandes est adressée au programme enq, qui place ensuite en file d’attente les informations relatives au fichier afin que qdaemon les traite. La file d’attente se trouve dans le répertoire /var/spool/lpd/qdir. Si le travail n’est pas un fichier (mais par exemple, le résultat avec des barres obliques (|) d’une commande destinée à enq), un fichier réel est créé dans /var/spool/qdaemon, contenant les données à imprimer. Les informations que renferme /var/spool/lpd/qdir pointent sur le fichier dans /var/spool/qdaemon. Imprimantes réelles et virtuelles L’imprimante réelle représente l’imprimante matérielle connectée à un port série ou parallèle à une adresse unique d’unité matérielle. Au niveau du noyau, le programme pilote de l’imprimante communique avec l’imprimante matérielle pour lui fournir une interface avec une imprimante virtuelle. Pour ajouter une imprimante réelle, vous pouvez utiliser le raccourci Web-based System Manager wsm devices; ou la commande mkdev au niveau de la ligne de commande. Une imprimante virtuelle est représentée par un ensemble d’attributs qui définissent un flot de données de haut niveau (tel que ASCII ou PostScript) reconnues par l’imprimante. Ceci n’inclut pas les données relatives au mode de connexion entre l’imprimante matérielle et l’ordinateur hôte ni le protocole servant à transférer les octets de données de/vers l’imprimante. L’imprimante virtuelle est associée à une file d’attente d’impression. Vous pouvez définir une file d’impression par flot de données pris en charge par l’imprimante. Plusieurs files d’impression peuvent utiliser la même imprimante réelle. • Pour ajouter des files d’impression, vous avez le choix entre le raccourci Web-based System Manager wsm printers, l’option SMIT Add a Print Queue, et les commandes mkque, mkquedev et mkvirprt. • Pour afficher la liste des files d’impression et les imprimantes virtuelles associées, vous pouvez utiliser le raccourci Web-based System Manager wsm printers, l’option SMIT List All Print Queues ou la commande lsvirprt. Imprimantes, travaux d’impression et files d’attente pour les administrateurs système 2-3 Lorsque vous soumettez un travail d’impression, une file d’impression doit être spécifiée, ce directement ou indirectement. Pour désigner une imprimante spécifique pour un travail d’impression, ajoutez deux points (:) au nom de la file d’impression, suivis du nom de l’unité d’impression. Si l’imprimante n’est pas désignée pour le travail d’impression, le spouleur sélectionne la première imprimante disponible qui est associée à la file d’impression concernée. Si plusieurs imprimantes sont associées à la file, n’importe laquelle est sélectionnée. Les imprimantes IBM Proprinters, par exemple, ont besoin d’une seule file définie par imprimante réelle. Ceci du fait que ces imprimantes prennent exclusivement en charge un flot de données, IBM ASCII étendu. L’imprimante IBM 4216, modèle 031 Personal Pageprinter, exige que plusieurs files d’impression soient définies. Vous pouvez définir une file d’impression par flot de données pris en charge par l’imprimante : Une file d’impression peut être définie pour les émulations PostScript, Proprinter, HP LaserJet et Diablo 630. Les sorties des quatre files d’attente sont toutes imprimées sur la même imprimante réelle, la 4216 modèle 031. Imprimantes locale et distante Une imprimante locale est une imprimante qui est connectée à un noeud ou à un hôte. Une imprimante distante permet aux noeuds qui ne sont pas directement connectés à une imprimante d’avoir accès à une imprimante. Pour accéder à distance aux fonctions d’impression, les noeuds indépendants doivent être connectés à un réseau via le protocole TCP/IP (Transmission Control Protocol/Internet Protocol) ; ils doivent dans ce cas prendre en charge les applications TCP/IP nécessaires. Le démon lpd contrôle le serveur d’impression distant et tout hôte installé sur un réseau peut être désigné comme serveur d’impression. Pour que le serveur distant puisse accepter les requêtes d’impression provenant des autres noeuds ou hôtes, le fichier /etc/hosts.lpd ou /etc/hosts.equiv doit être configuré de façon adéquate. Pour configurer un serveur d’impression, utilisez le raccourci Web-based System Manager wsm printers ou l’option SMIT Manage Print Server. Programmes dorsaux de l’imprimante Le programme dorsal de l’imprimante regroupe des programmes appelés par la commande qdaemon du spouleur pour gérer un travail d’impression en file d’attente. Il est à même : • de réceptionner une liste d’un ou plusieurs fichiers à imprimer provenant de qdaemon, • d’exploiter les valeurs des attributs définis dans la base de données pour l’imprimante et le formatage, qui ont été remplacées par les indicateurs spécifiés, • d’initialiser l’imprimante avant d’imprimer un fichier, • de fournir les filtres appropriés pour le formatage simple de documents ASCII, • d’activer les filtres nécessaires pour convertir le flot des données à imprimer en format supporté par l’imprimante, • de fournir le support nécessaire aux caractères d’impression dans la langue voulue, • d’adresser le flot des données filtrées au pilote de l’imprimante, • de générer des pages d’en-tête et d’en-queue, • de générer plusieurs copies, • d’avertir si le papier manque, si une intervention est nécessaire et si un autre incident se produit, • de signaler les problèmes détectés par les filtres, • de nettoyer la file quand un travail d’impression est annulé, • de fournir un environnement d’impression personnalisable. 2-4 Imprimantes et impression Guide de l’utilisateur La commande mkvirprt définit une imprimante virtuelle pour le programme dorsal de l’imprimante. Le jeu d’attributs prédéfinis pour un type d’imprimante spécifique est copié pour créer un jeu d’attributs personnalisés. La liste des attributs personnalisés s’affiche via la commande lsvirprt et peut être modifiée avec la commande chvirprt ou avec Périphériques ou encore avec l’option SMIT Change / Show Print Queue Characteristics. Chaque fois que la commande mkvirprt ou chvirprt est exécutée, un utilitaire d’assimilation (piodigest) produit automatiquement l’image mémoire des valeurs d’attribut ainsi que des tables de recherche accessibles pendant le processus d’impression. La commande qdaemon appelle la commande piobe (gestionnaire des travaux d’impression) et transmet les indicateurs ainsi que le ou les noms de fichier à imprimer. Les seuls indicateurs non transmis sont ceux du spouleur ; ils sont en effet supprimés par la commande enq. La commande qdaemon a déjà ouvert l’unité d’impression et réacheminé la sortie standard vers l’imprimante. Par ailleurs, un fichier d’état fournit la communication entre qdaemon et le programme dorsal. Quand une page d’en-tête est requise, la commande piobe recherche le pipeline spécifique permettant de générer les pages d’en-tête. Ce pipeline est ensuite transmis à un shell. Dans le pipeline, la sortie standard du filtre d’en-tête devient l’entrée standard du filtre de formatage. Ce filtre traite la page d’en-tête et inscrit le résultat en sortie standard. A son tour, cette sortie du filtre de formatage devient l’entrée standard pour le programme d’interface du pilote d’unité qui transmet la page d’en-tête filtrée au pilote de l’imprimante. Filtres de formatage Comme son nom l’indique, un filtre de formatage permet de formater en entrée le fichier d’impression ou de le transmettre tel quel, selon le paramètre d’entrée spécifié. Même s’il transmet le fichier sans le modifier, le programme de formatage adresse en outre des commandes servant à initialiser l’imprimante avant l’impression du fichier en entrée, et restaure l’imprimante une fois l’impression terminée. Son pilote ne dépend pas d’une unité. Il existe un programme de formatage par type (ou groupe de types) de données en entrée. Par exemple, il existe un programme de formatage spécifique des imprimantes Proprinters prises en charge. Imprimantes, travaux d’impression et files d’attente pour les administrateurs système 2-5 Le filtre de formatage comporte deux éléments : • un pilote, qui ne dépend pas d’une unité, • un programme de formatage, dépendant d’une unité. Le pilote est appelé par un pipeline et reçoit le nom d’un programme de formatage à piloter. Le pilote du programme de formatage se charge dynamiquement, établit la liaison avec le programme de formatage et appelle la fonction setup, laquelle indique s’il convient de formater les données ou de leur appliquer la fonction passe–système. Après exécution par setup des fonctions requises, elle revient au pilote du programme de formatage. Le pilote appelle la fonction initialize. La fonction initialize génère une chaîne de commandes imprimante pour initialiser l’imprimante, puis revient au pilote de formatage. Le pilote appelle soit la fonction passthru (une fois), soit la fonction lineout (une fois par ligne du fichier d’impression), selon le code renvoyé par setup. Si la fonction lineout est appelée, le pilote de formatage effectue tous les alignements verticaux (interlignes, tabulations verticales, sauts de page, marges inférieure et supérieure, etc.). Interlignage et tabulations verticales sont exécutés par la fonction lineout. Le traitement des autres fonctions concernant l’espacement est automatique. Le traitement terminé, le pilote de formatage appelle la fonction restore. La fonction restore génère une chaîne de commandes imprimante pour réinitialiser l’imprimante à son état par défaut, défini par les valeurs de l’attribut base de données. Pour en savoir plus sur les interactions entre le programme de formatage de l’impression et les sous-routines de formatage de l’imprimante, reportez-vous à ”Exemple de programme de formatage d’impression”, page 4-26. Terminologie Unité d’imprimante/ traceur Fichier spécifique figurant dans le répertoire /dev de l’unité. Ce fichier peut être utilisé par la fonction de réacheminement (par exemple, catnom_fichier > /dev/lp0). Pour modifier/affichier les paramètres du pilote d’unité, vous pouvez utiliser le raccourci Périphériques ou les commandes lsdev et chdev. Pour que les commandes de l’imprimante puissent accéder à une unité d’impression, une file d’impression doit être créée pour l’unité ou l’imprimante doit être condigurée dans le programme dorsal de l’imprimante dans /etc/qconfig. Imprimante virtuelle Association d’une file d’attente spécifique avec une unité de file d’attente donnée dans le fichier /etc/qconfig. Dans le répertoire /var/spool/lpd/pio/@local/ddi figure un fichier associé qui contient les données de formatage. Quand vous ajoutez une imprimante via SMIT, le système crée automatiquement la file d’attente de l’imprimante virtuelle, son unité d’impression et le fichier /var/spool/lpd/pio/@local/ddi. Pour créer vous-même une file d’attente et une unité d’impression pour une imprimante, et faire appel au programme dorsal piobe standard, utilisez le raccourci Périphériques. Si vous voulez installer la répartition de la charge, utilisez ‘to add a second queue device to an existing queue’. Vous pouvez aussi utiliser les commandes SMIT. File d’attente Ligne ou liste d’éléments figurant dans le fichier /etc/qconfig où le nom de la file pointe manuellement sur l’unité de file d’attente associée. En voici un exemple : lp0: device = lp0 Les files d’attente sont généralement créées via Web-based System Manager. 2-6 Imprimantes et impression Guide de l’utilisateur Unité de file d’attente Unité de file d’attente L’unité de file d’attente est représentée par une ligne ou une liste d’éléments dans le fichier /etc/qconfig, généralement à la suite de la file d’attente locale. Elle indique le fichier /dev (unité d’imprimante) où imprimer et le programme dorsal à utiliser. En voici un exemple : lp0: file = /dev/lp0 header = never trailer = never access = both backend = /usr/lib/lpd/piobe Plusieurs unités de file d’attente peuvent être associées à une seule file d’attente. L’ajout d’une imprimante via le raccourci Web-based System Manager wsm devices crée automatiquement une entrée pour une unité de file d’attente standard dans une file d’attente existante. Remarque : Si vous utilisez une imprimante distante, il n’y a pas d’entrée particulière dans le fichier /etc/qconfig. La file d’attente dirige le fichier vers le serveur. qdaemon qdaemon est un processus qui fonctionne en arrière-plan. Quand vous mettez le système sous tension, la commande startsrc lance qdaemon. startsrc est une commande du démon srcmstr qui est lancée depuis /etc/inittab. qdaemon garde trace des requêtes d’impression dans le répertoire /var/spool/lpd/qdir et veille à ce que les travaux soient dirigés sur l’imprimante adéquate et au moment opportun. Il garde aussi trace de l’état des imprimantes et enregistre les données concernant l’utilisation des imprimantes pour la comptabilité du système (pour les commandes lpstat et enq –A, par exemple). Ces données sont consignées dans le répertoire /var/spool/lpd/stat. Quand qdaemon est arrêté, il est relancé par le processus srcmstr. Remarque : N’interrompez pas srcmstr ; il contrôle d’autres démons actifs sur le système. Imprimantes, travaux d’impression et files d’attente pour les administrateurs système 2-7 Configuration initiale de l’imprimante Vous pouvez utiliser un processus pour configurer une imprimante et un autre pour ajouter une file d’attente d’impression. Plusieurs rubriques différentes décrivent ces tâches. La méthode dépend de la connexion entre l’imprimante et le système. Vous pouvez configurer une imprimante sans ajouter de file d’impression. Ces tâches sont décrites dans les rubriques ci-après : • Modifier le fichier de configuration, page 2-8 • Configurer une imprimante locale et ajouter une file d’attente, page 2-8 • Configurer une imprimante distance et ajouter une file d’attente, page 2-9 • Configurer une imprimante de station X et ajouter une file d’attente, page 2-9 • Configurer une imprimante de réseau et ajouter une file d’attente, page 2-10 • Configurer une file d’attente d’impression pour un fichier dans /dev, page 2-11 • Configuration d’une imprimante sans ajouter de file d’attente, page 2-12 Après la configuration d’une file d’attente d’impression, vous pouvez entamer les procédures ”Placer un travail d’impression en file d’attente” et ”Supprimer une file d’impression”. Modifier le fichier de configuration Quand elles sont lancées, les commandes enq et qdaemon lisent toutes deux le fichier /etc/qconfig. La commande qdaemon est lancée au démarrage du système ; la commande enq est lancée à chaque requête d’impression. Par conséquent, si vous modifiez le fichier /etc/qconfig, la commande enq lira la nouvelle version du fichier de configuration la prochaîne fois qu’elle sera lancée. Ne modifiez pas le fichier /etc/qconfig quand des travaux encore actifs sont en file d’attente. Modifier la configuration suppose les modifications manuelles et l’exécution de la commande mkque, rmque, chque, mkquedev, rmquedev ou chquedev. Pour toute modification du fichier /etc/qconfig, il est recommandé d’utiliser ces commandes. Si vous souhaitiez toutefois faire des modifications manuelles, exécutez d’abord la commande enq –G pour arrêter le système de mise en file d’attente et la commande qdaemon une fois tous les travaux présents. Faites ensuite vos modifications dans /etc/qconfig et relancez qdaemon avec la nouvelle configuration. Configurer une imprimante locale et ajouter une file d’attente Remarque : Si vous souhaitez configurer une imprimante sans ajouter de file d’impression, reportez-vous à ”Configuration d’une imprimante sans ajouter de file d’attente”, page 2-12. Prérequis • Consultez la documentation fournie avec votre imprimante. Vous aurez en effet besoin d’informations spécifiques pour connecter et configurer l’imprimante. • Révisez la configuration de votre système. Déterminez sur quel port parallèle ou série vous souhaitez connecter l’imprimante. • Vous devez être utilisateur racine. Procédure 1. Connectez l’imprimante directement au port série ou parallèle sur l’hôte local : a. A l’invite du système, entrez shutdown pour arrêter le système. b. Mettez le système et les unités externes hors tension. 2-8 Imprimantes et impression Guide de l’utilisateur c. Connectez l’imprimante au port série ou parallèle approprié. d. Définissez votre imprimante comme décrit dans sa documentation. e. Relancez le système. 2. A l’invite système, entrez : wsm printers Via les menus de Web-based System Manager Files d’attente d’impression, complétez chaque étape de configuration d’une unité d’impression et d’une ou plusieurs files d’attente d’impression. Vous pouvez aussi procéder via SMIT avec le raccourci smit mkpq. Remarque : Si l’imprimante admet différents types de données d’impression, tels que PostScript et ASCII, entrez un nom de file d’attente par type de données. Remarque : Avant de choisir une interface 7 bits, reportez-vous à ”Remarques sur une imprimante 8 bits raccordée à une interface 7 bits”, page 5-7. 3. Une fois créées l’imprimante et les files d’attente d’impression, leurs noms s’affichent. Notez bien tout message d’erreur éventuel avant de quitter. 4. Entrez wsm printers. Via les menus Files d’attente d’impression, vous pouvez personnaliser toute nouvelle file d’attente d’impression. Vous pouvez aussi procéder via SMIT avec le raccourci smit chpq. Configurer une imprimante distante et ajouter une file d’attente Prérequis L’hôte distant doit être configuré comme serveur d’impression. Procédure 1. A l’invite système, entrez : wsm printers Via les menus de Web-based System Manager Files d’attente d’impression, complétez chaque étape de configuration d’une file d’attente dédiée à une imprimante reliée à un hôte distant. Vous pouvez aussi procéder via SMIT avec le raccourci smit mkpq. 2. Une fois créées les files d’attente d’impression, leurs noms s’affichent. Notez bien tout message d’erreur éventuel avant de quitter. 3. Entrez wsm printers. Via les menus Files d’attente d’impression, vous pouvez personnaliser toute nouvelle file d’attente d’impression. Vous pouvez aussi procéder via SMIT avec le raccourci smit chpq. Configurer une imprimante de station X et ajouter une file d’attente Vous pouvez relier plusieurs imprimantes et traceurs aux ports série des stations X 130, 140 ou 150, une imprimante ou un traceur au port série des stations X 120. Vous pouvez également relier des imprimantes à un port parallèle. Les files d’attente d’impression définies sur des hôtes peuvent accéder à l’imprimante via la même connexion de réseau que celle utilisée par un environnement Xwindow. Pour configurer une imprimante, assurez-vous que les conditions prérequises sont remplies, puis créez une file d’imprimante ou de traceur gérée par le spouleur de la station X. Une fois la file d’attente ajoutée, vous pouvez lui soumettre des travaux à imprimer ou à tracer via la commande qprt, lp, lpr ou enq. Imprimantes, travaux d’impression et files d’attente pour les administrateurs système 2-9 Prérequis Pour configurer une file d’attente d’impression, les conditions préalables suivantes doivent être remplies : • Vous devez être utilisateur racine pour ajouter une file d’impression. • L’imprimante doit être connectée à une station X. • Vous aurez vraisemblement à configurer l’imprimante. Pour ce faire, consultez sa documentation. • Avant de commencer, vous devez savoir comment connecter l’imprimante à un port parallèle ou série de la station X. La station X 120 est dotée d’un port série et d’un port parallèle. Sur la station X 130, le câble de sortance en option pour port série fournit un port série supplémentaire, et la carte A IBM PS/2 Dual Async, deux ports série supplémentaires. De même, sur les stations X 140 et 150, le câble de sortance en option pour port série fournit un port série supplémentaire. Procédure 1. A l’invite système, entrez : wsm printers Via les menus de Web-based System Manager Files d’attente d’impression, complétez chaque étape étape pour ajouter une file d’attente dédiée à une imprimante connectée à une station X. Vous pouvez aussi procéder via SMIT avec le raccourci smit mkpq. Remarque : Lorsque plusieurs langages sont pris en charge par une imprimante (PostScript et PCL, par exemple), ceux-ci sont listés. Entrez un nom de file d’attente par langage. Si vous n’indiquez pas de nom de file d’attente pour un langage donné, aucune file ne sera ajoutée pour ce langage. 2. Une fois créées les files d’attente d’impression, leurs noms s’affichent. Notez bien tout message d’erreur éventuel avant de quitter. 3. Entrez wsm printers. Via les menus Files d’attente d’impression, vous pouvez personnaliser toute nouvelle file d’attente d’impression. Vous pouvez aussi procéder via SMIT avec le raccourci smit chpq. Configurer une imprimante de réseau et ajouter une file d’attente Prérequis • Consultez la documentation fournie avec votre imprimante. Vous aurez en effet besoin d’informations spécifiques pour connecter et configurer l’imprimante. • Consultez la documentation de la carte Hewlett–Packard JetDirect. • Vous devez être utilisateur racine. Procédure 1. A l’invite système, entrez : wsm printers Via les menus de Web-based System Manager Files d’attente d’impression, complétez chaque étape de configuration d’une imprimante reliée au réseau avec une carte Hewlett–Packard JetDirect et d’ajout d’une file d’attente. Vous pouvez aussi procéder via SMIT avec le raccourci smit mkpq. 2. Une fois créées les files d’attente d’impression, leurs noms s’affichent. Notez bien tout message d’erreur éventuel avant de quitter. 3. Entrez wsm printers. Via les menus Files d’attente d’impression, vous pouvez personnaliser toute nouvelle file d’attente d’impression. Vous pouvez aussi procéder via SMIT avec le raccourci smit chpq. 2-10 Imprimantes et impression Guide de l’utilisateur Configurer une file d’attente d’impression pour un fichier dans /dev Prérequis • Consultez la documentation fournie avec votre imprimante. Vous aurez en effet besoin d’informations spécifiques pour connecter et configurer l’imprimante. • Révisez la configuration de votre système. • Vous devez être utilisateur racine. Procédure 1. A l’invite système, entrez : wsm printers Via les menus de Web-based System Manager Files d’attente d’impression, complétez chaque étape de configuration d’une file d’attente d’impression pour un fichier figurant dans le répertoire /dev, et d’ajout d’une file d’attente. Vous pouvez aussi procéder via SMIT avec le raccourci smit mkpq. Remarque : Si l’imprimante admet différents types de données d’impression, tels que PostScript et ASCII, entrez un nom de file d’attente par type de données. 2. Une fois créées les files d’attente d’impression, leurs noms s’affichent. Notez bien tout message d’erreur éventuel avant de quitter. 3. Entrez wsm printers. Via les menus Files d’attente d’impression, vous pouvez personnaliser toute nouvelle file d’attente d’impression. Pour utiliser le raccourci SMIT, entrez smit chpq. Configurer un port d’imprimante La procédure suivante décrit la configuration d’une imprimante reliée à l’hôte local, sans ajouter de file d’attente d’impression. Utilisez cette procédure si vous souhaitez ajouter une imprimante ou un traceur, mais ne voulez pas que les travaux d’impression soient gérés par un spouleur. Remarque : Si vous désirez aussi ajouter des files d’attente d’impression quand vous configurez votre imprimante, reportez vous à ”Configuration initiale de l’imprimante”, page 2-8. Prérequis Pour configurer un port d’imprimante, l’imprimante ou le traceur doit être relié physiquement à votre système. Procédure 1. A l’invite système, entrez : wsm printers Via les menus de Web-based System Manager Files d’attente d’impression, complétez chaque étape de configuration d’une imprimante reliée à l’hôte local. Vous pouvez aussi procéder via SMIT avec le raccourci smit pdp. 2. Le système affiche le nom d’unité de l’imprimante. Imprimantes, travaux d’impression et files d’attente pour les administrateurs système 2-11 Configuration d’une imprimante sans ajout de file d’attente Utilisez la procédure suivante si vous souhaitez ajouter une imprimante ou un traceur, mais ne voulez pas que les travaux d’impression soient gérés par un spouleur. Remarque : Si vous désirez aussi ajouter des files d’attente d’impression quand vous configurez votre imprimante, reportez vous à ”Configuration initiale de l’imprimante”, page 2-8. Prérequis Pour configurer un port d’imprimante, l’imprimante ou le traceur doit être relié physiquement à votre système. Commande smit 1. A l’invite système, entrez : smit pdp 2. Sélectionnez Add a Printer/Plotter. 3. Répondez aux différentes questions. Commande qprt La procédure qui suit décrit comment mettre un travail d’impression en file d’attente via la commande qprt, enq, lp ou lpr. La syntaxe est identique pour les trois commandes de mise en file d’attente, excepté que l’indicateur –d doit être spécifié (à la place de –P) avec la commande lp : Command –Pnom_file nom_fichier où : nom_file désigne la file d’attente d’impression, nom_fichier désigne le fichier à imprimer. L’exemple suivant illustre l’emploi de la commande qprt : qprt –Pfastest monfichier Pour connaître les autres indicateurs disponibles, reportez-vous à chaque commande de mise en file d’attente. 2-12 Imprimantes et impression Guide de l’utilisateur Autres opérations de mise en file d’attente Le lancement du système implique plusieurs tâches : • Ajout d’une unité de file d’attente d’impression, page 2-14 • Ajout de la carte de connexion traceur 5080, page 2-15 • Création d’un fichier de configuration pour traceur, page 2-16 • Ajout d’une imprimante locale à une file d’impression existante, page 2-17 • Ajout d’une imprimante de station X à une file d’impression existante, page 2-18 • Ajout d’une imprimante de terminal ASCII à une file d’impression existante, page 2-19 • Ajout d’une imprimante HP JetDirect à une file d’impression existante, page 2-20 • Ajout d’un fichier à une file d’impression existante, page 2-21 Imprimantes, travaux d’impression et files d’attente pour les administrateurs système 2-13 Ajout d’une unité de file d’attente d’impression Prérequis Vous devez être utilisateur racine. Procédure 1. A l’invite, entrez : wsm printers 2. Via les menus de Web-based System Manager Files d’attente d’impression, sélectionnez ou entrez les valeurs des attributs requis, tels que le nom de l’unité, la file d’impression associée et le chemin d’accès au programme dorsal de l’imprimante. 3. Répondez aux différentes questions. Vous pouvez aussi utiliser les commandes suivantes : smit mkquedev ou mkquedev –d nom_file –q nom_file –a Attribute = Value Pour une configuration complète de l’unité de file d’impression, vous aurez à utiliser l’indicateur –a à plusieurs reprises. 2-14 Imprimantes et impression Guide de l’utilisateur Ajout de la carte de connexion traceur 5080 Prérequis • Le traceur doit être connecté physiquement au système. • L’unité de traceur doit être déjà ajoutée. Procédure Le programme dorsal de traceur pour la carte de connexion 5080 est accessible via la commande enq une fois cette procédure d’identification des traceurs appliquée. 1. A l’invite, entrez : smit pq_mklque 2. A l’invite NAME of Queue to Add, entrez : plta pour définir le port série a. 3. A l’invite NAME of Device to Add, entrez : plota pour définir le port série a: 4. En réponse à BACKEND PROGRAM Pathname, entrez : /usr/lib/lpd/plotgbe –gswa 9600 5. A l’invite NAME of Queue to Add, entrez ce qui suit pour définir le port série b : pltb 6. A l’invite NAME of Queue to Add, entrez : pltb pour définir le port série b. 7. En réponse à BACKEND PROGRAM Pathname, entrez : /usr/lib/lpd/plotgbe –gswa 9600 8. Connectez le traceur au port a ou b. Vous pouvez aussi procéder via les commandes mkque et mkquedev. En outre, pour ajouter la prise en charge des traceurs, d’autres indicateurs sont requis. Imprimantes, travaux d’impression et files d’attente pour les administrateurs système 2-15 Création d’un fichier de configuration pour traceur Pour transmettre les fichiers de traceur au traceur, un fichier spécifique est nécessaire qui renferme les instructions concernant le type de protocole de régulation utilisé pour la transmission. Instructions relatives aux protocoles Xon/Xoff Pacing et DTR (Data Transmit Rate) Pacing : Xon/Xoff Pacing DTR Pacing ESC.R: ESC.R: ESC.M2: ESC.M2: ESC.N2: ESC.N2: ESC.P1: ESC.P3: N’entrez aucun espace dans les lignes. La valeur ASCII de ESC est 27. Le point (caractère .) fait partie de la commande. 2-16 Imprimantes et impression Guide de l’utilisateur Ajout d’une imprimante locale à une file d’impression existante Prérequis Pour déplacer un travail d’impression dans une autre file, vous devez être : • utilisateur racine, • ou membre du groupe printq. Procédure 1. A l’invite, entrez : wsm printers 2. Via les menus de Web-based System Manager Files d’attente d’impression, sélectionnez le type de connexion local, le fabricant et le modèle de l’imprimante. 3. Répondez aux différentes questions. Vous pouvez aussi procéder via SMIT avec le raccourci smit mkpqprt. Imprimantes, travaux d’impression et files d’attente pour les administrateurs système 2-17 Ajout d’une imprimante de station X à une file d’impression existante Prérequis Pour déplacer un travail d’impression dans une autre file, vous devez être : • utilisateur racine, • ou membre du groupe printq. Procédure 1. A l’invite, entrez : wsm printers 2. Via les menus de Web-based System Manager Files d’attente d’impression, sélectionnez le type de connexion xstation, le fabricant et le modèle de l’imprimante. 3. Répondez aux différentes questions. Vous pouvez aussi procéder via SMIT avec le raccourci smit mkpqprt. 2-18 Imprimantes et impression Guide de l’utilisateur Ajout d’une imprimante de terminal ASCII à une file d’impression existante Prérequis Pour déplacer un travail d’impression dans une autre file, vous devez être : • utilisateur racine, • ou membre du groupe printq. Procédure 1. A l’invite, entrez : smit mkpqprt 2. Sélectionnez le type de connexion ascii, le fabricant, le modèle de l’imprimante et le nom du terminal tty. 3. Répondez aux différentes questions. Imprimantes, travaux d’impression et files d’attente pour les administrateurs système 2-19 Ajout d’une imprimante HP JetDirect à une file d’impression existante Prérequis Pour déplacer un travail d’impression dans une autre file, vous devez être : • utilisateur racine, • ou membre du groupe printq. Procédure 1. A l’invite, entrez : wsm printers 2. Via les menus de Web-based System Manager Files d’attente d’impression, sélectionnez le type de connexion hpJetDirect, le fabricant et le modèle de l’imprimante. 3. Répondez aux différentes questions. Vous pouvez aussi procéder via SMIT avec le raccourci smit mkpqprt. 2-20 Imprimantes et impression Guide de l’utilisateur Ajout d’un fichier à une file d’impression existante Prérequis Pour déplacer un travail d’impression dans une autre file, vous devez être : • utilisateur racine, • ou membre du groupe printq. Procédure 1. A l’invite, entrez : smit mkpqprt 2. Sélectionnez le type du fichier, le fabricant et le modèle. 3. Désignez le fichier existant dans le répertoire /dev (‘Name of existing FILE’). Ce fichier est dédié au stockage de la sortie du travail d’impression. Il doit avoir déjà été créé et placé dans le répertoire /dev. 4. Répondez aux différentes questions. Imprimantes, travaux d’impression et files d’attente pour les administrateurs système 2-21 Configuration d’imprimantes non prises en charge Une imprimante non prise en charge est une unité qui n’est pas fournie avec le système d’exploitation. Options de configuration Pour configurer et piloter une imprimante non prise en charge par le système, choisissez une des méthodes suivantes : • Configurez-la comme une imprimante prise en charge si elle utilise la même interface matérielle (série ou parallèle) et que ses fonctions sont très proches d’une unité prise en charge. • Configurez-la comme une imprimante prise en charge s’il n’existe pas d’imprimante similaire qui soit prise en charge. Adaptez les caractéristiques de l’imprimante virtuelle à celles de votre imprimante. • Si vous n’êtes pas sûr que votre imprimante émule une unité prise en charge, sélectionnez le type d’imprimante générique et le type d’interface adéquat. Le système d’exploitation propose deux unités génériques : autre imprimante parallèle (opp) et autre imprimante série (osp). Spécifiez l’une ou l’autre en sélectionnant le type d’interface (parallel rs232, par exemple) et adaptez les caractéristiques aux spécifications indiquées dans la documentation de l’imprimante. • Configurez le pilote de votre imprimante et la file d’impression, mais définissez le sous-système d’impression pour qu’il transmette les requêtes d’impression à l’imprimante de façon transparente. Avec cette configuration, l’assemblage du flot de données d’impression sera fait correctement par l’application. Le sous-système de spoulage se charge de partager l’imprimante entre les différents utilisateurs, mais le système de l’imprimante virtuelle ne formate pas le flot des données d’impression. • Si votre unité de sortie requiert un formatage particulier (un traceur électrostatique exigeant en entrée des données infographiques par quadrillage, par exemple), remplacez-le programme de formatage ou le programme dorsal de l’imprimante. Personnaliser les imprimantes virtuelles non prises en charge Vous devez définir une imprimante virtuelle qui accepte les fonctions de l’imprimante non prise en charge et le sous-système de spoulage. 1. Identifiez le flot de données d’impression le plus adapté à l’imprimante. Le système d’exploitation accepte, via des imprimantes virtuelles prédéfinies, les flots de données suivants : asc ASCII étendu pcl Hewlett–Packard LaserJet gl traceur ps PostScript 630 Diablo 630 855 imprimante matricielle Texas Instruments 855 en mode dp 2. Choisissez ensuite soit une imprimante prise en charge utilisant le même flot de données, soit une imprimante générique, puis adaptez la définition sélectionnée. 2-22 Imprimantes et impression Guide de l’utilisateur Signalisation des imprimantes non prises en charge Vous devrez probablement adapter l’imprimante de sorte qu’elle soit opérationnelle avec le pilote d’imprimante série AIX : 1. Voici la signification des différents signaux RS–232 pour le pilote : Signal RS–232 Utilisation du pilote d’imprimante série FG Frame ground. Généralement utilisé comme blindage. TxD ––> Utilisé pour la transmission des données à l’imprimante. RxD <–– Utilisé pour la réception des données de l’imprimante. RTS <–– Maintenu à un niveau élevé après l’ouverture du port de l’imprimante. Donne l’état de l’hôte à l’imprimante. Non utilisé pour la transmission des données. CTS <–– Obligatoirement élevé pour permettre l’ouverture du port. Détermine si l’imprimante est active. DSR Non utilisé. Généralement associé à DCD. SG Tension de référence pour les signaux. DCD <–– Sert à la transmission des données quand DTR a la valeur yes. DTR Maintenu à un niveau élevé après l’ouverture du port de l’imprimante. Donne l’état de l’hôte à l’imprimante. ––> 2. Si vous utilisez le signal FG comme blindage de câble, assurez-vous qu’il est connecté à une seule extrémité. Utilisez indifféremment l’une ou l’autre extrémité. Ce signal est un antiparasite efficace. 3. Si votre signal RTS indique la tension à CTS sur le port de l’imprimante, contrôlez la réaction de l’imprimante avec son propre RTS. La transmission de données RTS et CTS n’est pas prise en charge sur les imprimantes série, mais le pilote bloque toutefois l’ouverture du port de l’imprimante jusqu’à ce que la tension de CTS arrive à un niveau élevé. Le signal CTS est généralement fourni par le signal RTS depuis l’imprimante. Certaines imprimantes utilisent cependant le signal RTS pour la transmission des données. Elles libèrent ce signal pour que le système arrête la transmission des données. Le système de mise en file d’attente ayant constamment besoin que le port soit ouvert pour contrôler l’état, quand l’imprimante libère le signal RTS, le port se ferme et la file s’arrête. 4. Certaines imprimantes exigent une tension plus élevée pour DCD et DSR ou CTS côté imprimante. Pour ce faire, vous avez le choix entre deux méthodes : – Utilisez le signal DTR ou RTS côté ordinateur pour indiquer la tension. OU – Obtenez-la côté imprimante. Imprimantes, travaux d’impression et files d’attente pour les administrateurs système 2-23 Impression via une imprimante reliée à un terminal Nombre de terminaux ASCII asynchrones ont un port auxiliaire (AUX) auquel vous pouvez connecter une imprimante. L’impression via un terminal est prise en charge pour les terminaux directement reliés à une machine hôte ou connectés à distance via un modem. Cette section décrit la configuration, la maintenance et la résolution des incidents des imprimantes reliées à des terminaux ; en outre, les thèmes suivants sont traités : • Matériel pris en charge • Installer une imprimante reliée à un terminal • Base Terminfo • Commandes du programme dorsal de l’imprimante Matériel pris en charge Le matériel suivant est pris en charge : • Câbles – RS–232 – RS–422 • Terminaux – IBM 3151, 3161, 3162, 3163 et 3164 – DEC VT100, VT220, VT320 et VT330 – WYSE 30, 50, 60 et 350 • Imprimantes – IBM 2380 Personal Printer II – IBM 2381 Personal Printer II – IBM 2390 Personal Printer II – IBM 2391 Personal Printer II – IBM 2380 Personal Printer II (modèle 2) – IBM 2381 Personal Printer II (modèle 2) – IBM 2390 Personal Printer II (modèle 2) – IBM 2391 Personal Printer II (modèle 2) – IBM 3112 Page Printer – IBM 3116 Page Printer – IBM 3130 LaserPrinter – IBM 4019 LaserPrinter – IBM 4029 LaserPrinter – IBM 4037 LaserPrinter – IBM 4039 LaserPrinter – IBM 4076 InkJet Printer – IBM 4201 modèle 3 Proprinter III – IBM 4202 modèle 3 Proprinter III XL – IBM 4207 modèle 2 Proprinter X24E 2-24 Imprimantes et impression Guide de l’utilisateur – IBM 4208 modèle 2 Proprinter XL24E – IBM 4247 Printer – IBM 5204 Quickwriter – IBM 6400 Printer – IBM InfoPrint 40 Printer – IBM Network Color Printer – IBM Network Printer 12 – IBM Network Printer 17 – IBM Network Printer 24 – Hewlett–Packard 2500C Color Printer – Hewlett–Packard LaserJet II – Hewlett–Packard LaserJet III – Hewlett–Packard LaserJet IIISi – Hewlett–Packard LaserJet 4 – Hewlett Packard LaserJet 4Si – Hewlett Packard LaserJet 4 Plus – Hewlett Packard LaserJet 4V – Hewlett–Packard LaserJet 5000 D640 Printer – Hewlett Packard LaserJet 5Si/5Si MX – Hewlett Packard LaserJet 5Si Mopier – Hewlett–Packard LaserJet 8100 Printer – Hewlett Packard LaserJet Color – Hewlett–Packard Color LaserJet 4500 – Lexmark Optra LaserPrinter – Lexmark Optra E310 Laser Printer – Lexmark Optra M410 Laser Printer – Lexmark Optra Se Laser Printer – Lexmark Optra T Laser Printer Family – Lexmark Optra W810 Laser Printer – Lexmark Optra Plus LaserPrinter – Lexmark Optra C Color LaserPrinter – Lexmark Optra E LaserPrinter – Lexmark Optra N LaserPrinter – Lexmark ExecJet IIc – Lexmark ValueWriter 600 – Lexmark 2380 Plus Printer (modèle 3) – Lexmark 2381 Plus Printer (modèle 3) – Lexmark 2390 Plus Printer (modèle 3) – Lexmark 2391 Plus Printer (modèle 3) Imprimantes, travaux d’impression et files d’attente pour les administrateurs système 2-25 – Lexmark 4039 Plus LaserPrinter – Lexmark 4079 Color JetPrinter Plus – Lexmark 4227 Forms Printer • Cartes de communication asynchrones – Contrôleur de port série natif – Contrôleur 8 ports – Contrôleur 16 ports – Contrôleur 64 ports – Contrôleur 128 ports – Contrôleur tiers Remarque : Les contrôleurs tiers asynchrones sont également pris en charge. Si AIX détecte qu’un terminal ASCII a été configuré avec un contrôleur tiers, l’imprimante reliée à un terminal est configurée comme si elle était connectée à un contrôleur de port natif. Pour en savoir plus, reportez-vous à ”Contrôleurs natifs, 8 ports, 16 ports et tiers”, page 2-29. Installer une imprimante reliée à un terminal Pour installer une nouvelle imprimante reliée à un terminal et la configurer dans le sous-système de spoulage, vous devez : • Installer le terminal ASCII physique (unité tty) et le connecter au système. • Configurer un pilote d’unité tty pour le terminal ASCII. • Connecter l’imprimante série au port AUX ou PRINT du terminal ASCII. • Configurer une imprimante virtuelle et une file d’impression. Installer le terminal ASCII physique 1. Révisez tous les renseignements utiles quant à la planification de l’installation, ainsi que la documentation du terminal afin de disposer de tous les éléments nécessaires à l’installation. 2. Révisez la configuration de votre système et sélectionnez le port série. 3. Veillez à ce que le port de communication soit libre. 4. Connectez le terminal au port série approprié. Veillez à utiliser des câbles adéquats. Pour les instructions de câblage, consultez votre documentation. 5. Configurez le terminal en vous conformant à sa documentation. Notez les paramètres que vous définissez pour le débit (bauds), les bits d’arrêt, les bits par caractère et le contrôle de flux. Ces renseignements vous serviront à configurer le pilote AIX d’unité tty. 2-26 Imprimantes et impression Guide de l’utilisateur Configurer le pilote d’unité tty 1. Connectez-vous en tant qu’utilisateur racine. 2. A l’invite système, entrez : Périphériques Via les menus de Web-based System Manager Périphériques, complétez chaque étape de configuration du pilote. 3. Sélectionnez Add a TTY puis le type du terminal tty. 4. Complétez les renseignements demandés, tels que les paramètres de configuration définis lors de l’installation du terminal. Si vous hésitez sur les ID de port, appuyez sur F4 pour en afficher la liste. Veillez à indiquer un type de TERMINAL valide. Appuyez sur Entrée. Vous pouvez aussi effectuer cette procédure via SMIT avec le raccourci smit tty. Vérifier la sortie du terminal Pour vérifier que le terminal est opérationnel entrez ce qui suit et envoyez la sortie directement sur l’écran du terminal : cat /etc/qconfig > /dev/ttynn où nn est le numéro de l’unité tty. Le contenu du fichier /etc/qconfig doit s’afficher sur l’écran du terminal. Imprimantes, travaux d’impression et files d’attente pour les administrateurs système 2-27 Installer l’imprimante physique 1. Révisez tous les renseignements utiles quant à la planification de l’installation, ainsi que la documentation de l’imprimante afin de disposer de tous les éléments nécessaires à l’installation. 2. Pour les informations concernant la connexion des imprimantes au port auxiliaire, consultez la documentation du terminal. 3. Vérifiez la configuration du port AUX sur le terminal : les paramètres doivent être identiques à ceux de l’imprimante, pour ce qui est du débit (bauds), de la parité, des bits de données, des bits d’arrêt et de XON/XOFF. – Pour ce faire, consultez au besoin la documentation du terminal. – Pour la configuration de l’interface série de l’imprimante, consultez la documentation de l’imprimante. 4. Connectez l’imprimante au port AUX du terminal. Veillez à utiliser les câbles adéquats. Pour les instructions de câblage, consultez votre documentation. Configurer une imprimante virtuelle et une file d’impression. Pour configurer l’imprimante dans le sous-système de spoulage : 1. A l’invite système, entrez : Périphériques Via les menus de Web-based System Manager Périphériques, complétez chaque étape de configuration d’une imprimante virtuelle et d’une file d’impression. 2. Sélectionnez le type de connexion ascii, le fabricant et le modèle de l’imprimante. 3. Répondez aux différentes questions. Vous pouvez aussi utiliser la commande /usr/lib/lpd/pio/etc/piomkpq ou le raccourci SMIT smit mkpq. Connexions de modem Pour prendre en charge l’impression via un terminal, vous pouvez aussi établir une file d’attente pour une ligne de modem au lieu de créer la file pour un terminal spécifique. Le type des terminaux ‘dial–in’ n’étant pas garanti, définissez la variable d’environnement PIOTERM pour ce type de terminal comme suit : export PIOTERM=Dialin–Terminal–Type 2-28 Imprimantes et impression Guide de l’utilisateur Séquences de commandes Base Terminfo La base Terminfo renferme les fonctions et caractéristiques spécifiques d’un terminal : la position du curseur, les séquences d’initialisation, les séquences de touches contrôlant des opérations particulières, etc. Pour les terminaux pris en charge, les valeurs des séquences de commandes sont prédéfinies dans la base Terminfo. Les séquences de commandes d’accès au port AUX sont les suivantes : mc5=Value Demande au terminal d’envoyer toutes les données au port AUX (imprimante sous tension) mc4=Value Restaure la sortie sur le terminal (imprimante hors tension) Les séquences ont des valeurs spécifiques du terminal. Par exemple, pour un terminal IBM 3151, les séquences de commandes sont les suivantes : mc5=^P^R mc4=^P^T Dans cette exemple, ^P^R désigne la séquences des touches Ctrl–P Ctrl–R. Ajouter la prise en charge des terminaux non pris en charge Les séquences de commandes doivent être ajoutées dans la base Terminfo, située dans le répertoire /usr/share/lib/terminfo. Pour ajouter les valeurs des séquences de commandes concernant votre terminal, modifiez le fichier *.ti approprié. Compilez-le ensuite avec la commande tic. Pour en savoir plus sur les séquences de commandes, reportez-vous à la documentation de votre terminal. La base des imprimantes virtuelles contient un ensemble de fichiers qui décrivent le mode de traitement des requêtes d’impression, notamment le flot des données à adresser à l’imprimante. Les attributs personnalisables spécifiques des imprimantes reliées à des terminaux sont définis dans le base des imprimantes virtuelles, en fonction de la carte de communication asynchrone utilisée. Les attributs d’imprimante virtuelle sont définis lors de la configuration de l’imprimante virtuelle. La convention d’appellation des attributs exclusivement spécifiques des imprimantes reliées à des terminaux est yN (N = entier supérieur ou égal à 0). La valeur y0 est réservée. Elle signifie que la file d’attente de l’imprimante virtuelle est configurée pour une imprimante reliée à un terminal et renferme les règles relatives à la ligne matérielle pour le port du terminal. Les sections suivantes décrivent les attributs d’imprimante virtuelle spécifique de la carte pour imprimante reliée à un terminal. Pour modifier la valeur des attributs d’une imprimante virtuelle existante, utilisez le raccourci Web-based System Manager Périphériques. Vous pouvez aussi procéder via SMIT avec le raccourci smit ps_lsvirprt. Contrôleurs natifs, 8 ports, 16 ports et tiers Les contrôleurs natifs (S1 ou S2), 8 et 16 ports n’offrent pas de support matériel aux imprimantes reliées à des terminaux ; quant au support matériel des contrôleurs tiers, il n’est pas connu. C’est pourquoi, les fichiers d’impression doivent être divisés en blocs de données de petite taille. Chaque bloc de données est précédé de la séquence mc5 et suivi de la séquence mc4. Lorsque le terminal reçoit mc5, les données qui suivent cette séquence sont transmises au port AUX jusqu’à la réception de mc4. Les blocs de données adressés au terminal doivent avoir une taille relativement petite. L’envoi au terminal tty d’un trop grand nombre de caractères à la fois peut provoquer, au niveau de la sortie sur l’imprimante, une confusion avec l’écho des données entrées lors de l’envoi. Pour minimiser les erreurs au niveau de la réception des données, un délai entre chaque transmission de bloc doit être établi. Imprimantes, travaux d’impression et files d’attente pour les administrateurs système 2-29 Pour définir la taille de bloc et le délai, les contrôleurs natifs, 8 ports, 16 ports et tiers disposent des attributs suivants : y1 Nombre maximal de caractères dans un bloc de données. y2 Délai en microsecondes entre la transmission des blocs. Contrôleur 64 ports Le contrôleur 64 ports fournit la prise en charge matérielle des imprimantes reliées à des terminaux. Il dispose de l’attribut suivant : y1 Définit la priorité donnée à l’impression par rapport à l’activité du terminal. Plus sa valeur est élevée, plus la priorité est grande. Contrôleur 128 ports Le contrôleur 128 ports fournit aussi la prise en charge matérielle des imprimantes reliées à des terminaux. Ses attributs sont les suivants : y1 Débit en caractères par seconde (CPS) de transmission des données à l’unité d’impression. Il doit être légèrement inférieur à la vitesse d’impression moyenne de l’imprimante. Pour connaître la vitesse d’impression, consultez la documentation de votre imprimante. y2 Nombre maximal de caractères d’impression placés en file de sortie par l’unité d’impression. Réduire ce nombre augmente le temps système. L’augmenter retarde l’écho de frappe des touches par l’opérateur si l’imprimante reliée à un terminal est occupée. y3 Taille du tampon d’entrée de l’imprimante reliée à un terminal, évaluée par le pilote d’unité. Après une période d’inactivité, le pilote envoie en rafale à l’imprimante le nombre de caractères indiqué. Pour la taille du tampon d’entrée, consultez la documentation de l’imprimante. Commandes du programme dorsal de l’imprimante La commande piobe est lancée normalement par le sous–système de spoulage d’impression lors de l’impression sur une imprimante locale. Elle est lancée via le processus qdaemon. Pour déterminer le flot de données à créer, cette commande lit l’indicateur ou interroge la base des imprimantes virtuelles. Ensuite, pour générer le flot de données adéquat, piobe passe le fichier d’impression dans un pipeline de filtres. Après ce traitement, le fichier filtré passe au programme d’interface du pilote pioout. La commande pioout est appelée dans un pipeline par la commande piobe. Pour les imprimantes connectées localement, pioout envoie le fichier d’impression au pilote de l’unité appropriée (par exemple, /dev/lp1). Cependant, pour les imprimantes reliées à des terminaux, les fichiers d’impression sont adressés à l’imprimante via le pilote de l’unité tty (par exemple, /dev/tty0), après avoir été modifié par les données collectées dans Terminfo et dans la base des imprimantes virtuelles. Terminfo est interrogée pour les attributs mc5 et mc4. La base des imprimantes virtuelles est interrogée pour les attributs spécifiques des contrôleurs asynchrones. 2-30 Imprimantes et impression Guide de l’utilisateur Limitations relatives à l’impression via un terminal 1. Les données ASCII sont les seules données traitées. Les données binaires sont susceptibles de verrouiller le terminal ou d’arrêter prématurément l’impression. 2. Les messages d’état de l’imprimante, signalant par exemple l’absence de papier ou l’imprimante hors ligne, ne sont pas pris en charge. Imprimantes, travaux d’impression et files d’attente pour les administrateurs système 2-31 Configuration d’une imprimante pour un terminal ASCII Prérequis • Une imprimante série doit être connectée au port AUX ou PRINT du terminal ASCII. Pour le câblage, reportez-vous à la documentation du terminal. • L’unité tty doit être définie pour le terminal ASCII. Pour en savoir plus, reportez-vous à ”Ajout ou modification d’une unité TTY depuis la ligne de commande” dans AIX 4.3 Guide d’administration : communications et réseaux. • L’imprimante doit être en ligne. • Vérifiez que les paramètres du port AUX sur le terminal et ceux de l’imprimante sont identiques. Pour ce faire, consultez au besoin la documentation du terminal. Pour la configuration de l’interface série de l’imprimante, consultez la documentation de l’imprimante. • Vous devez être utilisateur racine. Procédure 1. A l’invite système, entrez : smit mkpq 2. Sélectionnez le type de connexion ascii, le fabricant et le modèle de l’imprimante. 3. Répondez aux différentes questions. Vous pouvez aussi exécuter cette procédure via la commande /usr/lib/lpd/pio/etc/piomkpq. 2-32 Imprimantes et impression Guide de l’utilisateur Affichage de la liste des files d’impression et des unités de files d’impression Les procédures décrites s’appliquent aux files et unités de file d’impression tant locales que distantes. Prérequis • Concernant les files et unités de file locales, les unités d’impression doivent être associées à votre système. • Concernant les files et unités de file distantes, le système doit être configuré pour communiquer avec un hôte distant. Liste des files d’impression 1. A l’invite système, entrez : wsm printers 2. Via les menus de Web-based System Manager Files d’attente d’impression, complétez chaque étape permettant de répertorier les files d’impression. Vous pouvez aussi utiliser la commande lsallq ou le raccourci SMIT smit lspq. Liste des unités de file d’impression 1. A l’invite système, entrez : wsm printers 2. Via les menus de Web-based System Manager Files d’attente d’impression, complétez chaque étape permettant de répertorier les unités de file d’impression. Vous pouvez aussi utiliser la commande lsallqdev –q nom_file ou le raccourci SMIT smit lsallqdev. Imprimantes, travaux d’impression et files d’attente pour les administrateurs système 2-33 Affichage de l’état des files d’attente d’impression Pour effectuer cette tâche, faites appel à Web-based System Manager. Procédure 1. A l’invite système, entrez : wsm printers 2. Dans le conteneur Imprimantes de Web-based System Manager, sélectionnez l’icône Queue Status. Dans le menu Selected, sélectionnez Properties. Sélectionnez l’onglet ”General” dans la boîte de dialogue ”Printer Properties”. Les informations concernant l’état de la file d’attente s’affichent dans la boîte de dialogue ”Print Queue Properties”. 3. Vous pouvez aussi utiliser la commande enq –e ”$@” ou le raccourci SMIT smit qstatus. 2-34 Imprimantes et impression Guide de l’utilisateur Démarrage et arrêt d’une file d’impression Prérequis Vous devez être utilisateur racine. Démarrage 1. A l’invite système, entrez : wsm printers 2. Sélectionnez dans Web-based System Manager Files d’attente d’impression la file ou l’unité que vous souhaitez démarrer. 3. Pour démarrer une file, sélectionnez Start all Devices for Queue. Pour démarrer une unité, sélectionnez Start a Specific Device. Vous pouvez aussi utiliser les commandes suivantes : smit qstart OU qadm –U nom_file Arrêt 1. A l’invite système, entrez : wsm printers 2. Sélectionnez dans Web-based System Manager Files d’attente d’impression la file ou l’unité que vous souhaitez arrêter. 3. Pour arrêter une file, sélectionnez Stop all Devices for Queue. Pour arrêter une unité, sélectionnez Stop a Specific Device. Vous pouvez aussi utiliser les commandes suivantes : smit qstop OU qadm –D nom_file Imprimantes, travaux d’impression et files d’attente pour les administrateurs système 2-35 Définition de la file d’attente d’impression par défaut Prérequis Pour déplacer un travail d’impression dans une autre file, vous devez être : • utilisateur racine, • ou membre du groupe printq. Procédure 1. A l’invite système, entrez : wsm printers 2. Dans le conteneur Web-based System Manager Files d’attente d’impression, sélectionnez un ordinateur. 3. Sélectionnez ensuite une file d’impression. Vous pouvez aussi procéder via SMIT avec le raccourci smit qdefault. 2-36 Imprimantes et impression Guide de l’utilisateur Blocage/libération d’un travail d’impression (commande qhld) Prérequis Vous devez être : • propriétaire du travail d’impression, • utilisateur racine, • ou membre du groupe printq. Procédure 1. A l’invite système, entrez : wsm printers 2. Via les menus de Web-based System Manager Files d’attente d’impression, complétez chaque étape de bloquage ou libération d’un travail d’impression. Pour bloquer un travail d’impression, vous pouvez aussi utiliser les commandes : smit qhld OU qhld –# numéro_travail OU qhld –P file OU qhld –u utilisateur Pour libérer un travail d’impression, vous pouvez aussi utiliser les commandes : qhld –r –# numéro_travail OU qhld –r –P file OU qhld –r –u utilisateur Imprimantes, travaux d’impression et files d’attente pour les administrateurs système 2-37 Déplacement d’un travail d’impression dans une autre file Prérequis Pour déplacer un travail d’impression dans une autre file, vous devez être : • propriétaire du travail, • utilisateur racine, • ou membre du groupe printq. Procédure 1. A l’invite système, entrez : wsm printers 2. Dans le conteneur Web-based System Manager Files d’attente d’impression, sélectionnez le travail que vous souhaitez déplacer. 3. Sélectionnez ensuite Destination Queue. Vous pouvez aussi utiliser les commandes suivantes : smit qmov OU qmov –m file_cible –# numéro_travail OU qmov –m file_cible –P file OU qmov –m file_cible –u utilisateur 2-38 Imprimantes et impression Guide de l’utilisateur Planifier les travaux d’impression Pour ce faire, utilisez SMIT. Prérequis Votre nom de connexion en tant qu’utilisateur racine doit figurer dans le fichier /var/adm/cron/at.allow ou vous devez être utilisateur racine. Afficher tous les travaux d’impression planifiés A l’invite système, entrez : smit lsat Cette commande répertorie l’ensemble des travaux d’impression planifiés. Si vous êtes utilisateur racine, la liste des travaux planifiés s’affiche. Planifier les travaux d’impression 1. A l’invite système, entrez : smit sjat 2. Sélectionnez ou renseignez vous-même les champs de date et d’heure. 3. Répondez aux différentes questions. Effacement d’un travail d’impression planifié A l’invite système, entrez : smit rmat Sélectionnez List pour supprimer le numéro correspondant au travail d’impression à ôter. Imprimantes, travaux d’impression et files d’attente pour les administrateurs système 2-39 Modification et affichage des caractéristiques des files d’impression Les procédures décrites s’appliquent aux files et unités de file d’impression tant locales que distantes. Prérequis • Pour les files locales, l’imprimante doit être connectée physiquement au système. • Pour les files distantes, votre système doit être configuré pour communiquer à distance avec le serveur d’impression. • Vous devez être utilisateur racine. Modifier ou afficher les caractéristiques des files 1. A l’invite système, entrez : wsm devices 2. Dans le conteneur Web-based System Manager Périphériques, sélectionnez Queue, Print Processor ou Print Destination. 3. Sélectionnez ensuite Properties. 4. Recherchez ou modifiez les attributs voulus. Vous pouvez également procéder via la commande chque, chquedev, lsvirprt ou chvirprt, ou via SMIT avec le raccourci smit chpq. 2-40 Imprimantes et impression Guide de l’utilisateur Définition du format de papier Prérequis La file d’attente d’impression doit être déjà configurée. Procédure 1. Mettez du papier dans le chargeur. 2. Pour en savoir plus sur la définition du format de papier, consultez la documentation de l’imprimante, puis, entrez le format voulu via les boutons du panneau de commandes. 3. A l’invite système, entrez : wsm printers 4. Dans le conteneur Imprimantes Web-based System Manager, cliquez deux fois sur l’icône de l’imprimante. Dans le menu Selected, sélectionnez Properties. Les informations concernant la taille du papier s’affichent dans la boîte de dialogue ”Printer Properties Setup”. You can also perform this task with the pioevattr –q ”$[Queue]” –d ”$[Printer]” command or with the SMIT fast path smit chpq. Imprimantes, travaux d’impression et files d’attente pour les administrateurs système 2-41 Modification et affichage des caractéristiques de connexion de l’imprimante Prérequis Pour déplacer un travail d’impression dans une autre file, vous devez être : • utilisateur racine, • ou membre du groupe printq. Procédure 1. A l’invite système, entrez : wsm devices 2. Dans le conteneur Web-based System Manager Périphériques, cliquez deux fois sur un ordinateur pour afficher ses propriétés. Le nom et le type d’unité, le type de l’interface et l’état s’affichent. Vous pouvez aussi procéder via SMIT avec le raccourci smit chprtcom. 2-42 Imprimantes et impression Guide de l’utilisateur Modification et affichage des filtres de prétraitement Cette procédure décrit comment modifier et afficher les chaînes de commandes dédiées au prétraitement des fichiers d’impression. Un filtre de prétraitement comporte une chaîne de commandes qui est transmise à un shell Korn pour filtrer un fichier avant de l’imprimer. Il existe autant de filtres que de valeurs possibles spécifiées avec la commande qprt assortie de l’indicateur –f et avec la commande lpr assortie des différents indicateurs option_filtre. Prérequis Vous devez être : • utilisateur racine, • ou membre du groupe printq. Procédure 1. A l’invite système, entrez : wsm printers 2. Dans le conteneur Imprimantes Web-based System Manager, cliquez deux fois sur l’icône Print Processor. Dans le menu Selected, sélectionnez Properties. Les informations relatives à la modification et à l’affichage des filtres de prétraitement apparaissent dans la section “Layout” de la boîte de dialogue de propriétés du traitement des impressions. Vous pouvez aussi procéder via SMIT avec le raccourci smit pqfilters. Imprimantes, travaux d’impression et files d’attente pour les administrateurs système 2-43 Suppression d’une file d’impression Les procédures décrites s’appliquent aux files d’impression tant locales que distantes. Prérequis • Pour les files locales, l’imprimante doit être connectée physiquement au système. • Pour les files distantes, votre système doit être configuré pour communiquer à distance avec le serveur d’impression. • Vous devez être utilisateur racine. Procédure 1. A l’invite système, entrez : wsm printers 2. Dans le conteneur Web-based System Manager Files d’attente d’impression, sélectionnez Queue, Print Processor ou Destination. Si vous sélectionnez une file d’impression, chaque copie des unités de cette imprimante sera supprimée. Si vous sélectionnez un processeur d’impression ou une destination, la suppression ne portera que sur ce processeur ou cette destination. Vous pouvez également procéder avec la commande rmque, rmquedev ou rmvirprt, et via SMIT avec le raccourci smit rmpq. Remarque : Si la file sélectionnée n’a qu’une imprimante, la file et cette imprimante seront supprimées. Sinon, seule l’imprimante sélectionnée est supprimée. 2-44 Imprimantes et impression Guide de l’utilisateur Affichage de la liste des imprimantes prises en charge et définies Prérequis Aucune condition préalable. Liste des imprimantes prises en charge A l’invite système, entrez : wsm printers puis appuyez sur Entrée pour ouvrir Web-based System Manager Files d’attente d’impression. Vous pouvez aussi procéder via SMIT avec le raccourci smit lssprt. Vous obtenez une sortie semblable à ce qui suit : bull1021 parallel Bull Compuprint Page Master 1021 . . . ibm2380 parallel IBM 2380 Personal Printer II ibm2380 rs232 IBM 2380 Personal Printer II ibm2380 rs422 IBM 2380 Personal Printer II . . . opp parallel Other parallel printer osp rs232 Other serial printer osp rs422 Other serial printer Liste des imprimantes définies A l’invite système, entrez : wsm printers puis appuyez sur Entrée pour ouvrir Web-based System Manager Files d’attente d’impression. Vous pouvez aussi procéder via SMIT avec le raccourci smit lsdprt. Vous obtenez une sortie semblable à ce qui suit : lp0 lp1 lp2 Available Available Available 00–04–01–06 00–04–01–07 00–00–0P–00 Other serial printer Other serial printer Other parallel printer Imprimantes, travaux d’impression et files d’attente pour les administrateurs système 2-45 Déplacement d’une imprimante sur un autre port Prérequis • L’imprimante doit être connectée physiquement au système. • Vous devez être utilisateur racine. • Un port d’imprimante doit avoir été défini et configuré. Procédure 1. A l’invite système, entrez : wsm devices 2. Dans le conteneur Web-based System Manager Périphériques, sélectionnez l’imprimante que vous souhaitez déplacer. 3. Sélectionnez ensuite Move To... dans le menu. 2-46 Imprimantes et impression Guide de l’utilisateur Modification et affichage des caractéristiques de l’imprimante Prérequis Une imprimante doit avoir été ajoutée. Procédure 1. A l’invite système, entrez : wsm devices 2. Dans le conteneur Web-based System Manager Périphériques, cliquez deux fois sur l’imprimante. Remarque : Si l’imprimante est dotée d’une file d’attente, ou si elle est reliée à un port série ou une station X, vous pouvez changer ses caractéristiques de connexion via le raccourci wsm devices ou les commandes chprtcom. Vous pouvez aussi procéder via SMIT avec le raccourci smit chgprt. Imprimantes, travaux d’impression et files d’attente pour les administrateurs système 2-47 Suppression d’une imprimante Cette procédure permet de retirer une imprimante du système. Supprimer une imprimante ne supprime pas les files d’impression adressant des travaux à cette imprimante. Vérifiez que vous voulez également supprimer les files d’impression. Prérequis • Une imprimante doit avoir été ajoutée. • Vous devez être utilisateur racine. Procédure 1. A l’invite système, entrez : wsm devices 2. Dans le conteneur Web-based System Manager Périphériques, sélectionnez l’imprimante que vous souhaitez supprimer. 3. Sélectionnez ensuite Delete. Vous pouvez aussi procéder via SMIT avec le raccourci smit rmprt. 2-48 Imprimantes et impression Guide de l’utilisateur Impression à distance L’impression à distance permet de partager des imprimantes entre plusieurs ordinateurs. Pour exploiter les fonctions d’impression à distance, les ordinateurs doivent être connectés via le protocole TCP/IP (Transmission Control Protocol/Internet Protocol) et prendre en charge les applications TCP/IP requises, telles que le démon lpd. Une requête d’impression à distance est mise en file d’attente de la même manière qu’une requête d’impression locale. • Une commande d’impression frontale telle que qprt, lpr ou enq lance la requête sur la file d’attente appropriée du système local. • Le qdaemon sur le système local traite la requête comme il le ferait de n’importe quel travail localement placé en file d’attente, à une exception près. Le qdaemon passe la requête au programme dorsal rembak et non au programme piobe. • Le programme rembak transmet le travail d’impression à un serveur distant via le réseau TCP/IP. • Sur le serveur distant, le démon lpd surveille le port 515 dans l’attente de requêtes d’impression à distance. • Lorsque le lpd reçoit une demande d’impression à distance, il place le travail dans la file d’attente locale appropriée. • La requête d’impression est alors placée sur le serveur d’impression par qdaemon. • Le démon qdaemon passe la requête au programme dorsal piobe sur le serveur d’impression. • Le programme dorsal piobe formate le flot de données pour les imprimer sur l’imprimante spécifiée. La figure suivante illustre le mode de gestion des requêtes d’impression à distance : TCP/IP Réseau lpr –h –P rq NomFichier (commande d’impression classique) Iago rq qdaemon piobe programme dorsal local démon lpd Pro rembak programme dorsal à distance rq file d’attente locale file d’attente locale qdaemon piobe vers imprimante locale programme dorsal local vers imprimante locale Flot d’une requête d’impression à distance Imprimantes, travaux d’impression et files d’attente pour les administrateurs système 2-49 Les sections suivantes traitent de la configuration, de l’exploitation et de la gestion d’un environnement d’impression à distance : • Le programme rembak • Le démon lpd Programme rembak La file d’attente locale définie pour servir les requêtes d’impression à distance doit être configurée pour la commande rembak, commande d’impression à distance du programme dorsal. Lorsque vous définissez la file d’attente, le système vous invite à indiquer le chemin d’accès au programme dorsal. L’entrée à cette invite indique à la commande qdaemon le programme dorsal à utiliser pour traiter les requêtes d’impression à distance. Pour définir une file d’attente qui gère les requêtes d’impression à distance, tapez /usr/lpd/rembak. La commande rembak traite également les requêtes d’état, les requêtes d’annulation de travail et les requêtes de suppression d’un système de mise en file d’attente à distance. Des requêtes d’état telles que qchk –A ou lpstat interrogent l’état des files d’attente d’impression locales et des unités en analysant le fichier qconfig et les fichiers d’état du sous-système de spoulage d’impression locale. Dans un environnement d’impression à distance, les commandes qchk –A et lpstat utilisent le programme rembak pour demander aux serveurs d’impression des informations sur l’état des files d’attente. La sortie d’une commande d’état de file d’attente comporte deux entrées pour chaque file d’attente distante. La première est l’état de la file d’attente locale à laquelle sont envoyés les travaux distants. La seconde indique l’état de la file d’attente sur le serveur d’impression distant où sont imprimés les travaux. Dans l’exemple suivant, le nom de file d’attente rq a été utilisé pour la file d’attente sur le système local et pour la file d’attente sur le serveur d’impression distant : Queue ––––– Iago Pro bsh bsh rq rq Dev ––– Iago asc bshde bshde rqd ps1 Status –––––– RUNNING READY READY READY READY RUNNING QUEUED Job Files ––– ––––––––––––––– 284 mileaf User PP % Blks Cp –––––––––– ––– –– –––– –– ann@arctur 15 13 1 1 297 .deskprint/dsktop sarah@alde 60 298 .deskprint/howtol sarah@alde 22 60 1 1 1 2 Comme l’illustre l’exemple précédent, tout travail d’impression exécuté ou en file d’attente apparaît dans l’entrée correspondante du serveur d’impression distant. Le programme rembak envoie également des requêtes aux serveurs d’impression distants pour annuler des travaux. A chaque travail d’impression est affecté un numéro. Comme illustré dans l’exemple précédent, les requêtes d’état de file d’attente affichent les numéros de travail des requêtes actuellement exécutées ou en file d’attente. Pour annuler un travail sur une file d’attente distante, lancez les mêmes commandes que pour annuler un travail d’impression local. Par exemple, pour annuler le travail 298 dans la file d’attente rq, utilisez le raccourci Web-based System Manager wsm printers ou l’une des commandes suivantes : qcan –Prq –x298 OU lprm –Prq 298 démon lpd Bien que les travaux d’impression locaux et à distance soient soumis via les mêmes commandes, ils sont traités différemment. Une fois transmis à un hôte distant, un travail d’impression n’est plus géré par le sous-système de spoulage d’impression local. 2-50 Imprimantes et impression Guide de l’utilisateur Le démon lpd fait partie du groupe système TCP/IP. Tout hôte sur un réseau TCP/IP peut lancer le démon lpd, et envoyer des requêtes d’impression à n’importe quel autre hôte du réseau (sous réserve que lpd y soit actif). Par sécurité, le démon lpd duplique un processus enfant qui vérifie chaque requête d’impression à distance en fonction de deux fichiers base de données : le fichier /etc/hosts.equiv et le fichier /etc/hosts.lpd. Si le nom de l’hôte qui soumet la requête d’impression ne se trouve pas dans le fichier /etc/hosts.lpd, la requête est rejetée. Remarque : Le fichier /etc/hosts.equiv définit les ordinateurs du réseau habilités à exécuter des commandes sur l’hôte local sans fournir de mot de passe. Le fichier /etc/hosts.lpd définit les ordinateurs du réseau habilités à exécuter des commandes d’impression sur l’hôte local sans fournir de mot de passe. Sur le serveur d’impression distant, le démon lpd surveille le port 515 dans l’attente de requêtes d’impression. Lorsque le démon lpd reçoit une requête d’impression d’un hôte valide, il la place dans la file d’attente spécifiée. Le démon lpd place les fichiers spécifiés dans les requêtes d’impression dans le répertoire /var/spool/lpd. Les requêtes d’impression sont ensuite gérées par le démon qdaemon et par le programme dorsal approprié (généralement piobe) sur le serveur distant. Le fichier /etc/locks/lpd contient l’ID processus de l’instance active du démon lpd. Si une machine sur laquelle le démon lpd est actif devient inexploitable, l’ID du démon lpd doit parfois être supprimé avant de relancer le système. Les messages d’erreur lpd: lock file ou duplicate daemon indiquent que l’ID doit être supprimé. Contrôle du démon lpd Contrôler le démon lpd suppose de lancer et d’arrêter le sous-système lpd et de modifier les caractéristiques du sous-système lpd. Utilisez le raccourci Web-based System Manager wsm printers, SMIT ou les commandes SRC (System Resource Controller) pour contrôler le démon lpd. Il existe deux moyens de lancer le démon lpd. S’il n’est pas actif, vous pouvez le lancer à tout moment. Vous avez également la possibilité de lancer le démon lpd à la réinitialisation du système ou encore de l’activer tout de suite et à la réinitialisation du système. Les mêmes options sont disponibles pour arrêter le démon lpd : maintenant, à la réinitialisation du système, ou maintenant et à la réinitialisation du système. Vous pouvez exécuter le démon lpd avec DEBUG, avec SYSLOG, avec DEBUG et SYSLOG, ou sans aucune de ces fonctions. Pour contrôler le démon lpd avec Web-based System Manager, tapez wsm printers, puis sélectionnez les options souhaitées dans les menus Files d’attente d’impression. Pour contrôler le démon lpd via SMIT, tapez smit lpd, puis sélectionnez les options souhaitées dans les menus SMIT. Pour contrôler le démon lpd via SRC, lancez les commandes : startsrc Lance un sous-système, un groupe de sous-systèmes ou un sous-serveur. stopsrc Arrête un sous-système, un groupe de sous-systèmes ou un sous-serveur. lssrc Affiche l’état d’un sous-système, d’un groupe de sous-systèmes ou d’un sous-serveur. refresh Provoque la relecture par le sous-système ou le groupe de sous-systèmes du fichier de configuration approprié. traceson Active le suivi d’un sous-système, d’un groupe de sous-systèmes ou d’un sous-serveur. tracesoff Désactive le suivi d’un sous-système, d’un groupe de sous-systèmes ou d’un sous-serveur. Imprimantes, travaux d’impression et files d’attente pour les administrateurs système 2-51 Gestion et exploitation des imprimantes et des files d’attente distantes Pour imprimer sur un système distant, vous devez définir une file d’attente distante sur le système local. Ce processus comporte des tâches telles que la nomination d’une file d’attente et d’une unité de file d’attente sur l’hôte local, et l’indication du nom de l’hôte distant ainsi que la file d’attente sur l’hôte distant à laquelle sont envoyés les travaux d’impression. Pour définir une file d’attente distante, vous disposez du raccourci Web-based System Manager wsm printers. Vous pouvez également lancer la commande smit mkrque. Pour en savoir plus, reportez-vous à ”Ajout d’une unité de file d’attente d’impression”, page 2-14. Remarque : La file d’attente désignée pour recevoir les requêtes d’impression à distance sur l’hôte doit être une file d’attente active. Pour activer la file d’attente, tapez wsm printers, puis sélectionnez le nom de la file d’attente et l’unité de file d’attente configurées pour l’impression à distance. Vous pouvez également exécuter cette tâche via smit qstart. Impression à distance et fichier qconfig Le fichier qconfig contient des strophes qui définissent les unités de file d’attente. Pour une imprimante distante, certains champs de la strophe unité diffèrent de ceux d’une imprimante locale. Le tableau suivant répertorie les champs ayant une signification particulière pour les imprimantes distantes. Ce tableau indique également des exemples de valeurs ou les valeur par défaut de ces champs. hôte sys2 Nom de l’hôte distant (serveur d’impression) où sont imprimés les travaux. rq q2 Nom de la file d’attente distante où sont imprimés les travaux. s_statfilter /usr/lpd/aixshort Filtre utilisé pour traduire les informations d’état sur la file d’attente distante en une forme courte acceptable par les requêtes concernant l’état de la file d’attente telles que qchk. Il s’agit de la valeur par défaut lorsque le serveur d’impression distant est un autre système AIX. /usr/lpd/bsdshort Filtre utilisé pour traduire la sortie BSD de la commande lpq (format court) lorsque le serveur d’impression distant est un système BSD. /usr/lpd/attshort Filtre utilisé pour traduire la sortie ATT de la commande lpstat (format court) lorsque le serveur d’impression distant est un système ATT. /usr/lpd/aixv2short Filtre utilisé pour traduire la sortie AIX 2.2.1 de la commande print –q (format court) lorsque le serveur d’impression est un RT sous AIX 2.2.1. /usr/lpd/aixlong Filtre utilisé pour traduire les informations d’état sur la file d’attente distante en une forme longue acceptable par les requêtes concernant l’état de la file d’attente telles que qchk. Il s’agit de la valeur par défaut lorsque le serveur d’impression distant est un autre système AIX. /usr/lpd/bsdlong Filtre utilisé pour traduire la sortie BSD de la commande lpq (format long) lorsque le serveur d’impression distant est un système BSD. l_statfilter 2-52 Imprimantes et impression Guide de l’utilisateur /usr/lpd/attlong Filtre utilisé pour traduire la sortie ATT de la commande lpstat (format long) lorsque le serveur d’impression distant est un système ATT. /usr/lpd/aixv2long Filtre utilisé pour traduire la sortie AIX 2.2.1de la commande print –q (format long) lorsque le serveur d’impression est un RT sous AIX 2.2.1. Configurer un hôte distant comme serveur d’impression L’hôte désigné comme serveur d’impression doit être configuré pour accepter les requêtes d’impression à distance. Pour être habilité à imprimer, un hôte doit figurer dans le fichier /etc/hosts.lpd du serveur d’impression. Pour ajouter le nom hôte d’une file d’attente d’impression au fichier /etc/hosts.lpd via le raccourci Web-based System Manager : 1. A l’invite système, entrez : wsm printers 2. Dans le conteneur Files d’attente d’impression, sélectionnez un objet ordinateur. 3. Sélectionnez ensuite Properties. 4. Pour ajouter le nom hôte au fichier /etc/hosts.lpd, ouvrez et éditez la liste d’accès à l’hôte. Vous pouvez également effectuer cette tâche via le raccourci smit mkhostslpd. Toute requête d’impression envoyée par un hôte non défini dans le fichier /etc/hosts.lpd du serveur d’impression est rejetée. Le système affiche un messages d’erreur indiquant que l’hôte n’a pas accès à l’imprimante ligne. Pour servir les requêtes d’impression, le processus lpd doit être actif sur l’hôte jouant le rôle de serveur d’impression. La commande SRC lssrc –s lpd affiche l’état du démon lpd. S’il n’est pas actif, lancez le raccourci wsm printers ou la commande startsrc pour lancer le démon lpd. Exploitation des imprimantes et des files d’attente distantes Aucune commande particulière n’est requise pour effectuer une impression sur un hôte distant. Utilisez n’importe quelle commande d’impression qui permette de spécifier une file d’attente. Les commandes lpr, qprt et enq, par exemple, sont des commandes d’impression. Spécifiez les indicateurs et les options souhaitées pour adapter la requête d’impression, et notamment l’indicateur spécifiant la file d’attente. Utilisez le nom de la file d’attente distante sur votre hôte. Vous pouvez également envoyer une requête d’impression à distance via le raccourci smit qprt. Les commandes concernant l’état de la file d’attente, telles que qchk ou lpstat, affichent des informations sur les files d’attente locale et distante. La commande smit qchk affiche un menu qui permet de choisir le type d’informations souhaitées sur les files d’attente, locales et distantes. Pour annuler un travail d’impression sur une file d’attente distante, utilisez le raccourci Web-based System Manager (wsm printers), la commande qcan ou la commande lprm. Vous pouvez également utiliser le raccourci smit lssprt. Imprimantes, travaux d’impression et files d’attente pour les administrateurs système 2-53 Impression à distance via l’hôte Prérequis • Votre système doit être configuré pour communiquer en tant que téléserveur d’impression. • Le démon lpd doit être installé sur le système. • Pour ajouter un hôte distant, vous devez connaître les conventions d’appellation concernant le protocole TCP/IP. Afficher la liste des hôtes distants 1. A l’invite système, entrez : wsm printers 2. Dans le conteneur Files d’attente d’impression, sélectionnez un objet ordinateur. 3. Sélectionnez ensuite Properties pour afficher la liste des hôtes distants qui sont serveurs d’impression. Pour en savoir plus ou obtenir de l’aide, consultez l’aide en ligne. Vous pouvez aussi utiliser les commandes suivantes : ruser –sP OU smit lshostslpd Ajouter un hôte distant 1. A l’invite système, entrez : wsm printers 2. Dans le conteneur Web-based System Manager Files d’attente d’impression, sélectionnez New queue and printer sur le menu Printers. 3. Utilisez les menus ou répondez aux questions pour chaque étape de la procédure. Pour en savoir plus ou obtenir de l’aide, consultez l’aide en ligne. Vous pouvez aussi utiliser les commandes suivantes : ruser –a –p nom_hôte OU smit mkhostslpd Supprimer un hôte distant 1. A l’invite système, entrez : wsm printers 2. Dans le conteneur Web-based System Manager Files d’attente d’impression, sélectionnez l’hôte que vous souhaitez supprimer. 3. Utilisez les menus ou répondez aux questions pour chaque étape de la procédure. Pour en savoir plus ou obtenir de l’aide, consultez l’aide en ligne. Vous pouvez aussi utiliser les commandes suivantes : smit rmhostslpd OU ruser –d –p nom_hôte 2-54 Imprimantes et impression Guide de l’utilisateur Sous-système distant lpd Prérequis • Votre système doit être configuré pour communiquer à distance avec un téléserveur d’impression. • Pour démarrer ou arrêter un sous-système lpd distant, vous devez être utilisateur racine. Démarrage du sous-système distant lpd 1. A l’invite système, entrez : wsm printers 2. Dans le conteneur Files d’attente d’impression, sélectionnez un objet ordinateur. 3. Sélectionnez ensuite Properties. 4. Sélectionnez Start lpd daemon. Pour en savoir plus ou obtenir de l’aide, consultez l’aide en ligne. Vous pouvez aussi utiliser les commandes suivantes : • Pour démarrer lpd via SMIT : smit mkitab_lpd • Pour le démarrer immédiatement : startsrc –c • Pour démarrer lpd au prochain redémarrage du système : mkitab ”lpd:2:once:startsrc –c lpd” • Pour démarrer lpd immédiatement et au prochain redémarrage du système : startsrc –c; mkitab ”lpd:2:once:startsrc –c lpd” Arrêt du sous-système distant lpd 1. A l’invite système, entrez : wsm printers 2. Dans le conteneur Files d’attente d’impression, sélectionnez un objet ordinateur. 3. Sélectionnez ensuite Properties. 4. Sélectionnez Stop lpd daemon. Pour en savoir plus ou obtenir de l’aide, consultez l’aide en ligne. Vous pouvez aussi utiliser les commandes suivantes : • Pour arrêter lpd via SMIT : smit rmitab_lpd • Pour l’arrêter immédiatement : stopsrc –c –s lpd • Pour arrêter lpd au prochain redémarrage du système : rmtab ”lpd” • Pour arrêter lpd immédiatement et au prochain redémarrage du système : stopsrc –c –s lpd; rmtab ”lpd” Imprimantes, travaux d’impression et files d’attente pour les administrateurs système 2-55 Affichage de l’état du serveur d’impression Pour ce faire, utilisez SMIT. Procédure 1. A l’invite système, entrez : smit server 2. Sélectionnez Show Status of the Print Server Subsystem. 2-56 Imprimantes et impression Guide de l’utilisateur Etat du système de file d’attente d’impression Si une imprimante/unité est ajoutée comme unité tty, le système de file d’attente recherche un signal CD (détection de porteuse) pour reconnaître l’imprimante. S’il s’agit d’une unité LP, le système de file d’attente utilise CTS pour détecter l’imprimante. Voici une liste des états d’une file d’attente d’impression : DEV_BUSY Indique que : • Plusieurs files sont définies pour une unité d’impression (lp0) et celle-ci est actuellement occupée par une autre file. • qdaemon a essayé d’utiliser l’unité de port d’imprimante (lp0), et celle-ci est actuellement occupée par une autre application. Etat normal : Pour que l’état DEV_BUSY soit résolu, patientez jusqu’à ce que la file ou l’application libère l’imprimante ou tuez le travail (ou le processus) qui l’occupe. DEV_WAIT La file attend l’imprimante, car celle-ci est hors ligne, dépourvue de papier, fait l’objet d’un bourrage, ou son câble est défectueux ou mal connecté. Reprise normale : Pour que l’état DEV_WAIT soit résolu, vous devez remédier à l’incident à l’origine de l’attente. Vérifiez si l’imprimante est hors ligne, dépourvue de papier, fait état d’un bourrage ou si son câble est débranché. Pour faciliter les tests de diagnostic, avec la commande enq, déplaces tous les travaux de la file à l’état DEV_WAIT dans une autre file opérationnelle ou à l’état DOWN. Une fois le problème résolu, vous pouvez replacer les travaux non imprimés dans leur file d’origine. DEV_WAIT peut également être dû à un contrôle de flux inadapté à l’imprimante, notamment si vous avez opté pour le contrôle logiciel XON/XOFF. Pour vérifier le contrôle de flux, faites appel à SMIT (régulation XON/XOFF ou DTR). DEV_WAIT peut également être dû à un défaut au niveau du câble. Dans ce cas, vous devez généralement remplacer le câble. Une file restant à l’état DEV_WAIT pendant un laps de temps supérieur à celui défini par TIMEOUT passe automatiquement à l’état DOWN. Pour en savoir plus sur la valeur de TIMEOUT et l’état DOWN, reportez-vous à DOWN. Imprimantes, travaux d’impression et files d’attente pour les administrateurs système 2-57 DOWN Spécifie que le pilote d’unité ne peut communiquer avec l’imprimante (CD ou CTS perdu ou bas) au bout de TIMEOUT secondes. La valeur TIMEOUT indique le délai, en secondes, pendant lequel le système de file d’attente attend la fin d’une opération d’impression. Vous pouvez définir cette valeur via SMIT. Généralement, une file d’attente passe à l’état DOWN après avoir passé un certain laps de temps à l’état DEV_WAIT. Si une file d’attente passe directement à l’état DOWN, c’est que la valeur de TIMEOUT est trop faible ou qu’il y a un problème de câblage. Ceci se produit quand le pilote de l’imprimante ne reconnaît plus l’imprimante en raison d’une mauvaise signalisation. Toutefois, certaines imprimantes ne peuvent signaler au système de file d’attente qu’elles sont hors ligne. Ces imprimantes signalent qu’elles sont hors ligne, le signal CTS (imprimante lp) ou CD (imprimante tty) est perdu. Dans ce cas ou si l’imprimante semble ne pas fonctionner, la file passe à l’état DOWN. L’administrateur système peut amener une file d’attente à l’état DOWN à des fins de maintenance, via les commandes de file d’attente (qadm, disable, enq, et autres). Reprise normale : Remédier au problème qui a provoqué l’état down et restaurez la file d’attente via les commandes qadm, enable, ou enq assorties des indicateurs adéquats. Pour que la file soit à nouveau opérationnelle, sa remise en route est obligatoirement manuelle. HELD Le travail est bloqué et ne sera placé en file d’attente qu’une fois libéré via les commandes qhld ou enq. OPR_WAIT Le programme dorsal attend l’intervention de l’opérateur (pour charger du papier, par exemple). Cette indication est généralement liée au logiciel. Etat normal : pour effectuer une reprise sur un état OPR_WAIT, répondez correctement à la requête émise par le système de file d’attente. QUEUED Indique qu’un fichier figurant dans une file attend son tour pour être imprimé. READY Indique que tout ce qui concerne la file est prêt pour la mise en file d’attente et l’impression de travaux. RUNNING Indique que l’impression d’un fichier est en cours. UNKNOWN Un utilisateur a créé une file d’attente sur un fichier unité utilisé par une autre file d’attente et son état est DEV_WAIT. La file d’attente ne peut obtenir un état de l’unité d’impression (lp0) lorsqu’elle est bloquée (DEV_WAIT). Etat normal : amenez l’autre file d’attente à l’état down ou remédiez au problème sur l’imprimante. Amenez la nouvelle file d’attente à l’état down, puis réactivez-la, de sorte que les registres de file d’attente soient READY. Voici les états applicables aux files d’attente distantes : 2-58 CONNECT Le programme dorsal tente de se connecter à l’hôte distant. GET_HOST Le programme dorsal accède à l’hôte auquel doivent être envoyés les travaux d’impression. INITING Le programme dorsal tente d’établir une connexion au réseau. SENDING Le programme dorsal envoie le travail d’impression à l’hôte distant. Imprimantes et impression Guide de l’utilisateur Chapitre 3. Présentation du spouleur Le travail du spouleur, également appelé système de mise en file d’attente, est de gérer l’utilisation de l’imprimante, notamment sur les systèmes dotés de plusieurs imprimantes. Lorsque vous soumettez un travail d’impression au spouleur, vous pouvez poursuivre votre travail sur votre poste. Ce chapitre traite les thèmes suivants : • Présentation du spouleur, page 3-2 • Terminologie, page 3-3 • Spouleur AIX générique, page 3-6 • Eléments du spouleur, page 3-7 • Flot de données sur le spouleur - Partie I, page 3-8 • Flot de données sur le spouleur - Partie II, page 3-10 • Présentation du traitement dorsal, page 3-12 • Imprimantes virtuelles et filtres de formatage, page 3-16 • Le fichier de configuration du spouleur : /etc/qconfig, page 3-18 • Récapitulatif, page 3-22 Présentation du spouleur 3-1 Présentation du spouleur Cette section présente les mécanismes du spouleur utilisés par AIX version 3.2.5 et AIX version 4. Le programme dorsal piobe, utilisé pour traiter les travaux d’impression sur les files d’attente locales, est le plus utilisé et probablement le plus complexe des programmes dorsaux livrés avec le système d’exploitation AIX, il a été choisi comme principal exemple dans cette section. Utiliser ainsi piobe permet un meilleur développement des concepts du spouleur AIX. Des notes indiquent les différences significatives entre AIX version 3.2.5 et AIX version 4. Cette section vise à convaincre le lecteur que le spouleur est un processus à part entière, avec un début, des étapes intermédiaires discrètes (pas de ”boîte noire”) et une fin. Si vous considérez le spouleur comme une série d’éléments, dont l’interaction mutuelle est entièrement fonction de la configuration d’une file d’attente spécifique, trois événements utiles peuvent se produire : • L’identification et la résolution des problèmes est plus simple. • L’adaptation du spouleur à vos besoins propres est plus simple. • Vous pouvez découvrir d’intéressantes modifications à apporter au spouleur, que vous n’aviez pas envisagées au départ. 3-2 Imprimantes et impression Guide de l’utilisateur Terminologie Voici des termes spécifiques du spouleur. Spouleur Le spouleur AIX est un ensemble de programmes, de fichiers de configuration et de fichiers de données, qui fournissent les fonctions et services suivants : • Construction des files d’attente, entités logicielles dont la fonction est de traiter les travaux de façon spécifique. • Habilitation des utilisateurs à soumettre des travaux (généralement mais pas forcément des travaux d’impression) à une file d’attente en vue de leur traitement. • Accès série à une unité (imprimante, par exemple) via une file d’attente, ou à un programme (compilateur, par exemple), évitant l’utilisation simultanée d’une unité ou d’un programme par plusieurs utilisateurs. • Accès des utilisateurs aux informations d’état des files d’attente via les fichiers d’état. • Possibilité pour les utilisateurs de contrôler la disponibilité des files d’attente et l’état des travaux. • Manipulation extensive du flot de données des travaux d’impression. • Vaste choix de mécanismes de livraison des travaux traités. Files d’attente locale et distante du spouleur et unités du spouleur Une file d’attente est une liste ordonnée de requêtes pour accéder à une unité spécifique. Une unité est un élément susceptible de gérer successivement les requêtes, telle qu’une imprimante. Chaque file d’attente doit être servie par au moins une unité ; plusieurs unités peuvent souvent lui être associées. Imprimantes réelles (physiques) et virtuelles Une imprimante réelle (physique) est l’imprimante matérielle associée au système via un port série ou parallèle, ou via une connexion réseau, telle qu’un serveur de terminal réseau. Lorsque l’imprimante réelle est connectée au système via un port série ou parallèle, le pilote d’imprimante du noyau communique avec le matériel de l’imprimante et fournit une interface entre le matériel de l’imprimante et une imprimante virtuelle. Une imprimante virtuelle est un ensemble d’attributs, avec les valeurs qui leur sont associées, qui définissent un flot de données de haut niveau (ASCII ou Postscript, par exemple) et les méthodes de traitement du flot de données. Ceci n’inclut pas les données relatives au mode de connexion entre l’imprimante réelle et l’ordinateur hôte ni le protocole servant à transférer les octets de données de/vers l’imprimante. Le programme dorsal piobe exploite les informations stockées dans la définition de l’imprimante virtuelle pour contrôler le traitement des travaux. Le support de stockage physique des ensembles d’attributs et des valeurs associées est appelé fichier deux-points imprimante. Imprimantes locale et distante Une imprimante locale est une imprimante réelle connectée à un hôte local, pour lequel une file d’attente locale est définie. Toues les travaux soumis à cette file d’attente sont traités et imprimés sur l’hôte où se trouve la file d’attente. Une imprimante distante est une imprimante réelle connectée à un hôte distant. La file d’attente d’une imprimante distante spécifie un programme dorsal dont la fonction est d’envoyer le travail placé dans le spouleur, de l’hôte local à l’hôte distant, via le réseau. Tous les travaux soumis à cette file d’attente, sur l’hôte local, sont envoyés via le réseau à l’hôte distant, où ils sont traités et imprimés. Présentation du spouleur 3-3 Programmes dorsaux du spouleur Un programme dorsal de spouleur est un ensemble de programmes (pipeline) appelés par la commande qdaemon pour gérer un travail d’impression en file d’attente. Lorsque le programme dorsal concerne une file d’attente d’impression, le programme dorsal du spouleur effectue normalement les fonctions suivantes : • Réception d’une liste d’un ou plusieurs travaux à traiter, générée par la commande qdaemon. • Pour les travaux d’impression, exploitation des valeurs d’attributs définies dans la base de données pour l’imprimante et le formatage, remplacées, le cas échéant, par les indicateurs spécifiés sur la ligne de commande. • Initialisation de l’imprimante avant traitement d’un travail d’impression. • de fournir les filtres appropriés pour le formatage simple de documents ASCII, • Activation des filtres de conversion du flot des données à imprimer en format admis par l’imprimante. • de fournir le support nécessaire aux caractères d’impression dans la langue voulue, • Transmission du flot des données filtrées au pilote de l’imprimante • Génération, au besoin, de pages d’en-tête et de fin. • Génération, sur demande, de plusieurs exemplaires des travaux d’impression. • d’avertir si le papier manque, si une intervention est nécessaire et si un autre incident se produit, • de signaler les problèmes détectés par les filtres, • Nettoyage de la file quand un travail d’impression est annulé. • Fourniture d’un environnement d’impression personnalisable. Généralement, vous n’exécutez pas directement les programmes dorsaux de l’imprimante, bien que certains, tels les compilateurs, puissent être lancés directement à partir de la ligne de commande. Le démon qdaemon exécute le programme dorsal, en lui transmettant les noms des fichiers et, le cas échéant, les indicateurs de contrôle spécifiés. Le programme dorsal communique avec qdaemon via un fichier d’état se trouvant dans le répertoire /var/spool/lpd/stat. Vous pouvez lancer une commande d’interrogation sur l’état d’une file d’attente, telle que qchk ou lpstat, pour afficher les informations d’état, comprenant, dans le cas d’un travail d’impression, l’état de l’imprimante, le nombre de pages imprimées et le pourcentage du travail effectué. Dans AIX, piobe est le programme dorsal standard du spouleur pour le traitement des travaux d’impression locaux. Filtres de formatage Un filtre de formatage est une partie du pipeline créé et exécuté par le programme dorsal par défaut des files d’attente de l’imprimante locale, piobe. Comme son nom l’indique, un filtre de formatage permet de formater en entrée un fichier d’impression ou de le transmettre tel quel, selon le paramètre d’entrée spécifié. Même s’il transmet le fichier sans le modifier, le programme de formatage adresse en outre des commandes servant à initialiser l’imprimante avant l’impression du fichier en entrée, et restaure l’état initial de l’imprimante une fois l’impression terminée. C’est le filtre de formatage qui permet d’utiliser le fichier deux-points d’une imprimante virtuelle pour manipuler les travaux d’impression du spouleur. 3-4 Imprimantes et impression Guide de l’utilisateur Travail du spouleur Un travail du spouleur est un travail quelconque, soumis au spouleur par un utilisateur. Toute commande de soumission de travail doit se terminer par le nom du ou des fichier(s) à traiter. Vous ne pouvez, par exemple, transmettre un mot-clé au programme dorsal pour qu’il contrôle la fonction exécutée par ce programme ; le travail soumis doit exister dans le système de fichiers. Le spouleur accepte différents types de travaux. Il incombe à l’administrateur système de vérifier que le programme dorsal associé à une file d’attente donnée est capable de traiter tous les travaux soumis à cette file d’attente. Les types de travaux d’impression sont les suivants : • ASCII • PostScript • PCL • HPGL • GL • Diablo 630 • ditroff Unités d’impression Une unité imprimante/traceur est un fichier du répertoire /dev/directory, spécifique d’une imprimante réelle. Ce fichier peut être exploité par le programme de réacheminement (par exemple, cat FileName > /dev/lp0) ou par des programmes utilisateur compilés. Pour afficher ou modifier les paramètres de ce pilote d’unité, vous disposez de la commande splp. Aucune commande du spouleur ne peut accéder à une unité d’impression si une file d’attente d’impression n’a pas été créée pour l’unité. qdaemon qdaemon est un processus exécuté en arrière-plan sous les auspices du processus srcmstr. Lorsque vous mettez le système sous tension, la commande startsrc lance le démon qdaemon. Le démon qdaemon peut être activé par la commande startsrc et désactivé par la commande stopsrc, mais qdaemon n’accepte que les communications par signal et de ce fait, ne peut être interrogé par la commande lssrc. Le démon qdaemon piste les requêtes de travaux et les ressources requises pour mener à bien ces travaux – ces ressources pouvant être une imprimante réelle, une autre unité réelle ou même un fichier. Le démon qdaemon maintient les files d’attente pour les requêtes en suspens et les envoie au moment voulu à l’unité appropriée. Le démon qdaemon enregistre également l’utilisation des données imprimante à des fins de comptabilité. C’est le démon qdaemon qui définit le programme dorsal d’une file d’attente du spouleur pour exécution. Quand qdaemon est arrêté prématurément, il est relancé par le processus srcmstr. Remarque : N’interrompez pas le démon srcmstr ; il contrôle d’autres démons actifs sur le système. Présentation du spouleur 3-5 Spouleur AIX générique Le spouleur AIX versions 3 et 4 n’est pas spécifiquement un spouleur d’impression, mais un système de spoulage générique dédié à la mise en file d’attente de différents types de travaux, dont les travaux d’impression. Généralement, le spouleur ne connaît pas le type des travaux qu’il place en file d’attente. A la création d’une file d’attente, sa fonction est définie par le programme dorsal associé à cette file d’attente. Par exemple, si vous créez une file d’attente et que vous lui associez le programme dorsal piobe (programme dorsal d’E/S par défaut de l’imprimante pour les files d’attente de l’imprimante locale), cette file est une file d’attente d’impression. De même, si le programme dorsal défini est cc (ou un autre compilateur), la file d’attente est destinée aux travaux du compilateur. Lorsque la commande qdaemon du spouleur sélectionne un travail dans une file d’attente, elle fait appel au programme dorsal pour traiter ce travail. Cette section présente le spouleur comme un système de spoulage générique, avec un point d’entrée, des étapes intermédiaires et un point de sortie. Les travaux soumis au spouleur entrent dans le système (soumission des travaux), transitent via le chemin prévu d’un point à un autre (traitement des travaux), puis quittent le système (délivrance des travaux et nettoyage). Il est essentiel de bien appréhender le transit du travail dans le système, à la fois pour configurer les files d’attente pour exécuter des tâches complexes et pour identifier et résoudre efficacement les éventuels problèmes. Les sections suivantes décrivent ce flot de données plus en détail, en signalant particulièrement les files d’attente d’impression. 3-6 Imprimantes et impression Guide de l’utilisateur Eléments du spouleur Le spouleur AIX peu être considéré comme un processus ou un sous-système avec un début, des étapes intermédiaires et une fin. Pour mener à bien ses tâches, le spouleur AIX comporte quatre principaux éléments : 1. La commande enq, qui constitue le point d’entrée effectif du spouleur et, comme tel, est le début de toute activité du spouleur. Cette commande accepte les requêtes de traitement de travaux. 2. Au démon qdaemon incombent l’acceptation et le suivi de tous les travaux soumis au spouleur via la commande enq. Il est également chargé, une fois les ressources requises disponibles, d’autoriser un programme dorsal de file d’attente à traiter un travail. Le démon qdaemon est l’une des étapes intermédiaires du processus du spouleur. 3. Le programme dorsal de spouleur est un ensemble de programmes (pipeline) appelés par la commande qdaemon pour gérer un travail d’impression en file d’attente. Le programme dorsal envoie les sorties vers une unité spécifique, une imprimante, par exemple. Lorsque le programme dorsal est piobe, il appelle un filtre de formatage, lequel appelle à son tour un fichier imprimante deux-points. Le programme dorsal est l’une des étapes intermédiaires ainsi qu’une fin, dans la mesure où ce programme contient le processus spécifique assurant la livraison du travail traité à sa destination finale. 4. Le fichier de configuration, /etc/qconfig, décrit la configuration des files d’attente et des unités disponibles. Les commandes enq et qdaemon lisent toutes deux le fichier de configuration. Ce fichier de configuration est conceptuellement aussi important que les autres éléments du spouleur, du fait qu’il garantit le bon fonctionnement du spouleur AIX dans son intégralité. Présentation du spouleur 3-7 Flot de données du spouleur - Partie I Le flot général d’un travail via le spouleur AIX est illustré à la figure Impression sur le système d’exploitation AIX. AIX pilote d’unité réacheminement lp lpr file d’attente enq qdaemon (local) piobe Xstation interface qprt socket issu du client interface de connexion au LAN lpd (distant) rembak socket vers serveur Impression sur le système d’exploitation AIX Pour soumettre un travail au spouleur AIX, vous disposez de quatre commandes. Il s’agit de lp, lpr, qprt et enq. Chacune de ces commandes a une origine UNIX spécifique ; lp est lancé avec AT&T System V, lpr avec BSD, et qprt et enq avec AIX. Bien qu’un utilisateur puisse lancer n’importe laquelle de ces commandes pour soumettre un travail au spouleur, le véritable point d’entrée dans le spouleur est la commande enq. Les commandes lp, lpr et qprt sont des commandes frontales référençant enq. lp, lpr, et qprt analysent leurs arguments et composent un appel à enq. Les commandes frontales diffèrent les unes des autres par leur comportement et par le nombre et le type des indicateurs admis. Lorsqu’un travail est soumis au spouleur, enq traite la requête de travail. Si la requête est valide, ce qui signifie en fait que la syntaxe de la commande est correcte, le travail est placé en file d’attente. enq crée un fichier de description de travail (JDF) et notifie le démon qdaemon de l’existence du nouveau fichier JDF. Le démon qdaemon lit chaque nouveau JDF ainsi que les paramètres du travail spécifiés par le JDF dans une structure de données interne, qu’il maintient pour garder trace des requêtes de travaux. Le démon qdaemon se sert des informations d’état de la file d’attente pour garder trace de l’état de chaque file d’attente et, lorsque la situation est correcte, appelle le programme dorsal de la file d’attente pour traiter le travail. Le programme dorsal d’une file d’attente détermine précisément le type de traitement à appliquer à un travail placé en file d’attente. Les commandes de soumission d’un travail au spouleur peuvent comporter des indicateurs demandant un traitement particulier du travail ; le démon qdaemon peut déterminer l’ordre de traitement des travaux (plus court d’abord ou premier arrivé premier traité), mais c’est le programme dorsal qui effectue réellement tout le traitement du travail. (L’administrateur système peut prendre connaissance des strophes du fichier /etc/qconfig pour déterminer rapidement la fonction d’une file d’attente donnée, par simple examen du programme dorsal.) 3-8 Imprimantes et impression Guide de l’utilisateur La figure Impression sur le système d’exploitation AIX, page 3-8 illustre les deux scénarios dorsaux les plus courants : File d’attente d’impression locale et file d’attente d’imprimante distante. La file d’attente locale utilise le programme dorsal piobe (Printer Input/Output BackEnd). L’imprimante distante utilise le programme dorsal rembak (REMote BAcKend). piobe, comme tous les programmes dorsaux, est appelé par le démon qdaemon. piobe définit et contrôle une série de programmes (pipeline) qui non seulement manipulent un travail d’impression, mais peuvent également envoyer in extenso les données de contrôle à une imprimante, par exemple pour initialiser l’imprimante dans un mode spécifique avant transmission du travail d’impression. C’est le piobe qui exploite en premier les données stockées dans les fichiers deux-points de l’imprimante. Le dernier programme du pipeline défini et contrôlé par piobe assure la livraison physique du flot d’octets générés antérieurement dans le pipeline. Dans le contexte d’une file d’attente locale, ce programme ouvre un pilote d’unité, lequel délivre le flot d’octets à une imprimante connectée localement (en série ou en parallèle), à une imprimante rattachée à la Xstation ou à une imprimante rattachée au réseau. rembak est le programme dorsal courant lorsque la file d’attente de l’imprimante distante pointe simplement sur une file d’attente sur un autre hôte, appelé plus couramment serveur d’impression. Alors que piobe peut manipuler sans restriction un travail d’impression, rembak achemine simplement les travaux à travers les réseaux TCP/IP vers les serveurs d’impression. Comme l’illustre la figure Impression sur le système d’exploitation AIX, si le serveur d’impression est une autre machine AIX, rembak transfère le travail via le réseau au processus lpd, lequel appelle enq, qui crée un JDF, etc., comme décrit plus haut. Présentation du spouleur 3-9 Flot de données du spouleur - Partie II Les commandes lp, lpr, qprt et enq permettent de soumettre un travail au spouleur pour traitement. La commande enq est le véritable point d’entrée du spouleur ; lp, lpr et qprt analysent leur propres arguments et composent un appel à enq. Cette opération peut être exécutée en effectuant la procédure suivante, comme utilisateur racine, à l’invite du shell : 1. Tapez mount /bin/echo /bin/enq et appuyez sur Entrée. 2. Tapez qprt –Pasc –fp –z1 –p12 –s courier –C –N 3 /etc/motd et appuyez sur Entrée. 3. Tapez umount /bin/enq et appuyez sur Entrée. La commande qprt à l’étape 2 tente de soumettre un travail d’impression au spouleur et l’a placé sur la file d’attente asc, demandant trois copies du message du jour dans la police Courier 12 points, pivoté à 90 degrés. qprt analyse les arguments de sa ligne de commande et construit un vecteur d’argument pour passer à enq. Lorsque la commande qprt tente d’appeler enq avec le vecteur d’argument, il appelle à la place la commande echo, qui est montée sur la commande enq. Ainsi le vecteur d’argument généré par la commande qprt est passé à la commande echo, laquelle renvoie simplement en écho le vecteur d’argument vers votre écran. Cette procédure fonctionne également avec lp et lpr. Outre le fait qu’elle démontre que qprt est réellement une commande frontale pour enq, cette technique est également utile lorsque vous tentez de trouver comment obtenir des indicateurs non pris en charge du spouleur. Nous y reviendrons ultérieurement. L’exécution de la commande qprt à l’étape 2 doit provoquer l’écriture de la sortie suivante sur l’élément d’affichage spécifié par la variable d’environnement TERM : –P asc –o –o –f –o p –z –o 1 –o –p –o 12 –o –s courier –C –N 3 /etc/motd Il s’agir du vecteur d’argument généré par cette instance spécifique de la commande qprt. Si echo n’a pas été monté sur enq, la commande de soumission de travail suivante est exécutée : enq –P asc –o –f –o p –o –z –o 1 –o –p –o 12 –o –s courier –C –N 3 /etc/motd Une commande de soumission de travail doit se terminer par le nom d’un ou de plusieurs fichiers existant dans un système de fichiers accessible par le système d’exploitation AIX. Ceci est vrai même lorsque la file d’attente est définie pour gérer des travaux autres que des travaux d’impression. Remarque : Il est très important d’exécuter l’étape 3, faute de quoi le spouleur est désactivé. Lorsque la commande enq est exécutée, directement ou via lp, lpr ou qprt, elle affecte un numéro au travail. Par défaut, lp renvoie le numéro du travail. lpr et qprt ne renvoient pas le numéro du travail, sauf spécifié explicitement via un indicateur. enq crée un fichier JDF et le place dans /var/spool/lpd/qdir. Dans la dernière version 3.2.x d’AIX, enq inscrit le nom du JDF dans une file d’attente de messages et indique au qdaemon l’existence d’un nouveau JDF (en lui envoyant un SIGUSR2). qdaemon lit ensuite le nom du JDF dans la file d’attente, accède directement au JDF, et lit et transfère les données qu’il contient dans une structure de données interne qu’il maintient pour garder trace de tous les travaux se trouvant actuellement dans le spouleur. A ce stade, le travail a été accepté par le spouleur. Un JDF est créé pour toutes les opérations du système de spoulage autres que les interrogations sur l’état d’une file d’attente ; la structure d’un JDF diffère selon qu’il s’agit de requêtes d’impression, de requêtes d’annulation de travail, de requêtes de contrôle de file d’attente, etc., mais un JDF est créé dans tous les cas. Les commandes exécutant la même fonction que lpstat appellent toujours enq pour effectuer leur travail, mais il n’y a ni création de JDF, ni appel à qdaemon. 3-10 Imprimantes et impression Guide de l’utilisateur Dans toutes les versions AIX antérieures à la version 4, qdaemon affecte un numéro au travail lorsqu’il accède au JDF et le lit dans la structure de données interne citée plus haut. Sous la version 4, le numéro de travail est affecté par enq. Ce changement a été effectué pour que lp soit conforme aux normes de l’industrie (lp est supposée renvoyer un numéro de travail lorsque le travail est soumis, que qdaemon accepte ou non le travail). Ceci a une double signification. La première est que le numéro de travail de NEW n’est plus visible dans la version 4, dans la mesure où le numéro de travail NEW n’apparaissait qu’après la création du JDF par enq, mais avant que qdaemon n’accède au JDF et n’affecte un numéro de travail. La seconde est que la présence ou l’absence d’un numéro de travail ne peut plus servir à déterminer si le travail a été accepté par qdaemon. Lorsque qdaemon détermine que l’unité sur laquelle le travail est en file d’attente est disponible, qdaemon appelle le programme dorsal associé à la file d’attente, et lui passe les arguments spécifiés par le JDF. Le programme dorsal traite le travail. Présentation du spouleur 3-11 Présentation du traitement dorsal Le programme dorsal associé à une file d’attente est lancé par qdaemon ; qdaemon détermine l’ordre de traitement des travaux, définit une valeur d’exécution pour le programme dorsal de la file d’attente, construit un vecteur d’argument pour le programme dorsal et, via fork() et exec(), lance l’exécution du programme dorsal. Le nombre d’instances simultanées du programme dorsal est contrôlé par la présence ou l’absence du paramètre file dans la strophe relative à cette file d’attente dans le fichier de configuration /etc/qconfig. Si le paramètre file est présent, seule une instance du programme dorsal existe pour cette file d’attente ; ceci parce que qdaemon ne tente de définir l’environnement d’exécution du programme dorsal que lorsqu’il a déterminé que le travail peut être traité. Une partie de la définition de l’environnement d’exécution du programme dorsal suppose d’ouvrir la sortie standard du programme dorsal sur le fichier ou l’unité spécifié par le paramètre file. Si qdaemon a déjà effectué cette action pour un travail précédent, et que le travail est toujours en cours d’exécution, qdaemon ne peut obtenir un verrouillage du fichier ou de l’unité spécifié par le paramètre file et ne peut donc ouvrir la sortie standard du programme dorsal sur ce fichier ou cette unité. C’est pourquoi qdaemon maintient le travail en file d’attente et attend la fin du travail précédent et la libération du fichier ou de l’unité. Voici comment le système de spoulage fournit et contrôle l’accès série à une unité. Si le paramètre file est absent ou qu’il a la valeur FALSE, qdaemon ouvre la sortie standard du programme dorsal sur /dev/null et exécute immédiatement le travail. Dans cette situation, il n’y a pas de fichier ou d’unité à laquelle un accès série soit clairement requis, aussi les travaux ne sont-ils pas empilés sur la file d’attente. Les travaux soumis à cette file d’attente sont traités dès que qdaemon peut définir l’environnement d’exécution. L’absence du paramètre file désactive effectivement l’accès série à tous les fichiers et unités locaux. Un exemple significatif et courant de file d’attente dépourvue de paramètre file est la file d’attente d’une imprimante distante. Dans ce cas, la ressource pour laquelle un accès série doit être fourni existe en réalité sur un autre hôte ; la file d’attente locale n’a aucune raison de tenter le moindre type de contrôle. Le programme dorsal pour ce type de file d’attente, le rembak par défaut sous AIX, envoie simplement le travail via le réseau vers la file d’attente distante et confie à celle-ci le soin de gérer le contrôle de l’accès série. Le programme dorsal par défaut pour une file d’attente locale sous AIX est piobe. Plusieurs files d’attente peuvent spécifier le même programme dorsal. Dans ce cas, plusieurs instances simultanées de piobe peuvent coexister ; chaque file d’attente spécifiant piobe comme programme dorsal peut potentiellement générer une instance de piobe. Si toutefois plusieurs files d’attente spécifient également la même valeur pour le paramètre file, les restrictions à l’accès série s’appliquent. Le démon qdaemon ne peut obtenir un verrouillage sur le fichier ou l’unité spécifié si qdaemon a déjà acquis le verrou pour une autre instance de piobe. Une file d’attente ne peut traiter un travail car cette restriction indique l’état DEV_BUSY pour cette file d’attente. L’état passe à RUNNING dès que qdaemon peut obtenir un verrou sur le fichier spécifié par le paramètre file. Une fois qu’un travail a été soumis au spouleur pour traitement et que qdaemon a accepté le travail et déterminé que c’est son tour d’être traité, le programme dorsal de la file d’attente est appelé. piobe utilise un shell pour construire et gérer un pipeline de filtres pour traiter le travail. La figure Flot des données des travaux d’impression courants illustre le flux d’un travail via le pipeline de filtres. 3-12 Imprimantes et impression Guide de l’utilisateur Examinez la zone libellée 1 sur la figure Flot des données des travaux d’impression courants. qdaemon (Reçoit les arguments de qdaemon via argc, argv[]) programme dorsal (piobe) shell filtre en option 2 3 1 pioformat code dépendant de l’unité pioout 4 5 pilote d’unité (/dev/lpx) 6 7 Flot des données des travaux d’impression courants Lorsque l’unité sur laquelle le travail est en file d’attente devient disponible, qdaemon appelle le programme dorsal de la file d’attente. Dans le monde AIX, le programme dorsal courant est piobe. qdaemon appelle piobe et lui transmet ses arguments en langage C classique, via argc and argv[]. Par exemple, via la commande de l’étape 2 dans ”Flot de données du spouleur - Partie II”, page 3-10 : qprt –Pasc –z1 –fp –p12 –s courier –C –N3 /etc/motd piobe reçoit les arguments suivants : • argc = 10 • argv[0] = /usr/lib/lpd/piobe • argv[1] – –f • argv[2] = p • argv[3] = –z • argv[4] = 1 • argv[5] = –p • argv[6] = 12 • argv[7] = –s • argv[8] = courier • argv[9] = /etc/motd Présentation du spouleur 3-13 argv[0] est le nom du programme dorsal lui-même, comme d’habitude. Notez que –Pasc, qui spécifie le nom de la file d’attente, a été analysé hors de son vecteur d’arguments d’origine, du fait des indicateurs et des arguments –C et –N3. Examinez la zone libellée 5,08 cm sur la figure Flot des données des travaux d’impression courants, page 3-13. piobe utilise les valeurs argv[] pour construire un pipeline de filtres qui doivent être exécutés pour traiter le travail comme requis. Après avoir déterminé la structure du pipeline, piobe transmet la structure à un shell pour réalisation. Si le paramètre file de l’entrée /etc/qconfig de cette file d’attente existe, piobe ouvre la sortie standard du dernier processus du pipeline sur la valeur spécifiée par le paramètre file. Le dernier processus du pipeline n’est pas protégé contre une réouverture de sortie standard sur un autre fichier ou une autre unité. Notez les relations parent-enfant entre ces processus, qui ne sont apparentes sur la figure : • qdaemon est le parent de piobe. • piobe est le parent du shell. • Le shell est le parent de pioout, le dernier processus du pipeline avant l’accès au pilote d’unité. pioout est appelé Interface Program for Use With the Device Driver ou programme d’interface du pilote d’unité. • pioout est le parent de pioformat. • pioformat charge dynamiquement et établit la liaison avec le code dépendant de l’unité au moment de l’exécution ; aussi le code dépendant de l’unité n’apparaît-il pas comme un processus dans la table des processus du système d’exploitation. • pioformat est le parent du filtre en option (s’il existe), tel que le filtre pr. Examinez la zone libellée 3 sur la figure Flot des données des travaux d’impression courants, page 3-13. Un filtre en option, tel pr, peut être spécifié sur la ligne de commande (ou codé en dur dans le fichier deux-points) pour exécuter un pré-filtrage du travail avant son traitement par pioformat. Examinez la zone libellée 10,16 cm sur la figure Flot des données des travaux d’impression courants, page 3-13. pioformat est connu comme pilote de formatage indépendant de l’unité. Il charge, établit les liaisons et pilote dynamiquement divers programmes de formatage dépendant des unités, pour traiter les travaux d’un flot de données de type spécifique (Postscript, ASCII, GL ou PCL, par exemple). Examinez la zone libellée 12,70 cm sur la figure Flot des données des travaux d’impression courants, page 3-13. Le code dépendant de l’unité est conçu pour gérer les propriétés uniques de combinaisons de flots de données spécifiques et d’imprimantes physiques. Les combinaisons de types de flots de données et d’imprimantes pouvant être regroupées dans des classes dotées d’attributs communs, il existe actuellement moins de 20 modules dépendant d’une unité. Ces modules sont chargés, liés et pilotés par pioformat au moment de l’exécution. Examinez la zone libellée 15,24 cm sur la figure Flot des données des travaux d’impression courants, page 3-13. pioout, fin du pipeline de traitement des travaux, est appelé programme d’interface du pilote d’unité. La fonction de pioout est de récupérer les flots de données traités et de les transmettre à l’unité à laquelle ils sont destinés, une imprimante le plus souvent. Dans un environnement de file d’attente d’impression locale classique, c’est la sortie standard de pioout qui est ouverte sur le fichier caractère spécial du répertoire /dev, comme spécifié par le paramètre file dans /etc/qconfig. 3-14 Imprimantes et impression Guide de l’utilisateur Examinez la zone libellée 7 sur la figure Flot des données des travaux d’impression courants, page 3-13. C’est le fichier caractère spécial du répertoire /dev qui donne accès au pilote d’unité pour le matériel de l’imprimante. Présentation du spouleur 3-15 Imprimantes virtuelles et filtres de formatage Lorsque le programme dorsal de la file d’attente du spouleur est piobe, le filtre de formatage est normalement l’avant-dernier processus du pipeline de filtres traitant le travail d’impression. Le filtre de formatage se compose de deux éléments de code. Comme son nom l’indique, un filtre de formatage permet de formater le fichier d’impression en entrée ou de le transmettre tel quel, selon le paramètre d’entrée spécifié. Même s’il transmet le fichier sans le modifier, le programme de formatage adresse en outre des commandes servant à initialiser l’imprimante avant l’impression du fichier en entrée, et restaure l’imprimante une fois l’impression terminée. Le filtre de formatage comporte deux éléments : • un pilote, qui ne dépend pas d’une unité, • un programme de formatage, dépendant d’une unité. Le premier est le pilote de formatage indépendant de l’unité, pioformat. Le second est un programme de formatage dépendant de l’unité (il en existe moins de 20). Le code est dit indépendant de l’unité lorsque son exécution ne dépend aucunement d’un matériel spécifique, tel qu’une imprimante physique particulière. De même, le code est dit dépendant de l’unité lorsque son exécution dépend d’un élément matériel spécifique, tel qu’une imprimante physique particulière. Dans le filtre de formatage du spouleur AIX, c’est le programme de formatage dépendant de l’unité qui contient le code destiné à gérer toutes les propriétés d’une imprimante physique donnée ou d’une classe d’imprimantes, parmi lesquelles le flot de données pris en charge, les séquences d’échappement et les codes de contrôle propres à cette imprimante ou cette classe d’imprimantes. Le processus pioformat indépendant de l’unité est appelé un pilote de formatage car c’est précisément sa fonction. Lorsqu’il est exécuté, pioformat attend plusieurs arguments. Un de ces arguments est le chemin d’accès complet à un programme de formatage dépendant de l’unité. A l’exécution, pioformat charge, établit la liaison et pilote dynamiquement le programme de formatage dépendant de l’unité. La figure Filtre de formatage, page 3-17 illustre cette relation. 3-16 Imprimantes et impression Guide de l’utilisateur Programme de formatage de /usr/lib/lpd/pio/fmtrs pioformat Pilote de formatage (Indépendant de l’unité) Programme de formatage (Dépendant de l’unité) Chargement/liaison du programme de formatage setup () (Gestion interne) initialize (Initialisation de l’imprimante) passthru() OU lineout() restore() (Valeurs de base de données) Configuration résumée base de données (Traitement des indicateurs) (Sortie des commandes) (Obtention de la chaîne base de données) (Sortie du message) (Sortie sur erreur du programme de formatage) (Pass-Through) OU (Line-by-Line) (Restauration de l’imprimante) piogetvals() piogetopt() piocmdout() piogetstr() piomsgout() pioexit() Filtre de formatage La commande pioformat attend de pouvoir, le cas échéant, faire appel à cinq sous-routines ; pioformat ne les contient pas lui-même. Les sous-routines se trouvent dans le programme de formatage dépendant de l’unité et sont fournies à pioformat au moment de l’exécution, lors du chargement et de la liaison du programme de formatage dépendant de l’unité par pioformat. Le pilote est appelé par un pipeline et reçoit le nom d’un programme de formatage à piloter. Le pilote du programme de formatage se charge dynamiquement, établit la liaison avec le programme de formatage et appelle la fonction setup, laquelle indique s’il convient de formater les données ou de leur appliquer la fonction passe–système. Après exécution par setup des fonctions requises, elle revient au pilote du programme de formatage. Le pilote appelle la fonction initialize. La fonction initialize génère une chaîne de commandes imprimante pour initialiser l’imprimante, puis revient au pilote de formatage. Le pilote appelle soit la fonction passthru (une fois), soit la fonction lineout (une fois par ligne du fichier d’impression), selon le code renvoyé par setup. Si la fonction lineout est appelée, le pilote de formatage effectue tous les alignements verticaux (interlignes, tabulations verticales, sauts de page, marges inférieure et supérieure, etc.). Interlignage et tabulations verticales sont exécutés par la fonction lineout. Le traitement des autres fonctions concernant l’espacement est automatique. Le traitement terminé, le pilote de formatage appelle la fonction restore. La fonction restore génère une chaîne de commandes imprimante pour réinitialiser l’imprimante à son état par défaut, défini par les valeurs de l’attribut base de données. Pour en savoir plus sur les interactions entre le programme de formatage de l’impression et les sous-routines de formatage de l’imprimante, reportez-vous à ”Exemple de programme de formatage d’impression”, page 4-26. Présentation du spouleur 3-17 Fichier de configuration du spouleur : /etc/qconfig Structure du fichier etc/qconfig /etc/qconfig est le fichier le plus important du domaine du spouleur, à triple titre : • Il contient la définition de toutes les files d’attente connues du spouleur. • Un administrateur système peut lire ce fichier et déterminer la fonction de chaque file d’attente. • Bien que ce soit déconseillé, ce fichier peut être édité pour modifier les files d’attente du spouleur sans arrêter le spouleur. /etc/qconfig décrit toutes les files d’attente définies pour le système d’exploitation AIX ; une file d’attente est une liste ordonnée et nommée de requêtes vis-à-vis d’une unité spécifique. Une unité est un élément (matériel ou logiciel) susceptible de gérer ces requêtes une par une. La file d’attente procure un accès série à l’unité. Chaque file d’attente doit être servie par au moins une unité ; plusieurs unités peuvent souvent lui être associées. qdaemon lit la version ASCII de /etc/qconfig et crée une version binaire, /etc/qconfig.bin. /etc/qconfig doit répondre à un format structuré spécifique pour que qdaemon puisse l’analyser. Ce format est décrit en détail dans les exemples de Structure du fichier /etc/qconfig, ci-après. Local Queue queue_name: device = device_name up = TRUE or FALSE discipline = fcfs or sjn device_name: file = physical_device_name or FALSE header = always or group or never trailer = always or group or never access = both or write backend = full_path_name_to_backend_program Remote Queue queue_name: device = device_name up = TRUE or FALSE host = remote_hostname s_statfilter = full_path_to_short_filter l_statfilter = full_path_to_long_filter rq = remote_queue_name device_name: backend = full_path_name_to_backend_program /etc/qconfig est composé de blocs de texte appelés strophes. Chaque file d’attente est représentée par une paire de strophes. La première est appelée strophe de file d’attente ; la seconde est appelée strophe d’unité. Les strophes sont composées de paramètres et de valeurs de paramètres qui décrivent les propriétés et les fonctions de la file d’attente. 3-18 Imprimantes et impression Guide de l’utilisateur Lorsque qdaemon analyse la version ASCII de /etc/qconfig, la première ligne (non en commentaire) qu’il identifie doit être un mot suivi d’un deux-points ; cette ligne représente le début de la strophe de file d’attente. Ce mot est le nom d’une file d’attente à laquelle un utilisateur peut soumettre un travail. Cette ligne doit être suivie d’une ou de plusieurs lignes indentées par des tabulations. L’une des ces lignes doit être device = device_name. La valeur du paramètre device est un lien de la strophe de file d’attente vers la strophe d’unité ; ce paramètre n’a pas d’autre fonction. Lorsqu’une file d’attente est configurée pour la première fois, le système d’exploitation utilise fréquemment le nom d’une imprimante, tel que lp1, comme valeur du paramètre device. Bien que la file d’attente puisse en réalité être configurée pour utiliser lp1, utiliser lp1 comme valeur du paramètre device signifie simplement que la strophe d’unité sera nommée lp1. Ceci n’a aucune relation avec le fait qu’il existe réellement une imprimante connue du système d’exploitation sous le nom lp1. A la suite des lignes indentées, qdaemon doit trouver le mot qui correspond à la valeur du paramètre device, suivi d’un deux-points ; cette ligne représente le début de la strophe d’unité. Ce mot, qu’un utilisateur n’a normalement pas besoin de connaître, est le nom d’une unité à laquelle la strophe d’unité correspondante fournit un accès série. Cette ligne doit être suivie d’une ou de plusieurs lignes indentées par des tabulations. Une de ces lignes doit être backend = full_path_name_to_backend. Dans un environnement de spoulage local, il existe deux paramètres critiques dans cette strophe. Le paramètre file spécifie l’unité réelle à laquelle la file d’attente donne un accès série. Il est important de noter que les travaux soumis au système de spoulage sont mis en file d’attente sur cette unité. Si cette file d’attente est configurée pour utiliser une imprimante connue du système d’exploitation sous le nom lp1, la valeur du paramètre file est /dev/lp1. Les routines du système d’exploitation qui créent les files d’attente utilisent le nom de l’unité réelle comme nom par défaut de la strophe unité, et c’est pourquoi il existe une certaine confusion quant à la signification du paramètre device. Le paramètre backend spécifie le chemin d’accès complet au programme qui traite les travaux soumis au système de spoulage, une fois que qdaemon a déterminé que c’est le tour du travail à être traité. Files d’attente du spouleur, imprimantes virtuelles et imprimantes physiques L’exemple Quatre files d’attente – Quatre imprimantes virtuelles – Une imprimante physique décrit une instance de/etc/qconfig qui définit quatre files d’attente sur une seule imprimante physique, ici /dev/lp1. Notez que les quatre paires de strophes utilisent la chaîne lp1 pour connecter une strophe de file d’attente à une strophe d’unité. C’est le paramètre file de chaque strophe d’unité qui spécifie que l’imprimante connue du système d’exploitation AIX sous le nom lp1, et dont le point d’entrée du pilote est /dev/lp1, est la destination physique effective de tout travail soumis à n’importe laquelle de ces files d’attente. Lorsque ces files d’attente ont été définies, via smit, la commande qui a réellement créé la définition de file d’attente demandait une chaîne pour connecter les deux moitiés de chaque paire de strophes. Dans la mesure où l’imprimante physique disponible était lp1, la chaîne lp1 a été utilisée comme valeur du paramètre device dans chaque strophe de file d’attente et comme nom de chaque strophe d’unité. Ce format est décrit en détail dans les exemples de Structure du fichier /etc/qconfig, ci-après. asc: device = lp1 lp1: file = /dev/lp1 header = never trailer = never access = both backend = /usr/lib/lpd/piobe Présentation du spouleur 3-19 gl: device = lp1 lp1: file = /dev/lp1 header = never trailer = never access = both backend = /usr/lib/lpd/piobe pcl: device = lp1 lp1: file = /dev/lp1 header = never trailer = never access = both backend = /usr/lib/lpd/piobe ps: device = lp1 lp1: file = /dev/lp1 header = never trailer = never access = both backend = /usr/lib/lpd/piobe Chacune de ces paires de strophes définit une file d’attente. Lorsque le programme dorsal d’une file d’attente est piobe, une imprimante virtuelle est également associée à chaque file d’attente. Bien qu’il soit possible de créer des définitions d’imprimante virtuelle matériellement, les définitions d’imprimante virtuelle sont le plus souvent créées en même temps que la définition de la file d’attente, via smit et la commande piomkpq. La définition d’imprimante virtuelle ne se trouve pas dans /etc/qconfig. Sa présence est sous-entendue par le fait que le programme dorsal du spouleur pour une file d’attente donnée est piobe, mais elle est stockée ailleurs dans le système de fichiers AIX. Le nom de la file d’attente identifie et donne accès à la définition d’imprimante virtuelle. L’imprimante physique connue d’AIX sous le nom lp1 prend en charge au moins quatre types de flots de données : ASCII (asc), Plotter Emulation (gl), Printer Command Language (pcl) et PostScript (ps). Chaque file d’attente et sa définition d’imprimante virtuelle associée est désignée pour traiter un type de flot de données particulier, d’où les quatre files d’attente. Ceci est la base de la notion AIX de séparation logique entre imprimantes virtuelles et physiques. Noms des files d’attente du spouleur et formats des états Les noms des files d’attente du spouleur (nom d’une strophe de file d’attente) peuvent être de plus de sept caractères, mais seuls les sept premiers sont affichés par une commande d’affichage de l’état d’une file d’attente. Les noms d’unité (nom d’une strophe d’unité) sont limités à cinq caractères, sur la sortie générée par une commande d’affichage de l’état d’une file d’attente. 3-20 Imprimantes et impression Guide de l’utilisateur Avec une demande d’affichage de l’état d’une file d’attente du spouleur, les files d’attente du spouleur distant seront affichées deux fois : une fois pour la file d’attente locale, et une fois pour la file d’attente distante sur le serveur d’impression. Par exemple, si /etc/qconfig contient l’entrée : myps: device = @kricket up = TRUE host = kricket s_statfilter = /usr/lib/lpd/aixshort l_statfilter = /usr/lib/lpd/aixlong rq = myps @kricket: backend = /usr/lib/lpd/rembak la commande lpstat –pmyps renvoie : Queue ––––––– myps myps Dev ––– @krik myps Status Job Files User PP % ––––––––– ––– –––––––– ––––––––– –– – READY READY Blks Cp –––– –– Rnk ––– La première ligne affichée indique que la file d’attente du spouleur local appelée myps, dont le nom de la strophe d’unité est affichée comme @krik, est à l’état READY. La seconde ligne affichée indique que la file d’attente du spouleur cible distant, également appelée myps, dont le nom de la strophe d’unité est affichée comme myps, est également à l’état READY. (C’est l’habitude de l’auteur de donner à la file d’attente du spouleur local le même nom que la file d’attente du spouleur du serveur d’impression. Il est ensuite plus simple de regrouper visuellement les deux lignes d’état affichées par une requête sur l’état de la file d’attente d’un spouleur.) Présentation du spouleur 3-21 Récapitulatif La figure Récapitulatif du flot de données du spouleur synthétise le flot de haut niveau d’un travail d’impression du spouleur via le spouleur AIX. Frontal SMIT BSD lpq lpr lprm lptest ATT cancel disable enable lp lpstat AIX qadm qcan qchk qpri qprt qhld qmov appelle crée enq JDF lit appelle /etc/qconfig /etc/qconfig.bin lit crée digest qdaemon fork() et exec() piobe shell filtre en option pioformat + programme de formatage pioout unité pilote Récapitulatif du flot de données La boîte libellée Frontal contient les commandes, dont l’interface smit, à disposition des utilisateurs pour soumettre un type ou un autre de travail au spouleur. Chacune de ces commandes, excepté les interrogations sur l’état des files d’attente, appelle la commande enq, laquelle crée un fichier JDF (job description file) ; les interrogations sur l’état des files d’attente appellent enq, mais ne créent pas de fichier JDF. La commande enq notifie le démon qdaemon de l’existence d’un nouveau JDF. Le démon qdaemon lit le JDF et lance le processus d’acquisition des ressources requises pour traiter le travail. Une fois que le démon qdaemon a acquis ces ressources, il utilise les sous-routines fork() et exec() pour lancer l’exécution du programme dorsal de la file d’attente. Le démon qdaemon transmet au programme dorsal tous les arguments appropriés à partir de la commande de soumission de travail d’origine, ainsi qu’un descripteur de fichier ouvert (issu du paramètre file du fichier /etc/qconfig). Dans le cas d’une file d’attente du spouleur associée au programme dorsal piobe, piobe utilise le nom de la file d’attente pour accéder à la définition de l’imprimante virtuelle pour cette file d’attente, déterminant le chemin d’accès complet à tous les processus qui deviendront le pipeline de filtres qui traitent réellement le travail du spouleur. Ce pipeline est transmis à un shell pour exécution. 3-22 Imprimantes et impression Guide de l’utilisateur Dans le cas de piobe, le pipeline peut commencer par un pré-filtre en option, tel que la commande pr. La sortie de la commande pr devient l’entrée standard du pilote de formatage, pioformat, qui charge, établit la liaison et pilote dynamiquement le programme de formatage. La sortie de pioformat devient l’entrée standard de pioout. pioout utilise le descripteur de fichier ouvert transmis par le démon qdaemon pour délivrer le travail de spouleur traité au pilote d’unité, un fichier caractère spécial se trouvant dans le répertoire /dev. En l’absence de pré-filtre spécifié, pioformat devient le premier processus du pipeline. Présentation du spouleur 3-23 3-24 Imprimantes et impression Guide de l’utilisateur Chapitre 4. Imprimante, traceur et programmation du sous-système de spoulage Ce chapitre traite les thèmes suivants : • Présentation du programme dorsal pour la programmation de l’imprimante • Définition et attributs d’une imprimante virtuelle, page 4-4 • Séquences d’échappement du fichier deux-points de l’imprimante, page 4-14 • Conventions du fichier deux-points de l’imprimante, page 4-21 • Exemple de programme de formatage d’impression, page 4-26 • Interaction entre qdaemon et le programme dorsal, page 4-29 • Tables de traduction de la page de code de l’imprimante, page 4-38 • Fichiers de raccord de l’imprimante, page 4-46 • Opérateurs du champ limits du fichier deux-points d’une imprimante, page 4-50 • Ajout d’un support pour configurer une imprimante raccordée au réseau, page 4-57 • Ajout d’une imprimante via le fichier deux-points de l’imprimante, page 4-62 • Informations spécifiques de l’imprimante, page 4-64 • Support de l’imprimante, page 4-132 • Mode passe-système, page 4-136 • Affichage, formatage et modification des définitions d’imprimantes virtuelles, page 4-139 • Modification des attributs mi, mp et _d d’une file d’attente PostScript, page 4-144 • Utilisation des fichiers deux-points de l’imprimante par piobe, page 4-146 • Calcul de la longueur de page via les séquences d’échappement du fichier deux-points de l’imprimante, page 4-149 • Calcul de la largeur de page via les séquences d’échappement du fichier deux-points de l’imprimante, page 4-159 • Pages d’en-tête et de fin d’un travail du spouleur, page 4-169 • Modification de l’attribut mo d’imprimante virtuelle, page 4-173 • Filtres, page 4-176 Imprimante, traceur et programmation du sous–système de spoulage 4-1 Présentation du programme dorsal pour la programmation de l’imprimante Le AIX programme dorsal de l’imprimante reçoit et traite les requêtes émises par un spouleur, généralement la commande qdaemon. Le programme dorsal de l’imprimante est une fonction standard du système AIX. Il est implémenté par la commande piobe et fonctionne comme illustré à la figure Impression avec le système d’exploitation AIX. AIX pilote d’unité réacheminement lp lpr file d’attente enq qdaemon (local) piobe Xstation interface qprt socket issu du client interface de connexion au LAN lpd (distant) rembak socket vers serveur Impression sur le système d’exploitation AIX Le programme dorsal de l’imprimante prend en charge toutes les imprimantes installées de la base de données prédéfinie ODM (Object Data Manager). Vous pouvez personnaliser le programme dorsal de l’imprimante pour aider à l’administration du sous-système d’impression. Pour en savoir plus, reportez-vous à ”Présentation de l’imprimante”, page 2-1. Vous pouvez également modifier le programme dorsal de l’imprimante pour ajouter des imprimantes non prises en charge ainsi que les tables de traduction des pages de code NLS (National Language Support). Ajouter une imprimante au programme dorsal de l’imprimante suppose d’ajouter un fichier deux-points pour cette imprimante. Le plus souvent, vous pouvez vous contenter de copier et de modifier quelque peu le fichier deux-points d’une imprimante similaire. Si modifier le fichier deux-points d’une imprimante existante ne suffit pas, vous pouvez rédiger un programme de formatage d’impression. Si les modifications vont au-delà de la portée du programme de formatage, vous devrez peut-être écrire un nouveau programme dorsal d’imprimante. Pour en savoir plus, reportez-vous aux sections suivantes : • ”Ajout d’une imprimante via le fichier deux-points de l’imprimante”, page 4-62 indique la procédure de duplication d’un fichier deux-points d’imprimante. • ”Séquences d’échappement du fichier deux-points de l’imprimante”, page 4-14 donne des indications sur la modification du fichier deux-points de l’imprimante. • ”Routines du programme dorsal dans libqb”, page 4-35 et ”Interactions entre qdaemon et le programme dorsal”, page 4-29 vous aident à écrire un nouveau programme dorsal d’imprimante. 4-2 Imprimantes et impression Guide de l’utilisateur La procédure de traduction des points de code NLS du fichier d’impression en points de code imprimante varie selon que les jeux de codes sont mono ou multioctets. Pour en savoir plus, reportez-vous à : • ”Tables de traduction de la page de code de l’imprimante”, page 4-38 • ”Traduction de la page de code de l’imprimante pour les jeux de code multioctets”, page 4-40. Les fournisseurs tiers peuvent personnaliser le programme dorsal de l’imprimante à des fins particulières. Flot de données du programme dorsal de l’imprimante Le premier objet d’un programme dorsal est d’envoyer des caractères à une unité, une imprimante généralement. Le programme dorsal de l’imprimante est appelé une fois pour chaque fichier ou groupe de fichiers à imprimer, le nom de chaque fichier étant passé comme paramètre au programme dorsal. Le programme dorsal ouvre le fichier, le lit et l’envoie à l’unité. Le mieux est que le programme dorsal écrive dans sa sortie standard, le processus qdaemon ouvrant l’unité avec le bon descripteur de fichier. Ceci requiert de définir le champ file dans le fichier qconfig. Le nom du fichier à imprimer peut être un chemin d’accès direct ou relatif. L’ID utilisateur et l’ID groupe du programme dorsal sont ceux du processus qui a appelé la commande enq. Lorsqu’un programme dorsal est appelé, il a accès à l’environnement utilisateur. Pour accéder à l’environnement utilisateur, le programme dorsal peut appeler la sous-routine getenv. Par exemple, pour accéder au répertoire utilisateur, getenv(PWD) renvoie un pointeur sur le nom du répertoire. Le programme dorsal s’en sert pour lire dans ce répertoire ou pour y écrire. Si le programme dorsal écrit vers sa sortie standard, qdaemon ouvre l’unité en mode utilisateur racine. Si le programme dorsal doit ouvrir lui-même l’unité, il doit détenir les droits requis pour cette opération. Dans la mesure où le programme dorsal est exécuté avec les droits de l’utilisateur qui a envoyé le travail d’impression, vous aurez peut-être à modifier les protections définies sur l’unité ou à installer l’ID utilisateur ou l’ID groupe du programme dorsal. Par défaut, stdin, stdout et stderr s’ouvrent sur l’unité nulle (/dev/null), bien qu’il soit possible de passer outre la définition de stdout (et éventuellement de stdin) via les champs file et access du fichier qconfig. Imprimante, traceur et programmation du sous–système de spoulage 4-3 Définitions et attributs d’une imprimante virtuelle Une définition d’imprimante virtuelle est un fichier qui apparie les attributs ou les caractéristiques d’une imprimante donnée avec les attributs d’un type de flots de données spécifique. Si l’imprimante prend en charge plusieurs types de flot de données, vous devez créer une définition d’imprimante virtuelle, appariant les attributs de l’imprimante avec chaque type de flot de données. Ainsi, si une imprimante accepte les flots de données ASCII et PostScript, vous devez créer deux définitions d’imprimante virtuelle pour l’imprimante. Le fichier deux-points stocke la définition d’imprimante virtuelle d’une imprimante ou d’un traceur. Les fichiers deux-points résident dans les répertoires de base de données prédéfinie et personnalisée. Le programme dorsal de l’imprimante utilise les valeurs d’attribut stockées dans les fichiers deux-points pour formater les requêtes d’impression. Toutes les valeurs d’attribut résident dans les fichiers deux-points sous forme de chaînes de caractères, qu’ils représentent des chaînes, des entiers ou des booléens. Une valeur d’attribut peut intégrer des références à d’autres valeurs d’attribut ou une logique intégrée qui détermine dynamiquement le contenu de la valeur. Pour en savoir plus sur les fichiers deux-points et sur l’emploi des références et de la logique intégrées dans les chaînes d’attribut, reportez-vous à ”Conventions du fichier deux-points de l’imprimante”, page 4-21 et à ”Séquences d’échappement du fichier deux-points de l’imprimante”, page 4-14. Attributs d’imprimante virtuelle Les commandes utilisées pour créer une imprimante virtuelle (les commandes mkvirprt ou smit virprt) copient une définition d’imprimante prédéfinie et crée une définition personnalisée pour la file d’attente et l’unité de file d’attente spécifiées. Les valeurs d’attribut dans la définition personnalisée peuvent être encore modifiées, via les commandes chvirprt ou smit lsvirprt. Vous devez créer une imprimante virtuelle pour chaque type de flot de données pris en charge par une unité imprimante donnée. Parmi les types de flots de données pris en charge : Type de flot de données Code de nom/valeur d’attribut Description asc a ASCII étendu pcl c Hewlett–Packard PCL 630 d Diablo 630 gl g Hewlett–Packard GL p Passe-système (envoyé tel quel à l’imprimante) ps s PostScript 855 a Texas Instruments 855 kji k Kanji Lorsque vous lancez la commande mkvirprt ou smit virprt pour créer une imprimante virtuelle, le système vous invite à sélectionner l’imprimante souhaitée dans la liste des imprimantes définies. Si vous venez de configurer un port pour une nouvelle imprimante, sélectionnez ce nouveau port. Une fois la commande d’imprimante virtuelle exécutée, le système crée une file d’attente d’impression et copie le fichier deux-points de l’imprimante sélectionnée du répertoire de base de données prédéfinie, /usr/lib/lpd/pio/predef/*, dans le répertoire base de données personnalisée /var/spool/lpd/pio/custom/*. 4-4 Imprimantes et impression Guide de l’utilisateur Remarque : En l’absence d’indicateurs spécifiés, la commande mkvirprt devient interactive. Lancez la commande chvirpt ou smit lsvirprt pour modifier ou personnaliser les valeurs d’attribut stockées dans une définition d’imprimante virtuelle. Pour modifier un attribut via smit lsvirprt, entrez attribute_name=attribute_value sans espace de part et d’autre du signe = (égal). Le nom de chaque attribut dans une définition d’imprimante virtuelle doit être unique. Les noms d’attribut peuvent contenir les caractères a à z, A à Z, 0 à 9 et _ (trait de soulignement). Les noms d’attributs ne doivent pas commencer par un chiffre. Tous les noms d’attribut doivent être de deux caractères, excepté les noms d’attribut de l’en-tête de groupe, qui peuvent aller jusqu’à cinq caractères. Les noms d’attribut des en-têtes de groupe commencent par _ _ (deux traits de soulignement) et ne doivent pas dépasser cinq caractères. Un attribut d’en-tête de groupe marque le début des attributs relatifs à un groupe. La suite de cette section décrit les groupes d’attributs d’imprimante virtuelle suivants. • Attributs valeur d’indicateur par défaut • Attributs d’administration du système • Attributs du flot des données en entrée • Attributs des indicateurs interdits • Attributs de l’indicateur de filtre • Attributs de répertoire • Attributs divers • Attributs de variable de travail • Attributs d’agrégats de commandes • Attributs des codes de contrôle (ASCII) • Attributs des séquences d’échappement Les exemples illustrent quelques-uns des attributs classiques pour une imprimante laser PostScript prise en charge (4029 LaserPrinter). Chaque exemple indique comment les commandes lsvirprt et smit lsvirprt affichent les attributs d’imprimante virtuelle (avec un descripteur pour chaque attribut) et comment ces mêmes attributs sont stockés dans le fichier deux-points de l’imprimante. Attributs valeur d’indicateur par défaut Les attributs de la valeur d’indicateur par défaut sont regroupés sous l’attribut d’en-tête de groupe _ _FLG. Si un indicateur correspondant à l’attribut est utilisé avec une commande d’impression, les valeurs de ces attributs sont remplacées à partir de la ligne de commande. Par exemple, l’attribut _l dans une définition d’imprimante virtuelle contient une valeur indiquant le nombre de lignes à imprimer sur une page. Supposons que la valeur par défaut stockée dans l’attribut _l soit 66. La requête d’impression suivante ne spécifie pas le nombre de lignes par page via l’indicateur –l : qprt –P Pro myfile Le sous-système d’imprimante utilise la valeur par défaut 66 de _l pour traiter la requête d’impression. La requête d’impression suivante utilise l’indicateur –l pour spécifier 50 lignes de texte par page : qprt –l 50 –P Pro myfile La valeur de l’indicateur –l remplace la valeur par défaut de l’attribut _l de la définition d’imprimante virtuelle pour l’imprimante Pro. Imprimante, traceur et programmation du sous–système de spoulage 4-5 Le premier caractère d’une valeur d’indicateur par défaut est toujours _ (trait de soulignement). Le second caractère correspond à l’indicateur de la commande pour laquelle la valeur par défaut est stockée. L’exemple suivant illustre quelques-unes des valeurs d’attribut sous l’en-tête de groupe _ _FLG. Voici les valeurs classiques pour une imprimante laser PostScript prise en charge. Nom Description _ _FLG VALUES THAT MAY BE OVERRIDDEN WITH FLAGS ON THE COMMAND LINE _1 Page Headings Wanted For Text Converted to PostScript? (!: no; +: yes) _2 Use Two Columns for Text Converted to PostScript? (!: no; +: yes) _3 Gaudy Mode Wanted for Text Converted to PostScript? (!: no; +: yes) _4 Print Garbage File Anyway for Text Converted to PostScript? (!: no; +: yes) _5 List Characters Not In Font When Converting Text to PostScript? (!: no; +: yes) _6 Font Name for Header Line of Text Converted to PostScript _A stderr returned? 0:no; 1:yes, & pipelines; 2:yes, & values, pipelines _H Name To Replace Host Name On Burst Page _J Restore the Printer at the End of the ? Print Job (!: no; +: yes) _L Wrap Long Lines (!: no; +: yes) Valeur ! ! ! ! ! 300 1 + + Les attributs précédents sont stockés dans le fichier deux-points sous la forme : :056:_ _FLG:: :466:_1::! :467:_2::! :469:_3::! :470:_4::! :471:_5::! :472:_6::300 :013:_A::1 :022:_H:: :027:_J::+ :030:_L::+ Attributs d’administration du système L’attribut d’en-tête de groupe _ _SYS stocke les valeurs d’attribut tels que les attributs sh, si et st. Les attributs sh et st stockent les pipelines pour la page d’en-tête et la page de fin. L’attribut si identifie le destinataire des messages d’intervention lorsque l’imprimante requiert une intervention. Une chaîne nulle spécifie que les messages d’intervention doivent être adressés à l’utilisateur qui a soumis le travail d’impression. Séparez les noms d’utilisateurs par des virgules. Pour modifier les attributs, utilisez l’option SMIT Virtual Printers ou la commande chvirprt. Par exemple, si= spécifie que l’utilisateur ayant soumis le travail d’impression doit recevoir les messages, si=mary spécifie que l’utilisateur mary doit recevoir les messages et si=,jim@server02 spécifie que l’utilisateur qui a soumis le travail et jim sur le noeud server02 doivent tous deux recevoir les messages d’intervention. Le premier caractère d’un attribut d’administration du système est s. 4-6 Imprimantes et impression Guide de l’utilisateur Voici quelques attributs _ _SYS classiques pour une imprimante laser PostScript prise en charge : _ _SYS OTHER VALUES OF INTEREST TO THE SYSTEM ADMINISTRATOR sh Pipeline for Header Page %Ide/pioburst %F[H %Idb/H.ps | %Ide/pioformat –@%Idd/ %Imm–!%Idf/piofpt%f[j] si Users, Separated by Commas, to Get Intervention Messages; Null String Is Job Submitter sp Command Line Flags Prohibited For All –d values; Ignored: cmnrBDMPRT st Pipeline for Trailer Page %Ide/pioburst %F[H] %Idb/T.ps | %Ide/pioformat –@%Idd/ %Imm –!%Idf/piofpt%f[j] sw Width of Attribute Value Area On Header Page 78 (0 means ignore width) Ces mêmes valeurs d’attribut sont stockées dans le fichier deux-points de l’imprimante sous la forme : :060:_ _SYS:: :321:sh::%Ide/pioburst %F[H] %Idb/H.ps | %Ide/pioformat –@%Idd/%Imm –!%Idf/piofpt %f[j] :322:si:: :323:sp:: :324:st::%Ide/pioburst %F[H] %Idb/T.ps | %Ide/pioformat –@%Idd/%Imm –!%Idf/piofpt %f[j] :325:sw::78 Attributs du flot des données en entrée L’attribut d’en-tête de groupe _ _IDS titre la liste des attributs qui stockent les pipelines des différents flots de données en entrée. Parmi les attributs de ce groupe figurent l’attribut ia qui stocke le pipeline du flot des données ASCII en entrée étendu et l’attribut is stocke le pipeline du flot des données PostScript en entrée. L’ attribut ip est également un attribut classique de ce groupe. L’attribut ip (passe-système) transmet telle quelle à l’imprimante la sortie d’un filtre de formatage. Le premier caractère d’un attribut de flot de données en entrée est i. Le second désigne le type du flot de données en entrée. L’exemple suivant d’attributs _ _IDS illustre les pipelines classiques de flots de données en entrée pour une imprimante laser PostScript prise en charge (4029 LaserPrinter). Imprimante, traceur et programmation du sous–système de spoulage 4-7 _ _IDS PIPELINES FOR INPUT DATA STREAMS (2 char, 1st=”i”, 2nd=data stream name) ia Pipeline for Input Data Stream ”a” (extended ASCII) /usr/bin/enscript –p– –q%?%G_2%t –2%;%?%G_z%t –r%;%?%G_3%t –G%;%?%G_1%t%e –B%;%?%G_L%t%e –c%;%?%Ch%t%fbh%e%?%L_h%t –b’%I_h’%;%; –L%G_l%d –f%?%Cs%t%f!s%e%I_s%;%G_p%d %?%G_1%t–F%Iw7%G_p%d%;%?%G_4%t–g%;%?%G_5%t –o%;%?%L_f%t%e%I@1%; | %Iis il Command Line Flags Prohibited For Input Data Stream; Ignored: cmnrBDMPRT /interleaf/ileaf5/bin/pl2ps–ppd IBM17521.PPD –r 1270–nf–np | %Ide/pioformat –@%Idd/%Imm–!%Idf/piofpt %f[juJZ] in Pipeline for Input Data Stream ”n” (troff (ditroff) intermediate output) /usr/bin/psc |s%Ii ip Pipeline for Input Data Stream ”p” (pass–through) %Iis is Pipeline for Input Data Stream ”s” (PostScript) %Ide/pioformat–@%Idd/%Imm –!%Idf/piofpt %UH %f[juJZ] Le fichier deux-points stocke ces mêmes attributs sous la forme : :057:_ _IDS:: :274:ia::/usr/bin/enscript –p– –q%?%G_2%t –2%;%?%G_z%t –r%;%?%G_3%t –G%;%?%G_1%t%e –B%;%?%G_L%t%e –c%;%?%Ch%t%fbh%e%?%L_h%t –b’%I_h’%;%; –L%G_l%d –f%?%Cs%t%f!s%e%I_s%;%G_p%d %?%G_1%t–F%Iw7%G_p%d%;%?%G_4%t –g%;%?%G_5%t –o%;%?%L_f%t%e %I@1%; | %Iis :001:il::/interleaf/ileaf5/bin/pl2ps –ppd IBM17521.PPD –r 1270 –nf – np | %Ide/pioformat –@%Idd/%Imm –!%Idf/piofpt %f[juJZ] :465:in::/usr/bin/psc | %Iis :277:ip::%Iis :273:is::%Ide/pioformat –@%Idd/%Imm –!%Idf/piofpt %UH %f[juJZ] Attributs des indicateurs interdits Les attributs regroupés sous l’en-tête de groupe _ _PFL stockent les noms des indicateurs de commande qui seront rejetés par le programme dorsal de l’imprimante pour un flot de données particulier. Si vous utilisez un indicateur de commande interdit dans une requête d’impression frontale (telle que qprt), le système rejette l’indicateur et renvoie un message indiquant que l’indicateur est interdit par l’administration du système. Le premier caractère du nom d’un attribut d’indicateur interdit est I et le second représente le type de flot de données à rejeter. Pour interdire plusieurs indicateurs pour un type de flot de données, stockez les noms (un caractère) des indicateurs, sans espace, ni virgules ou autre délimiteur. Par exemple, pour rejeter les indicateurs –e (impression en gras) et –E (impression double hauteur) pour les flots de données ASCII étendu, lancez la commande smit lsvirprt et entrez, pour définir cet attribut : Ia=eE L’exemple suivant illustre l’attribut Is qui définit l’attribut d’indicateur interdit pour le flot de données PostScript sur une imprimante PostScript prise en charge. Le descripteur de l’attribut Is contient la chaîne Ignored: cmnrBDMPRT. Cette chaîne indique que le programme dorsal ignore les indicateurs représentés par les caractères individuels cmnrBDMPRT. Ces indicateurs adressent le sous-système de spoulage et non le programme dorsal. Aussi, indiquer un des ces indicateurs comme interdit n’a aucune incidence sur le programme dorsal ; l’indicateur n’est pas interdit. _ _PFL FLAGS PROHIBITED FOR INPUT DATA STREAMS (2 char,1st=”I”,2nd=data str name) Is Command Line Flags Prohibited For Input Data Stream; Ignored: cmnrBDMPRT 4-8 Imprimantes et impression Guide de l’utilisateur Le fichier deux-points stocke les attributs de l’exemple précédent comme suit : :059:_ _PFL:: :001:Is:: Attributs de l’indicateur de filtre Les attributs regroupés sous l’en-tête de groupe _ _FIL stockent les chaînes de commande pour les indicateurs de filtre texte. Le premier caractère du nom de l’attribut est toujours f et le second désigne le type de filtre. Les indicateurs de filtre, tels que –p et –n, indiquent au programme dorsal le type de filtre utilise pour formater le travail d’impression. Les attributs de filtre sont désignés comme suit : fp pr filter fn Formate les fichiers contenant les données ditroff (device–independent troff) fl Imprime les caractères de contrôle et supprime les sauts de page. ft Formate les fichiers contenant les données générées via les commandes troff fd Le filtre DVI formate les fichier créés avec tex fg Formate les fichiers de données du traceur standard (fichiers créés via plot) fv Formate les fichiers image raster fc Formate les fichiers contenant les données générées via cifplot ff Interprète le premier caractère de chaque ligne comme un caractère de contrôle chariot FORTRAN. fb Détermine le support local des langues arabe et hébraïque. Doit être /usr/bin/bprt. La largeur doit être définie à 80 et le flot de données à a (ASCII étendu). Ajoutez l’indicateur – tashkeel pour imprimer les documents avec les signes diacritiques. La valeur stockée dans un attribut de filtre désigne la chaîne de commande pour le filtre spécifié. Les entrées pour une imprimante laser PostScript prise en charge peuvent inclure : _ _FIL COMMAND STRINGS FOR FILTER FLAGS (2 char, 1st=”f”,2nd=flag) fn Command String for the ”n” Filter. /usr/bin/psc%is fp Command String for the ”p” Filter /bin/pr –l%G_l%d –w%G_w%d%F[h] %I@1%ia fb Command String for the ”b” Filter. /usr/bin/bprt–w%I_w –d%I_d–tashkeel Ces mêmes valeurs d’attribut sont stockées dans le fichier deux-points sous la forme : :055:_ _FIL:: :269:fn::/usr/bin/psc%is :270:fp::/bin/pr –l%G_l%d –w%G_w%d%F[h] %I@1%ia L’attribut fd est un attribut de filtre classique. Il sert à spécifier un filtre DVI pour l’imprimante virtuelle. Utilisez SMIT ou la commande chvirprt pour spécifier ce filtre. Par exemple, pour spécifier un filtre DVI via SMIT, entrez : smit lsvirprt Sélectionnez l’imprimante virtuelle souhaitée et tapez : fd=/usr/bin/dvi_to_printer%ip où dvi_to_printer est le chemin d’accès complet du filtre qui convertit la sortie DVI du format tex au format attendu par l’imprimante. La désignation %ip force l’utilisation du pipeline passe-système (attribut ip) pour traiter le fichier d’impression au lieu du pipeline ASCII (attribut ia). Le pipeline passe-système transmet telle quelle à l’imprimante la sortie du filtre. Imprimante, traceur et programmation du sous–système de spoulage 4-9 Une fois le filtre DVI spécifié dans l’attribut fd, vous pouvez envoyer une commande d’impression telle que lpr –d DviFile ou qprt –fd DviFile. Les indicateurs –d et –fd passent à leurs commandes respectives DviFile, un fichier de sortie généré par tex, via le filtre DVI, et envoient les résultats à l’imprimante. Attributs de répertoire Les attributs de répertoire sont regroupés sous l’attribut d’en-tête de groupe _ _DIR. Ces attributs stockent les chemins d’accès aux différents fichiers requis pour traiter les requêtes d’impression, tels que tables de traduction, fichiers contenant le texte des pages d’en-tête et de fin, fichiers de police téléchargeables et fichiers temporaires. Le premier caractère du nom d’un attribut de répertoire est d, et le second désigne le répertoire. L’exemple suivant illustre quelques valeurs d’attribut de répertoire pour une imprimante laser PostScript prise en charge : _ _DIR d1 Directory Containing Stage 1 Translate Tables (data stream to intermed.) d2 Directory Containing Stage 2 Translate Tables (intermediate to printer) dD Directory Containing Dummy Device Files For Printers Driven By, But Not Attached To, the dev Host Computer (example: printers attached to Xstations) dF Directory Containing Flags files (keeps track of loaded fonts) DIRECTORIES /usr/lib/lpd/pio/trans1 /usr/lib/lpd/pio/trans2 /usr/lib/lpd/pio/ /var/spool/lpd/pio/@local/flags Ces mêmes valeurs d’attribut sont stockées dans le fichier deux-points sous la forme : :053:_ _DIR:: :160:d1::/usr/lib/lpd/pio/trans1 :161:d2::/usr/lib/lpd/pio/trans2 :509:dD::/usr/lib/lpd/pio/dev :414:dF::/var/spool/lpd/pio/@local/flags Attributs divers L’attribut d’en-tête de groupe _ _MIS regroupe différents attributs d’imprimante. Les attributs divers commencent par la lettre m et stockent des valeurs telles que la description de l’imprimante et son numéro de modèle. Le nom d’unité et celui de la file d’attente sont également stockés dans le groupe divers. L’attribut mn stocke le nom d’unité et l’attribut mq le nom de la file d’attente. 4-10 Imprimantes et impression Guide de l’utilisateur Voici quelques attributs divers classiques pour une imprimante laser PostScript prise en charge : _ _MIS MISCELLANEOUS mA Printer Data Stream Description mD Name of message catalog Containing Attribute Descriptors mF Path Name of Font File To Be Downloaded (must include download commands) mL Printer Description mN mY mc md mf mi mm mn mo mp mq Printer model number Datastream Mode to Which Printer is Restored at End of Job (0: IBM PPDS; 1: HP PCL; 2: Plotter; 3: PostScript) String to Send to Printer ”mz” Times When Job Is Cancelled Output Data Stream Type (example: ascii); Initialized By ”piodigest” Path Name of the Default Formatter (used when running standalone) Input Data Stream Names (1 character, separated by commas) for mp Attribute File Name Of (Digested) Data Base; Init. By ”piodigest” (mt.md.mn.mq:mv) Device name (example: lp0); Initialized By ”piodigest” Command String to Invoke Device Driver I/F Program (end of pipeline) Strings (separated by commas) That Identify Print File Data Types (see mi) Queue Name; Initialized By ”piodigest” PostScript pioattr1.cat IBM 4029 Laser Printer 029 3 \0 ps %Idf/piofpt s,l lp1 %Ide/pioout %v [ABCDFINOPRS] %%!,\320OPS ps1 Ces mêmes attributs sont stockés dans le fichier deux-points sous la forme : :058:_ _MIS:: :330:mA::PostScript :332:mD::pioattr1.cat :287:mF:: :331:mL::IBM 4029 LaserPrinter :295:mN::4029 :516:mY::3 :301:mc::\0 :302:md::ps :303:mf::%Idf/piofpt :304:mi::s,l :305:mm:: :306:mn::lp1 :307:mo::%Ide/pioout %v[ABCDFINOPRS] :308:mp::%%!,\320OPS :309:mq::ps1 Imprimante, traceur et programmation du sous–système de spoulage 4-11 Attributs de variable de travail Les attributs de variable de travail (valeurs modifiées en cours de formatage) commence par la lettre w et figurent sous l’en-tête de groupe _ _WKV. Voici quelques attributs de variable de travail classiques pour une imprimante PostScript prise en charge : _ _WKV WORK VARIABLES w7 Font Name for Header LIne of Text Converted to PostScript %?%S_s%”Courier”%=%tCourier–Bold%e%S_s%”Times–Roman”%=%tTimes–Bold%e%S_s% ”Helvetica”%=%tHelvetica–Bold%e%S_s%”Times–Italic”%=%tTimes–BoldItalic%e% S_s%”Helvetica–Oblique”%=%tHelvetica–BoldOblique%e%Iw8%; wl wu Smallest legal sheetfeeder drawer number Largest legal sheetfeeder drawer number 0 3 Le fichier deux-points stocke ces valeurs sous la forme : :062:_ _WKV:: :472:w7::%?%S_s%”Courier”%=%tCourier–Bold%e%S_s%”Times–Roman”%=%tTim es–Bold%e%S_s%”Helvetica”%=%tHelvetica–Bold%e%S_s%”Times–Italic”%=%t Times–BoldItalic%e%S_s%”Helvetica–Oblique”%=%tHelvetica–BoldOblique% e%Iw8%; :370:wl::0 :381:wu::3 Attributs d’agrégats de commandes Les attributs d’agrégats de commande, regroupés sous l’en-tête de groupe _ _CAG, stockent des valeurs telles que la commande d’initialisation de l’imprimante et la commande de restauration de l’imprimante après exécution d’un travail d’impression. Les attributs de cette catégorie commencent par la lettre c. Voici les attributs d’agrégat de commande classiques pour une imprimante PostScript prise en charge : _ _CAG COMMAND AGGREGATES ci Command To Initialize the Printer %Iez\4%?%G_j%{1}%=%tstatusdict begin%Iat %Iar %?%Gmw%t%IaF%; end%; cr Command To Restore the Printer at Job End %o\4%Iex Ces mêmes attributs sont stockés dans le fichier deux-points sous la forme : :051:_ _CAG:: :144:ci::%Iez\4%?%G_j%{1}%=%tstatusdict begin %Iat %Iar %?%Gmw%t%IaF %; end%; :152:cr::%o\4%Iex 4-12 Imprimantes et impression Guide de l’utilisateur Attributs des codes de contrôle (ASCII) Le groupe d’attributs d’imprimante virtuelle _ _CTL stocke les codes de contrôle utilisés par l’imprimante. Ces attributs commencent par la lettre a et stockent des valeurs telles que le code de contrôle servant à avancer le papier à la page suivante. Voici quelques codes de contrôle classiques pour une imprimante PostScript prise en charge : _ _CTL CONTROL CODES (ASCII) aF PostScript Command to Set Simplex/Duplex and Tumble Mode %?%G_Y%ttrueduplex %?%G_Y%{1}%=%tfalse tumble%etrue tumble%;%efalseduplex%; af ASCII Control Code to Advance the Paper to Top of Next Page (FF) showpage ar Cannot access message catalog pioattr1.cat. %G_6%d setresolution at Cannot access message catalog pioattr1.cat. %G_u%d setpapertray Le fichier deux-points stocke ces attributs comme suit : :052:_ _CTL:: :512:aF::%?%G_Y%ttrue duplex %?%G_Y%{1}%=%tfalse tumble%etrue tumble %;%efalse duplex%; :113:af::showpage :119:ar::%G_6%d setresolution :115:at::%G_u%d setpapertray Attributs des séquences d’échappement Les attributs des séquences d’échappement commencent par la lettre e et figurent sous l’en-tête de groupe _ _ESC. Les valeurs classiques d’une imprimante PostScript sont : _ _ESC ESCAPE SEQUENCES ex Command to Restore Printer Datastream Mode (used only on restore) \33[K\3\0\4\61%?%GmY%{2}%>%t%{8}%c%e%GmY%{1}%+%c%; ez (used only on init/restore) Set initial conditions \33[K\5\0\4\61\10\0\0 Ces mêmes valeurs sont stockées dans le fichier deux-points sous la forme : :054:_ _ESC:: :514:ex::\33[K\3\0\4\61%?%GmY%{2}%>%t%{8}%c%e%GmY%{1}%+%c%; :263:ez::\33[K\5\0\4\61\10\0\0 Imprimante, traceur et programmation du sous–système de spoulage 4-13 Séquences d’échappement du fichier deux-points de l’imprimante Les références et la logique imbriquées pour les valeurs d’attribut dans les fichiers deux-points base de données du programme dorsal de l’imprimante sont définies par des séquences d’échappement, correctement placées dans la chaîne d’attribut. Il ne faut pas confondre ces séquences d’échappement avec les séquences d’échappement de l’imprimante. Le premier caractère d’une séquence d’échappement est toujours le caractère % (signe pourcentage), qui indique le début d’une séquence d’échappement. Le second caractère (et parfois les suivants) définit l’opération à exécuter. Les autres caractères (le cas échéant) de la séquence d’échappement sont des opérandes utilisés pour exécuter l’opération spécifiée. Les calculs exécutés par les séquences d’échappement peuvent utiliser une pile pour maintenir des entiers ou des pointeurs sur les chaînes à traiter et peuvent utiliser les variables internes a à z pour sauvegarder les valeurs entières pour un usage ultérieur. Dans la mesure où le caractère % est utilisé pour définir une séquence d’échappement, un caractère % qui fait partie des données soit être représenté dans la base de données par deux % consécutifs (%%). Un seul caractère % apparaît dans la chaîne construite. Les séquences d’échappement qui peuvent être spécifiées dans une chaîne d’attribut sont répertoriées et décrites dans le tableau suivant. Elles sont basées sur les séquences d’échappement du fichier terminfo pour les terminaux, qui ont été adaptées et étendues aux imprimantes. Esc. Seq. Description %% Génère un caractère % (signe pourcentage). Sortie ASCII de la pile : %d Extrait une valeur entière de la pile et la convertit en ASCII, sans zéros de tête. Génère un champ suffisamment grand pour contenir les chiffres numériques ASCII. Semblable à %d avec la sous-routine printf. %[1–9]d Extrait une valeur entière de la pile et la convertit en ASCII. Le résultat est de 1 à 9 caractères, selon le chiffre spécifié avant le d. Si la valeur ne remplit pas la largeur de champ spécifiée, elle est complétée par des zéros à gauche. Si la valeur est trop grande pour le champ, les chiffres excédentaires sont tronqués à droite. Par exemple, avec une valeur de 243 de la pile, %4d génère 0243 et %2d génère 43. Une valeur de pile de –243 avec %5d génère –0243. Sortie binaire de la pile : 4-14 %’c’ Extrait une valeur entière de la pile et ne conserve que l’octet de poids faible. %h Extrait une valeur entière de la pile et ne conserve que les deux octets de poids faible. %a Semblable à %h, excepté que les deux octets de la pile sont inversés : octet de poids faible, puis octet de poids fort. Imprimantes et impression Guide de l’utilisateur Chaîne d’entrée : %Ixx Intègre l’attribut de chaîne nommé xx. %I et peut être utilisé récursivement ; c’est-à-dire que la chaîne incluse peut également contenir un %I. Notez que la chaîne incluse n’hérite pas de la pile courante. Une nouvelle pile lui est affectée. %I[ . . . ] Pour effectuer plusieurs inclusions contiguës, séparez les noms d’attribut par des virgules et mettez-les entre crochets. Par exemple, la chaîne %Icp%Icc%IeW peut être spécifiée sous la forme %I[cp,cc,eW]. %Dxx Télécharge sur l’imprimante le contenu du fichier dont le chemin d’accès complet est spécifié par l’attribut xx. Le travail d’impression doit détenir le droit d’accès en lecture au fichier. Le principal rôle de cet opérateur est de télécharger les polices sur une imprimante. %”sss” Pousse un pointeur sur la constante chaîne sss sur la pile. La seule opération exécutable sur le pointeur chaîne est d’utiliser %= pour comparer la chaîne à une autre chaîne dont le pointeur se trouve également sur la pile. %‘xx Insère la sortie standard générée lorsque la chaîne de commande spécifiée par l’attribut xx est passée à un shell. Notez que ‘ est un accent grave. %’ ”chaîne ” Passe la chaîne entre guillemets comme commande à un sous-shell. Tous guillemets à l’intérieur de la chaîne doivent être inversés pour éviter qu’ils ne soient interprétés comme des délimiteurs de la chaîne. Notez que ‘ est un accent grave. Imprimante, traceur et programmation du sous–système de spoulage 4-15 Entrée d’entier dans la pile : %#xx”..@..” Extrait une portion sélectionnée de l’attribut de chaîne xx. Le critère de sélection est défini par le modèle ”...@...” Le modèle de sélection se compose de trois parties : 1. La chaîne précédant immédiatement la chaîne à extraire. A défaut d’expression régulière du préfixe, la chaîne extraite est constituée de l’intégralité de la chaîne précédant le modèle spécifié par l’expression régulière du suffixe. 2. La chaîne extraite remplace la séquence d’opérations %#xx”..@..” dans l’attribut en cours de traitement. 3. La chaîne suivant immédiatement la chaîne à extraire. A défaut d’expression régulière du suffixe, la chaîne extraite est constituée de l’intégralité de la chaîne suivant le modèle spécifié par l’expression régulière du préfixe. Aucune chaîne n’est extraite si l’attribut de chaîne a une valeur nulle. Aucun chaîne n’est extraite si l’expression régulière du préfixe ou du suffixe est non nulle et qu’elle n’a pas de correspondant dans la chaîne de la valeur de l’attribut. Remarque : Les caractères arobas (@) et guillemets ( ” ) doivent être encadrés par une paire de guillemets distincts s’ils doivent être interprétés littéralement. Sinon, le programme les lit comme des délimiteurs. Lorsque vous imbriquez un opérateur %# dans une portion d’une expression régulière d’un autre opérateur %#, les caractères arobas ( @ ) et guillemets ( ” ) ne peuvent être interprétés comme des littéraux. Pour éviter cette situation, placez l’opérateur imbriqué %# dans une valeur d’attribut distincte et intégrez le nouvel attribut dans l’expression régulière de l’opérateur %# externe. %Gxx Récupère l’attribut entier nommé xx et le pousse dans la pile. Si l’attribut est une chaîne et non un entier, la chaîne est supposée être un entier ASCII. Elle est convertie en entier binaire via la sous-routine atoi et poussée dans la pile. %’c’ Pousse la constante caractère c dans la pile, où elle devient l’octet de poids faible d’une valeur entière. Les octets de poids fort sont définis à 0 (zéro). %{nn} Pousse la constante entière nn dans la pile. La constante est une valeur décimale, positive ou négative. Variables internes : Les variables internes a à z sont des variables entières utilisées par %P, %Z et %g. Elles sont initialisées à zéro et leur valeur ne change que par le biais d’un %P ou d’un %Z. Il existe deux ensembles indépendants de variables de ce type : le premier est utilisé par la commande piobe pour construire les pipelines, tandis que le second est exploité exclusivement par un programme de formatage. Les valeurs de l’ensemble dédié au programme de formatage sont maintenues tout au long du processus de formatage. 4-16 Imprimantes et impression Guide de l’utilisateur %P[a–z] Extrait une valeur entière de la pile et la stocke dans la variable interne spécifiée. Par exemple, %Pf déplace une valeur entière de la pile vers la variable f. %Z[a–z] Met à zéro la variable interne spécifiée. Par exemple, %Zg stocke la valeur 0 dans la variable g. %g[a–z] Pousse la valeur de la variable interne spécifiée dans la pile. La valeur de la variable interne est inchangée. Par exemple, %gb lit la valeur entière dans la variable b et la pousse dans la pile. Opérateurs arithmétiques : %+ %– %* %/ %m Pousse le résultat dans la pile. %+ Ajoute les deux premières valeurs extraites de la pile. Par exemple, %{5}%{6}%+ pousse la valeur 11 dans la pile. %– Soustrait la première valeur extraite de la pile de la seconde valeur extraite de la pile. Par exemple, %{12}%{3}%– pousse la valeur 9 dans la pile. %* Multiplie les deux premières valeurs extraites de la pile. Par exemple, %{2}%{3}%* pousse la valeur 6 dans la pile. %/ Divise la première valeur extraite de la pile par la seconde valeur extraite de la pile. Par exemple, %{6}%{2}%/ pousse la valeur 3 dans la pile. %m (modulo) Semblable à %/, excepté que c’est le reste, et non le quotient, qui est poussé dans la pile. Par exemple, %{17}%{9}%m pousse la valeur 8 dans la pile. Remarque : La première valeur extraite de la pile est la dernière à y être poussée, et la seconde valeur extraite de la pile est celle qui y avait été poussée en premier. Opérateurs logique et relationnels : %= %> %< %! Pousse la valeur 1(vrai) ou 0 (faux) dans la pile. %= Teste si les deux premières valeurs extraites de la pile sont égales. Par exemple, %{2}%{2}%= pousse la valeur 1 (vrai) dans la pile, et %{2}%{3}%= pousse la valeur 0 (faux) dans la pile. %> Teste si la seconde valeur extraite de la pile est supérieure à la première valeur extraite de la pile. Par exemple, %{2}%{3}%> pousse la valeur 0 (faux) dans la pile. %< Teste si la seconde valeur extraite de la pile est inférieure à la première valeur extraite de la pile. Par exemple, %{2}%{3}%< pousse la valeur 1 (vrai) dans la pile. %! Inverse la valeur extraite de la pile et y pousse le résultat : une valeur non nulle devient 0; la valeur 0 devient 1. Par exemple, %{0}%! pousse la valeur 1 (vrai) dans la pile, %{1}%! pousse la valeur 0 (faux) dans la pile et %{2}%! pousse la valeur 0 (faux) dans la pile. Remarque : La première valeur extraite de la pile est la dernière à y être poussée, et la seconde valeur extraite de la pile est celle qui y avait été poussée en premier. Opérateurs logiques au niveau du bit : %& %| %^ %~ Pousse le résultat dans la pile. %& Réunit par AND (ET)les deux premières valeurs extraites de la pile. Par exemple, %{6}%{3}%& pousse la valeur 2 dans la pile. Imprimante, traceur et programmation du sous–système de spoulage 4-17 %| Réunit par OR (OU) les deux premières valeurs extraites de la pile. Par exemple, %{6}%{3}%| pousse la valeur 7 dans la pile. %^ Réunit par OU EXCLUSIF les deux premières valeurs extraites de la pile. Par exemple, %{6}%{3}%^ pousse la valeur 5 dans la pile. %~ Effectue le COMPLEMENT A 1 de la première valeur extraite de la pile et inverse la valeur de chaque bit. Par exemple, %{–1}%~ pousse la valeur 0 (tous les bits désactivés) dans la pile (en adoptant la notation du complément à 2 pour –1). Opérateurs conditionnels (if–then–else) : %? expr %t thenpart %e elsepart %; %t extrait une valeur de la pile et la teste. Si la valeur est VRAIE (non nulle), thenpart est exécuté. Sinon, elsepart (si présent) est exécuté. construction else–if %? c1 %t b1 %e c2 %t b2 %e c3 %t b3 %e b4 %; où c1, c2, c3 sont des conditions et b1, b2, b3, b4 des corps. Par exemple, %?%{1}%t%{2}%e%{3}%; pousse la valeur 2 dan la pile, et %gx%{6}%?%=%t%{2}%e%{3}%;%d extrait la valeur 2 si la valeur de variable interne x est 6. Si la valeur de x est différente de 6, la valeur 3 est extraite. Lors du développement d’une logique complexe, il est souvent utile de la présenter sous forme structurée. L’exemple précédent, présenté sous forme structurée, est semblable à : %gx Pousse la valeur x dans la pile. %{6} Pousse la valeur 6 dans la pile. %?%=%t Si les valeurs de la pile sont égales, alors %{2} pousse la valeur 2 dans la pile. %e sinon %{3} pousse la valeur 3 dans la pile. %; endif %d Génère la valeur en format ASCII Passe-système : %x (Appel de la sous-routine piocmdout seulement.) Passe de l’entrée vers la sortie le nombre d’octets spécifié par l’argument passthru à la sous-routine piocmdout. Boucles %wx Boucle While. Chaque fois que %; est réalisé, la valeur de la variable interne x (x est compris entre a et z) est décrementée de 1. Si le résultat est supérieur à 0, l’exécution est transférée au caractère qui suit %wx. Mode : 4-18 %o Démarre en utilisant exclusivement les valeurs par défaut de la base de données, et non les valeurs éventuellement mises à jour par le biais de la ligne de commande (ou pendant le traitement de formatage). %r Revient aux valeurs utilisées avant %o. Imprimantes et impression Guide de l’utilisateur Remplacements du pipeline : %p Indique où imbriquer le pipeline filtre de préfixe dans le pipeline principal. A défaut, l’imbrication a lieu au début du pipeline principal. Ignoré si le premier caractère du nom de l’attribut n’est pas i (c’est-à-dire qu’il ne s’agit pas d’un pipeline principal). %z Indique où imbriquer la chaîne pioout (routine de l’interface du pilote d’unité) dans le pipeline principal. A défaut, l’imbrication a lieu à la fin du pipeline principal. Ignoré si le premier caractère du nom de l’attribut n’est pas i (c’est-à-dire qu’il ne s’agit pas d’un pipeline principal). %ix Ne peut être spécifié que dans une chaîne de filtre préfixé (c’est-à-dire, si le premier caractère du nom de deux caractères de l’attribut est f). La variable x représente un caractère identifiant un pipeline. La variable %ix spécifie que le nom de l’attribut pour le pipeline principal doit être ix et non iy, où y est le paramètre spécifié (ou défini par défaut) pour l’indicateur –d. Cas particulier : %i! spécifie qu’une chaîne nulle doit être utilisée comme pipeline principal. Indicateurs de la ligne de commande : Ces opérateurs sont généralement utilisés dans les définitions de pipeline, où ils s’appliquent aux indicateurs spécifiés par l’utilisateur qui soumet le travail d’impression. S’ils sont spécifiés dans les chaînes d’attribut utilisées par un programme de formatage, ils s’appliquent aux indicateurs passés au programme de formatage. Les lettres d’indicateur valides sont a à z, A à Z, et 0 à 9. %Cy Pousse la valeur 1 (vrai) dans la pile si l’indicateur y a été spécifié sur la ligne de commande. Sinon, pousse la valeur 0 (faux) dans la pile. %Fxy ou %F[...] Raccouci pour %?%Cy%t–x %I_y%;. Si l’indicateur y a été spécifié sur la ligne de commande, génère –x yarg, où yarg est l’argument spécifié pour l’indicateur y. Si ! n’est pas spécifié pour x, –x n’est pas généré. Si yarg contient des guillemets simples ou doubles non protégés (non précédés immédiatement par un nombre impair de barres obliques inverses), un message d’erreur est émis et le travail d’impression arrêté. Pour spécifier plusieurs indicateurs via %Fxy, si les valeurs x et y de chaque indicateur sont identiques, vous pouvez spécifier une liste de lettres d’indicateur entre crochets. Par exemple, %Faa%Fbb%Fcc peut être spécifié sous la forme %F[abc]. Les valeurs référencées par y ou [ . . . ] ont des noms d’attribut dont le premier caractère est _ (trait de soulignement) et le second est y ou un caractère de la chaîne [ . . . ]. %fxy or %f[ . . . ] Semblable à %Fxy et à %F[ . . . ], excepté qu’aucun espace ne sépare le nom de l’indicateur et l’argument, sauf si l’argument est une chaîne nulle. Imprimante, traceur et programmation du sous–système de spoulage 4-19 %vxy ou %v[...] Semblable à %fxy et à %f[ . . . ], mais utilisé exclusivement dans la chaîne de commande pour la commande pioout, le programme d’interface du pilote d’unité, pour générer indicateurs et arguments pour les valeurs de remplacement spécifiées par la commande piobe, le gestionnaire des travaux d’impression. Les indicateurs ne sont pas générés lorsque leurs arguments sont égaux aux valeurs par défaut prédéfinies. Avec %v, les valeurs référencées par y ou [ . . . ] ont des noms d’attribut dont le premier caractère est @ (arobas) et le second est y ou un caractère de la chaîne [ . . . ]. %Ux or %U[ . . . ] Indique à la commande piobe que l’indicateur x (ou chaque indicateur de la chaîne [ . . .]) est effectivement référencé même s’il n’est pas référencé par un pipeline ; par exemple, l’indicateur x peut être référencé par une commande d’imprimante et non par un filtre d’un pipeline. Ceci empêche la commande la commande piobe de rejeter l’indicateur lorsqu’il est spécifié sur la ligne de commande. 4-20 Imprimantes et impression Guide de l’utilisateur Conventions du fichier deux-points de l’imprimante Les attributs de l’imprimante et du flot de données de l’imprimante résident dans des fichiers deux-points. Les fichiers deux-points résident dans les répertoires /usr/lib/lpd/pio/predef et /var/spool/lpd/pio/@local/custom/*. Le répertoire /usr/lib/lpd/pio/predef contient la base de données prédéfinie et le répertoire /var/spool/lpd/pio/@local/custom/* contient la base de données personnalisée. Les sections suivantes décrivent les conventions pour les noms d’imprimante et d’attribut et les valeurs dans les fichiers deux-points. • Format du fichier deux-points • Noms d’attribut • Valeurs d’attribut Format du fichier deux-points Les fichiers deux-points dans la base de données prédéfinie comme dans la base de données personnalisée ont cinq champs (séparés par des deux-points) pour chaque attribut. Il s’agit de : Message catalog ID Catalogue des messages où est stockée la description de l’attribut. Le paramètre message catalog ID est de l’une des trois formes suivantes : • Chaîne NULL : Chaîne nulle : La valeur de chaîne de l’attribut mD est supposée être le nom de fichier du catalogue de messages (par exemple, mydescriptors.cat). • Un caractère : Une abréviation de pioattrx.cat, où x est l’ID de catalogue (1 caractère). Cette forme d’ID de catalogue n’est normalement utilisée que par le système d’exploitation. • Nom de fichier du catalogue : Nom de fichier du catalogue de messages (par exemple, mydescriptors.cat). La forme un caractère et la forme nom de fichier du catalogue priment toutes deux sur le nom de fichier du catalogue spécifié via l’attribut mD. Message number Index du message dans le catalogue contenant la description de cet attribut. Les zéros de tête sont ignorés. Attribut name Sur deux caractères, excepté pour les attributs d’en-tête de groupe, qui sont sur cinq caractères. Limits field Limites des attributs. Attribute value string Zéro à 1000 caractères. Voici un exemple d’une ligne d’un fichier deux-points : :023:_w::80 Le nom de l’attribut est _w, la chaîne de valeurs de l’attribut est 80 et la description de l’attribut est stockée dans le message numéro 23 dans le catalogue de messages spécifié par l’attribut mD. Imprimante, traceur et programmation du sous–système de spoulage 4-21 Remarque : Toutes les descriptions d’attributs sont stockées dans des catalogues de messages. Si un attribut a la même description pour plusieurs imprimantes, l’attribut dans chaque base de données d’imprimante peut référencer le même catalogue et le même numéro de message. Si le même nom d’attribut a une description différente pour les différentes imprimantes, des numéros de message distincts sont affectés. Noms d’attribut Les conventions établies pour les noms d’attribut d’imprimante virtuelle sont les suivantes : • Chaque nom d’attribut doit être unique. • Les noms d’attribut peuvent contenir les caractères a à z, A à Z, 0 à 9 et _ (trait de soulignement). Le nom ne peut pas commencer par un chiffre. • Tous les noms d’attribut doivent être de deux caractères, excepté les noms d’attribut de l’en-tête de groupe, qui peuvent aller jusqu’à cinq caractères. • Les noms d’attribut des en-têtes de groupe commencent par _ _ (deux traits de soulignement) et ne doivent pas dépasser cinq caractères. Un attribut d’en-tête de groupe (antérieurement appelé attribut de commentaire) marque le début d’un groupe d’attributs liés. Par exemple, l’attribut d’en-tête de groupe _ _FLG marque le début d’un groupe d’attributs qui définissent les valeurs par défaut des indicateurs de la ligne de commande. Grouper les attributs permet une meilleure lisibilité : l’opération n’a aucune incidence sur le traitement des attributs. • Le nom d’un attribut commençant par _ (trait de soulignement), excepté pour les en-tête de groupe, peut être remplacé par un indicateur sur la ligne de commande de même nom que le second caractère du nom de l’attribut. Par exemple, –w 132, spécifié avec la commande qprt, remplace par la valeur 132 la valeur spécifiée pour l’attribut _w dans le fichier deux-points. Attributs automatiques Les attributs automatiques sont des noms et des valeurs fournies automatiquement et qui ne peuvent se trouver dans la base de données : 4-22 @0 Chaîne toujours nulle. Ce nom d’attribut peut être utilisé chaque fois qu’un nom d’attribut pour une chaîne nulle est requis. @1 Chaîne contenant le chemin d’accès complet au fichier en cours d’impression. Ce nom d’attribut n’est disponible que pour les attributs qui définissent les pipelines et les attributs inclus dans les pipelines. Le fichier imprimé est un fichier temporaire si l’indicateur –c est spécifié avec la commande qprt. @2 Entier contenant le nombre d’octets à passer lorsque %x figure dans une chaîne de commande par la sous-routine piocmdout (obtenue du paramètre passthru passé à la sous-routine piocmdout). @3 Valeur entière indiquant le mode de connexion de l’imprimante : 0 Ni parallèle ni série 1 parallèle 2 série Imprimantes et impression Guide de l’utilisateur @4 Chemin d’accès complet du répertoire pio dont les sous-répertoires (burst, etc, fmtrs, fonts, predef, trans1 et trans2) contiennent les fichiers de données STATIC et les programme utilitaires utilisés pour configurer les imprimantes virtuelles et traiter les travaux d’impression. Le répertoire doit être un sous-répertoire du répertoire contenant la commande piobe appelée par qdaemon. La valeur de @4 est normalement le répertoire /usr/lib/lpd/pio. @5 Chemin d’accès complet du répertoire pio dont les sous-répertoires (custom, ddi, dev et flags) contiennent les fichiers de données DYNAMIC et les programme utilitaires utilisés pour configurer les imprimantes virtuelles et traiter les travaux d’impression. La valeur de @5 est normalement le répertoire /var/spool/lpd/pio. Les attributs suivants servent à la communication entre la commande piobe (gestionnaire de travaux d’impression) et la commande pioout (programme d’interface du pilote d’unité). Les valeurs d’attribut sont référencés par des arguments d’indicateur passés au programme pilote du pilote d’unité, tel que spécifié dans les pipelines. @A Nombre d’octets déjà imprimés @B Nombre total d’octets à imprimer @C Nombre d’envoi de la chaîne d’annulation (@D) à l’imprimante pour l’annulation d’un travail d’impression. @D Chaîne à envoyer à l’imprimante si le travail d’impression est annulé. @I Utilisateur auquel envoyer les messages intervention required. @O Nom du fichier à générer par la commande pioout dans lequel stocker les données au lieu de les envoyer à l’imprimante. @P Nom du fichier (généralement la page d’en-tête) à envoyer à l’imprimante avant de lui envoyer le premier octet du fichier d’impression. @S Nom du fichier à envoyer à l’imprimante une fois envoyé le dernier octet du fichier d’impression. Noms d’attribut réservés Les noms d’attribut réservés sont des noms gérés par le gestionnaire de travaux d’impression : Les deux premiers caractères sont _ _ Attribut d’en-tête de groupe Le premier caractère est @ Valeur fournie automatiquement. Le premier caractère est _ Valeur par défaut de l’argument d’indicateur. Le premier caractère est i Pipeline pour le flot de données en entrée. Le premier caractère est l Indicateurs interdits pour le flot de données en entrée. Le premier caractère est f Chaîne de commande pour l’indicateur de filtre. Le premier caractère est z et le second est D, P ou S : zD Etat par défaut du fichier deux-points lorsqu’il se trouve dans le répertoire /var/spool/lpd/pio/custom/* (+ signifie développé, ! zP Nom du fichier deux-points parent du fichier deux-points. Le fichier deux-points parent est supposé se trouver dans le répertoire /usr/lib/lpd/pio/predef/*. zS Etat actuel du fichier deux-points (+ signifie développé, ! Le premier caractère est y Valeurs pour les imprimantes raccordées au terminal. Imprimante, traceur et programmation du sous–système de spoulage 4-23 Noms d’attribut suggérés Les noms d’attribut suggérés sont des noms gérés par plusieurs filtres de formatage : Le premier caractère est s Valeur de l’administrateur système. Le premier caractère est d Chemin d’accès au répertoire. Le premier caractère est m Valeur diverse (constante) Le premier caractère est w Valeur de travail (change au cours du formatage). Le premier caractère est c Agrégat de commande Le premier caractère est a Code de contrôle ASCII. Le premier caractère est e Séquence d’échappement de l’imprimante. Le premier caractère est t et le second est compris entre 0 et 9 Chemins d’accès complets de zéro ou plusieurs. Tables de traduction de phase 2 utilisées par le programme de formatage. Les valeurs multiples doivent être séparées par des virgules. Valeurs d’attribut Les conventions établies pour les valeurs d’attribut sont les suivantes : • Les noms d’imprimante sont de la forme 4201–3, reflétant le nom de l’imprimante (4201) et son numéro de modèle (3). • Les noms de fichier dans la base de données prédéfinie sont de la forme PrinterType.DataStreamType ; par exemple, 4216–31.asc indique une imprimante 4216 modèle 31 et un flot de données ASCII. • Les noms de fichier dans la base de données personnalisée sont de la forme QueueName:QueueDeviceName, par exemple proq:mypro. • Les valeurs d’attribut peuvent contenir un \ (barre oblique inverse) suivi de 1 à 3 chiffres octaux pour représenter les valeurs non ASCII. Un \ (barre oblique inverse) qui n’annonce pas une séquence octale doit être notée soit \\, soit \134. • Les caractères peuvent être représentés en notation hexadécimale sous la forme \xXX, où XX est une valeur hexadécimale. • Les valeurs booléennes peuvent être représentées par un + (signe plus) pour vrai, et par un ! (point d’exclamation) pour faux. • Dans la mesure où les valeurs d’attribut résident dans des fichiers deux-points, le caractère deux-points ne doit pas figurer dans la valeur de l’attribut. Un deux-points doit être noté \072. • Une valeur d’attribut, référençant un attribut entier, qui requiert une traduction à partir d’une table de consultation doit toujours figurer dans un fichier deux-points après l’attribut entier référencé : par exemple, à partir de la chaîne red vers la valeur entière équivalente de 2. Les valeurs entières sont créées à partir d’un fichier deux-points dans l’ordre dans lequel elles sont définies dans le fichier deux-points. Etablir d’abord la liste des valeurs d’attribut garantit que lorsque l’attribut entier est référencé, il a été converti avant d’être référencé par la séquence d’échappement %G. • Exécutez toutes les commandes shell via ksh et non bsh. 4-24 Imprimantes et impression Guide de l’utilisateur Champ limits Le champ limits du fichier deux-points contient deux types d’informations : informations sur le dialogue SMIT et informations de validation. Informations sur le dialogue SMIT Les informations utilisées dans la construction d’objets SMIT représentent les attributs de fichier deux-points dans ODM (object data manager). Ces objets sont utilisés dans les écrans Print a File, Printer Setup et Default Job Characteristics. Le champ limits vous donne quelques éléments de contrôle sur le type d’objet ODM sm_cmd_opt construit pour chaque objet. Vous pouvez ainsi contrôler si un attribut est toujours affiché, s’il ne l’est jamais ou s’il l’est uniquement lorsqu’il référencé dans un pipeline. Vous pouvez modifier les champs suivants : • id_seq_num • entry_type • cmd_to_list_mode • required • op_type • multi_select • disp_values • aix_values • values_msg_file • values_msg_set • values_msg_id • help_msg_id • help_msg_loc Informations de validation Les informations de validation servent à valider les valeurs d’attribut lorsque le fichier deux-points est terminé et que le travail d’impression est soumis. Imprimante, traceur et programmation du sous–système de spoulage 4-25 Exemple de programme de formatage d’impression Cet exemple illustre l’interaction entre les programmes de formatage et les sous-routines de formatage de l’imprimante documentée. La procédure d’écriture d’un programme de formatage se décompose en quatre étapes : 1. Créer un fichier source du programme de formatage comme indiqué ci-après. 2. Créer un fichier imports, page 4-28. 3. Créer un fichier exports, page 4-28. 4. Compiler et éditer les liens du programme de formatage, page 4-28. Créer un fichier source du programme de formatage A l’aide d’un éditeur ASCII, créez un fichier source du programme de formatage, appelé sample.c. Ce fichier doit comporter les lignes suivantes : #include <stdio.h> #include <piostruct.h> /* STRING CONSTANTS */ /* Initialize Printer, Restore Printer, Form Feed */ #define INIT_CMD ”ci” #define REST_CMD ”cr” #define FF_CMD ”af” /* INTEGER and STRING VARIABLES */ /* page length, page width, top margin, bottom margin */ #define Pglen (*(_Pglen + piomode)) #define Pgwidth (*(_Pgwidth + piomode)) #define Tmarg (*(_Tmarg + piomode)) #define Bmarg (*(_Bmarg + piomode)) /* indentation, begin page, form feed?, pass–through? #define Indent (*(_Indent + piomode)) #define Beginpg (*(_Beginpg + piomode)) #define Do_formfeed (*(_Do_formfeed + piomode)) #define Passthru (*(_Passthru + piomode)) /* initialize printer?, restore printer? #define Init_printer (*(_Init_printer + piomode)) #define Restoreprinter (*(_Restoreprinter + piomode)) /* Command names: form feed, vertical increment and decrement */ #define Ff_cmd (*(_Ff_cmd + piomode)) #define Vincr_cmd (*(_Vincr_cmd + piomode)) #define Vdecr_cmd (*(_Vdecr_cmd + piomode)) /* Work variables for vertical increment and decrement */ #define Vincr (*(_Vincr + piomode)) #define Vdecr (*(_Vdecr + piomode)) /* Variables referenced by above #defines */ int *_Pglen, *_Pgwidth, *_Tmarg, *_Bmarg, *_Indent, *_Beginpg, *_ Do_ formfeed, *_Passthru, *_Init_printer, *_Restoreprinter, *_Vincr, *_V decr; struct str_info *_Ff_cmd, *_Vincr_cmd, *_Vdecr_cmd; 4-26 Imprimantes et impression Guide de l’utilisateur /* TABLE OF ATTRIBUTE VALUES */ struct attrparms attrtable[] = { /* name data type lookup address of pointer */ ”_b”, VAR_INT, NULL, (union dtypes *) &_Bmarg, ”_g”, VAR_INT, NULL, (union dtypes *) &_Beginpg, ”_i”, VAR_INT, NULL, (union dtypes *) &_Indent, ”_j”, VAR_INT, NULL, (union dtypes *) &_Init_printer, ”_l”, VAR_INT, NULL, (union dtypes *) &_Pglen, ”_t”, VAR_INT, NULL, (union dtypes *) &_Tmarg, ”_w”, VAR_INT, NULL, (union dtypes *) &_Pgwidth, ”_J”, VAR_INT, NULL, (union dtypes *) &_Restoreprinter, ”_Z”, VAR_INT, NULL, (union dtypes *) &_Do_formfeed, ”wp”, VAR_INT, NULL, (union dtypes *) &_Passthru, ”wf”, VAR_STR, NULL, (union dtypes *) &_Ff_cmd, ”wi”, VAR_STR, NULL, (union dtypes *) &_Vincr_cmd, ”wy”, VAR_STR, NULL, (union dtypes *) &_Vdecr_cmd, ”wV”, VAR_INT, NULL, (union dtypes *) &_Vincr, ”wD”, VAR_INT, NULL, (union dtypes *) &_Vdecr, NULL, 0 , NULL, NULL }; int pglen, tmarg, bmarg, vpos, vtab_base; struct shar_vars sharevars; struct shar_vars * /*** Setup Processing ***/ setup(argc, argv, passthru) unsigned argc; char *argv[]; int passthru: { /* Initialize variables and command line values */ (void) piogetvals(attrtable, NULL); (void) piogetopt(argc, argv, NULL, NULL); /* (need to verify values entered by user) */ /* Initialize work variables */ pglen = Pglen * Vincr; tmarg = Tmarg * Vincr; bmarg = Bmarg * Vincr; piopgskip = Beginpg – 1; /* Check for pass–through option */ if (Passthru = passthru) return(NULL); /* Initialize pointers to vertical spacing */ /* variables shared with formatter driver */ /* (Refer to /usr/include/piostruct.h) */ sharevars._pl = &pglen; sharevars._tmarg = &tmarg; sharevars._bmarg = &bmarg; sharevars._vpos = &vpos; sharevars._vtab_base = &vtab_base; sharevars._vincr = &Vincr; sharevars._vincr_cmd = (&Vincr_cmd)–>ptr; sharevars._vdecr = &Vdecr; sharevars._vdecr_cmd = (&Vdecr_cmd)–>ptr; sharevars._ff_cmd = (&Ff_cmd)–>ptr; sharevars._ff_at_eof = &Do_formfeed; return(&sharevars); } initialize() /*** Initialize the Printer ***/ { if (Init_printer) (void) piocmdout(INIT_CMD, NULL, 0, NULL); return(0); } Imprimante, traceur et programmation du sous–système de spoulage 4-27 lineout(fileptr) /*** Format a Line ***/ FILE *fileptr; { int ch, charcount = 0; for (ch = 0; ch < Indent; ch++) pioputchar(’ ’); while ((ch=piogetc(fileptr)) != ’\n’ && ch != EOF && charcount < Pgwidth) { charcount++; pioputchar(c); } vpos += Vincr; return(charcount); } passthru() /*** Pass–through Option ***/ { int ch; while ((ch = piogetc(stdin)) != EOF) pioputchar(ch); if (piodatasent && Do_formfeed) (void) piocmdout(FF_CMD, NULL, 0, NULL); return(0); } restore() /*** Restore the Printer ***/ { if (Restoreprinter) (void) piocmdout(REST_CMD, NULL, 0, NULL); return(0); } Compiler et éditer les liens du programme de formatage A l’aide d’un éditeur, créez un fichier imports, appelé sample.imp. Ce fichier doit contenir : #! main piogetvals piogetopt piomsgout pioexit piomode piodatasent piopgskip statusfile piocmdout piogetstr A l’aide d’un éditeur, créez un fichier exports, appelé sample.exp. Ce fichier doit contenir : #! setup initialize passthru restore lineout Pour compiler et éditer les liens du programme de formatage, entrez : cc –o sample –bI:sample.imp –bE:sample.exp sample.c 4-28 Imprimantes et impression Guide de l’utilisateur Interaction entre qdaemon et le programme dorsal Outre la lecture des fichiers et l’écriture sur les unités, un programme dorsal coopère avec qdaemon de diverses façons : • Imprimer des pages supplémentaires si nécessaire. • Mettre à jour les informations d’état (pages imprimées, pourcentage effectué, attente, etc.) régulièrement. • Fournir le coût (données comptables) du travail terminé. • Quitter sur la base de codes agréés. • Passer les messages d’erreur via une routine spéciale. • Définir les états de la file d’attente comme il se doit. • Terminer proprement à réception de SIGTERM. qdaemon et le programme dorsal communiquent via un fichier d’état. ”Routines du programme dorsal dans libqb”, page 4-35 décrit l’ensemble de routines de bibliothèque utilisé par le programme dorsal pour répondre à ces conditions de communication. Ces routines se trouvent dans la bibliothèque /usr/lib/libqb.a. Utilisation du fichier d’état Lorsque le processus qdaemon appelle un programme dorsal, il passe, dans l’ordre, les paramètres suivants : 1. Les paramètres du fichier /etc/qconfig. 2. Les indicateurs non reconnus par la commande enq, dans l’ordre où ils ont été donnés. Ces indicateurs seront précédés de l’option –o sur la ligne de commande. 3. Les noms du ou des fichier(s) à imprimer. Il existe un fichier d’état pour chaque unité et la file d’attente qui lui est associée. Ces fichiers se trouvent dans le répertoire /var/spool/lpd/stat. Le fichier d’état fournit un moyen de communication pour le processus qdaemon et le programme dorsal. qdaemon passe des informations telles que la date de création du fichier, la demande d’impression en rafales et le nombre d’exemplaires à imprimer. Le programme dorsal transmet le coût du travail qu’il vient d’exécuter. En outre, le programme dorsal met régulièrement à jour le nombre de pages qu’il a imprimées et le pourcentage de travail effectué. Ces informations sont lues par la commande qchk. Remarque : Les programmes dorsaux ne doivent jamais écrire explicitement dans leurs fichiers d’état. Ils doivent appeler les routines de la bibliothèque libqb pour le faire. Deux raisons justifient l’appel aux routines : • Le programme dorsal évite de devoir accéder directement au fichier d’état. • Le format du fichier d’état peut être modifié sans qu’il soit besoin de réécrire les programmes dorsaux. Si le format du fichier d’état est modifié, il suffit de rééditer les liens du programme dorsal. Pour initialiser certaines données communes aux routines de la bibliothèque, le programme dorsal doit appeler la routine log_init. L’appel est : log_init(); Cette routine doit être appelée pour initialiser l’interface du fichier d’état. La routine log_init, comme toutes les routines log_ de la bibliothèque, renvoie la valeur –1 si elle échoue. Imprimante, traceur et programmation du sous–système de spoulage 4-29 Impression d’exemplaires supplémentaires La commande enq –N imprime des exemplaires supplémentaires d’un fichier. Par exemple, pour imprimer cinq exemplaires du fichier filename, entrez la commande : enq –N5 filename La commande enq passe l’information au processus qdaemon, lequel la place dans le fichier d’état. Les programmes dorsaux doivent récupérer l’information en appelant la routine get_copies, laquelle renvoie le nombre total d’exemplaires demandés. Mise à jour des informations sur l’état d’un travail La commande qchk affiche des informations sur les travaux en cours : utilisateur à l’origine du travail, nombre de pages à imprimer, pourcentage effectué, etc. Toutes ces informations proviennent du fichier d’état. L’essentiel de ces informations est défini par qdaemon lorsque le programme dorsal est appelé pour la première fois, excepté les champs pages imprimées et pourcentage effectué, qui doivent être renseignés par le programme dorsal lui-même. Pour fournir cette information, le programme dorsal doit régulièrement appeler la fonction libqb log_progress(pages,percent). Si vous le souhaitez, vous pouvez également faire appel aux fonctions individuelles log_pages(pages) et log_percent(percent). Le programme dorsal peut appeler ces routines à tout moment ; un appel à la fin de chaque page est conseillé. Coût du travail Lorsque le programme dorsal termine un travail, qdaemon consulte le fichier d’état pour établir la facture. Si le fichier qconfig a été configuré à cet effet, le coût est inscrit dans un fichier, éventuellement traité ensuite par les programmes comptables. Il en résulte une facture (réelle ou virtuelle) adressée à l’émetteur de la requête d’impression. Le programme dorsal renvoie le coût à qdaemon via la routine log_charge(charge). Le programme dorsal doit appeler cette routine au moment de la sortie. Il doit également appeler la routine avec log_progress pendant l’impression du travail. Faute de quoi, le travail est annulé, et aucun coût n’est imputé pour les pages imprimées jusque là. La charge est interprétée par tous les programmes comptables courants comme le nombre de pages imprimées. Toutefois, un programme dorsal peut définir la charge sur la base d’un multiplicateur, entier ou fractionnaire, des pages imprimées. Pour en savoir plus sur la comptabilité des travaux, reportez-vous à ”Spouleur et gestion du système”, page 3-1. Codes de sortie Lorsqu’il existe un programme dorsal, qdaemon examine son code de sortie pour déterminer si le travail a abouti, si l’unité est toujours utilisable, etc. Il est de ce fait important que les programmes dorsaux adoptent les mêmes conventions pour leurs codes de sortie. Le programme dorsal doit utiliser #include <IN/standard.h> pour les valeurs des codes donnés ici. Les codes de sortie admis sont : 4-30 EXITOK Aucun problème rencontré. EXITBAD Les paramètres n’ont pu être pris en compte. Deux exemples classiques : indicateur non valide ou fichier impossible à ouvrir. qdaemon définit l’état de l’unité (affiché via qchk) à OFF, envoie un message vers la console, et n’exécute plus de travaux sur cette unité tant que personne ne remet explicitement son état à ON (via une commande enq –Pqueuename –U). Imprimantes et impression Guide de l’utilisateur EXITERROR Le programme dorsal n’a pu mener à terme le travail d’impression. qdaemon relance le travail depuis le début sur la même unité. qdaemon définit une limite au nombre de relances du travail. EXITFATAL Le travail n’a pu être mené à terme suite à un incident sur l’unité requerrant une intervention manuelle. indicateur non valide ou fichier impossible à ouvrir. qdaemon définit l’état de l’unité (affiché via qchk) à OFF, envoie un message vers la console, et n’exécute plus de travaux sur cette unité tant que personne ne remet explicitement son état à ON (via une commande enq –Pqueuename –U). EXITSIGNAL Le programme dorsal a été interrompu par un signal SIGTERM (#include <signal.h>). EXITWARN Le programme dorsal a émis un avertissement en direction de qdaemon. Le travail peut avoir abouti ou non, mais dans les deux cas, lorsque qdaemon reçoit un EXITWARN du programme dorsal, qdaemon renvoie un message expliquant le problème. Renvoi de messages d’erreur Lorsqu’une erreur se produit, le programme dorsal doit en avertir l’utilisateur. Avant d’envoyer un message, le programme dorsal doit examiner la variable d’environnement PIO_IPCWRITEFD. Si elle est définie, le message est adressé à un superviseur d’impression via un tube (pipe). Le superviseur d’impression interprète le message et l’envoie à l’utilisateur. Si la variable d’environnement PIO_IPCWRITEFD n’est pas définie, le programme dorsal envoie le message à l’utilisateur via la routine sysnot. Le spouleur d’impression qdaemon utilise toujours la routine sysnot pour envoyer les messages. Les spouleurs d’impression non-AIX peuvent utiliser la routine sysnot ou le tube pour envoyer les messages. Routine sysnot Le programme dorsal peut envoyer les messages directement à l’utilisateur via la routine sysnot. La routine sysnot peut soit envoyer le message à l’utilisateur par courrier, soit l’inscrire sur son terminal. La syntaxe d’appel de la routine sysnot est la suivante : sysnot(user,host,message,pref) char *user; char *host; char *message; unsigned int *pref; La valeur du paramètre pref doit être DOMAIL ou DOWRITE. DOMAIL adresse le message d’erreur par courrier à l’utilisateur. DOWRITE inscrit le message sur le terminal de l’utilisateur si celui-ci est connecté. Si l’utilisateur n’est pas connecté, le message lui est adressé par courrier. Les constantes DOMAIL et DOWRITE sont définies dans le fichier /usr/include/IN/backend.h. Utilisation d’un tube Le programme dorsal peut envoyer le message à un superviseur d’impression via un tube. Ce mécanisme offre un chemin de communication unilatéral entre le programme dorsal de l’imprimante et le superviseur d’impression. Le superviseur d’impression doit ouvrir un tube non nommé et récupérer deux descripteurs de fichier, l’un pour les opérations de lecture et l’autre pour les opérations d’écriture. Le superviseur d’impression doit exporter l’extrémité écriture dans la variable d’environnement PIO_IPCWRITEFD avant d’appeler le programme dorsal de l’imprimante via les sous-routines fork et exec. Si la variable d’environnement PIO_IPCWRITEFD est définie, le programme dorsal de l’imprimante inscrit tous les messages dans l’extrémité écriture du tube. Imprimante, traceur et programmation du sous–système de spoulage 4-31 Le superviseur d’impression appelle normalement la sous-routine select pour interroger l’extrémité lecture du tube sur les messages entrants. Outre le contrôle de l’état de sortie du programme dorsal de l’imprimante via la sous-routine waitpid, le superviseur d’impression interroge les E/S du tube. Le superviseur d’impression définit un gestionnaire de signal pour le signal SIGCHLD et effectue une lecture de bloc sur le tube. Le gestionnaire de signal examine l’état de sortie du programme dorsal de l’imprimante et effectue le cas échéant les actions requises. Lorsqu’il ne reste plus de messages non lus sur le tube, le superviseur d’impression ferme le tube et passe à des tâches de nettoyage. Format de message Chaque message envoyé par le programme dorsal de l’imprimante est constitué d’une trame d’en-tête de message, de zéro ou plusieurs trames d’en-tête de paramètre, d’un message in extenso et de texte composé de zéro ou de plusieurs paramètres. L’en-tête de message spécifie le type de message, le catalogue de messages, la longueur du texte in extenso du message et le nombre de paramètres variables du message. Les paramètres variables du message servent à construire le texte in extenso du message à partir de du texte de base extrait du catalogue des messages. Les formats de la structure de l’en-tête de message et des trames d’en-tête des paramètres de message sont définis dans le fichier /usr/include/piostruct.h. Lorsqu’il extrait des messages du tube, le superviseur d’impression lit la trame d’en-tête de message, puis les trames d’en-tête des paramètres du message (0–9, comme indiqué par le nombre de paramètres spécifié dans la trame d’en-tête de message). Le superviseur d’impression lit le texte in extenso du message, dont la longueur est spécifiée dan la trame d’en-tête de message, suivie éventuellement des paramètres. Le type et la longueur des paramètres sont spécifiés dans les trames d’en-tête de paramètre individuelles. Le type de message est spécifié dans la trame d’en-tête de message. Les deux types de messages sont : • ID_VAL_EVENT_ABORTED_BY_SERVER • ID_VAL_EVENT_WARNING_RESOURCE_NEEDS_ATTENTION Le texte réel du message est en format développé. Les paramètres sont placés dans le texte du message une fois extraits du fichier catalogue de messages de l’environnement local du serveur. Le superviseur d’impression peut utiliser le texte du message ou construire le texte de son propre message à partir des informations du catalogue de messages et des paramètres du message. Le programme dorsal de l’imprimante ne peut toutefois toujours fournir les informations du catalogue des messages (numéro de message, numéro d’ensemble et nom du catalogue) et les paramètres variables du message. C’est pourquoi le superviseur d’impression doit examiner le champ du nom de catalogue (champ pm_catnm) pour déterminer si le nom du catalogue est une chaîne nulle. Si le nom du catalogue est une chaîne nulle, le superviseur d’impression doit utiliser le texte développé fourni. Si le nom du catalogue existe, le superviseur d’impression peut extraire le message du catalogue et y placer autant de paramètres de message fournis que souhaité. Les paramètres de message peuvent être de type entier ou chaîne. Les paramètres de message sont toutefois passés à partir du programme dorsal de l’imprimante comme chaînes concaténées au texte in extenso du message. Si le superviseur d’impression extrait le message du catalogue spécifié et place les paramètres dans le message, les conventions suivantes s’appliquent : • Les paramètres peuvent être de type entier ou chaîne, mais sont toujours passés dans le tube comme chaînes terminées par un caractère NUL. La longueur de chaque paramètre en format chaîne est indiquée dans la trame d’en-tête du paramètre associé. 4-32 Imprimantes et impression Guide de l’utilisateur • Les messages extraits peuvent comporter des séquences d’échappement reconnue par la sous-routine printf. Aussi, lorsqu’il élabore le message, le superviseur d’impression doit-il contrôler l’existence de séquences d’échappement telles que %s, %d et %c, et convertir les paramètres en conséquence. Les paramètres positionnels sont parfois spécifiés via %n$s ou %n$d. Dans ce cas, le superviseur d’impression renseigne les paramètres dans l’ordre spécifié. • Vous pouvez spécifier neuf paramètres au maximum. Ainsi, le superviseur d’impression peut utiliser neuf variables de type *char et les affecter aux chaînes de paramètre appropriées. Une fois tous les spécificateurs positionnels et entiers remplacés, les paramètres peuvent être passés à la sous-routine printf. Par exemple, le texte du message extrait peut contenir : Error %8$d in opening %6$s file Le superviseur d’impression convertit le message en : Error %s in opening %s file et affecte le premier pointeur de paramètre variable au huitième paramètre, le deuxième pointeur de paramètre variable au sixième paramètre, et les autres pointeurs à des chaînes nulles. Le superviseur d’impression appelle ensuite la sous-routine sprintf ou une sous-routine similaire et passe les neuf pointeurs de paramètres variable comme paramètre à la fonction. • Le programme dorsal de l’imprimante spécifie le type (entier ou chaîne) de chaque paramètre, même si tous les paramètres sont passés comme chaînes dans le tube. Spécifiez le type approprié pour gérer la largeur et la précision du champ lorsque vous placez un paramètre dans un message extrait. • Le programme dorsal de l’imprimante peut passer ou ne pas passer les informations du catalogue de messages et les paramètres d’un message. Aussi, le superviseur d’impression doit-il être capable d’accepter le message in extenso lui-même, ou d’accepter les informations du catalogue et les paramètres et d’élaborer ensuite le message en conséquence. Définir l’état de la file d’attente La commande qchk affiche l’état d’une unité donnée. Une des entrées du tableau affiché indique l’état actuel de la file d’attente. Cette information est fournie par le fichier d’état. Consultez /usr/include/IN/backend.h pour la liste des états admis pour les files d’attente et leur signification. Normalement, qdaemon maintient à jour le fichier d’état. Toutefois, certains programmes dorsaux souhaitent définir explicitement l’état à WAITING (#include <IN/backend.h>) s’ils ne parviennent plus envoyer des sorties vers l’unité, et le ramener à RUNNING lorsque la sortie reprend. Par exemple, un programme dorsal qui effectue une pause à la fin de chaque page, dans l’attente d’une réponse de l’utilisateur, peut souhaiter définir l’état à WAITING pendant cette pause. La routine log_status(status) permet de changer l’état d’un travail de RUNNING à WAITING et réciproquement. Le paramètre est le nouvel état. Dans le cas d’un état DEV_WAIT sur une unité de file d’attente, lancez enq –U –Pqueue pour tenter de mettre la file d’attente à l’état prêt. Si cette opération n’aboutit pas, déplacez tous les travaux de cette file d’attente et lancez enq –G pour vider les autres files d’attente et désactiver qdaemon. Relancez ensuite qdaemon. Imprimante, traceur et programmation du sous–système de spoulage 4-33 Terminer sur réception de SIGTERM Lorsqu’un utilisateur annule un travail en cours via qcan, la commande passe la requête à qdaemon. Le programme dorsal doit arrêter rapidement l’impression à réception de ce signal. Il y a deux moyens de faire. Dans le premier, le programme dorsal ne peut rien faire de spécial avec SIGTERM, auquel cas le signal arrête immédiatement le processus du programme dorsal. Cette option, la plus simple, ne permet pas au programme dorsal d’effectuer le moindre nettoyage (réinitialiser les vitesses de ligne, placer la papier en début de page, raccrocher le téléphone) avant de terminer la tâche. Dans le second, le programme dorsal de peut récupérer SIGTERM, effectuer les tâches de nettoyage requises et quitter EXITSIGNAL (#include <IN/standard.h>). Le code de sortie spécial indique à qdaemon que le travail a été annulé. Les programmes dorsaux qui décident de récupérer SIGTERM doivent quitter très rapidement après réception du signal. 4-34 Imprimantes et impression Guide de l’utilisateur Routines du programme dorsal dans libqb Cet article définit l’ensemble des routines de bibliothèque à utiliser par le programme dorsal pour communiquer avec le processus qdaemon. Ces routines se trouvent dans la bibliothèque /usr/lib/libqb.a ; elles ont été conçues pour simplifier au maximum l’écriture d’un programme dorsal. Ces routines sont accessibles via l’option ld ou cc sur la ligne de commande –lqb. Pour en savoir plus sur l’utilisation de ces routines avec le programme dorsal, reportez-vous à ”Interaction entre qdaemon et le programme dorsal ”, page 4-29. get_align() Renvoie TRUE ou FALSE, selon qu’un saut de page d’alignement doit ou non être imprimé. Un saut de page n’est imprimé que si l’imprimante était inoccupée et est sur le point d’imprimer un nouveau travail. Le saut de page aligne le haut du papier – opération nécessaire si quelqu’un a bougé le papier pendant que l’imprimante était inoccupée. get_cmd_line() Renvoie un pointeur sur un tableau de caractères contenant la ligne de commande enq appelée par l’utilisateur. La chaîne renvoyée ne contient pas le nom /usr/bin/enq, aucun des noms de fichiers indiqués, et aucune des options envoyées au programme dorsal à l’aide de l’option enq –o. Par exemple, si l’utilisateur entre sur la ligne de commande le nom de fichier enq –Plp0 –Bgn –o –i15 , la fonction get_cmd_line renvoie la chaîne –Plp0 –Bgn. Cette fonction est utile lorsque le programme dorsal doit connaître les options ligne de commande fournies par un utilisateur à la soumission du travail. get_copies() Renvoie le nombre d’exemplaires à imprimer. Cette valeur est de type int (entier). get_device_name() Renvoie un pointeur sur un tableau de caractères contenant le nom de l’unité. get_feed() Renvoie le nombre de pages de saut à imprimer. Cette valeur est de type unsigned int (entier non signé). Ces pages sont des pages blanches imprimées exclusivement lorsque l’imprimante est inoccupée. Ce qui permet de retirer plus facilement le papier de l’imprimante. get_from() Renvoie un tableau de caractères contenant le nom de la personne qui a effectué la requête d’impression. Cette valeur est de type char* (caractère). get_header() Renvoie NEVER, ALWAYS ou GROUP (#include <IN/backend.h>). Cette valeur est de type unsigned int (entier non signé). Un en-tête est une page précédant un fichier, indiquant son titre, sa date, son destinataire, etc. get_job_number() Renvoie le numéro de travail de l’impression en cours. Cette valeur est de type int (entier). get_mail_only() Renvoie TRUE si l’utilisateur a spécifié courrier seulement. get_qdate() Renvoie une chaîne indiquant la date de mise en file d’attente de la requête. Cette valeur est de type char* (caractère). get_queue_name() Renvoie un tableau de caractères contenant le nom de la file d’attente. get_title() Renvoie un tableau de caractères contenant le titre du travail en cours d’impression. Cette valeur est de type char* (caractère). Imprimante, traceur et programmation du sous–système de spoulage 4-35 get_trailer() Renvoie NEVER, ALWAYS ou GROUP. Cette valeur est de type unsigned int (entier non signé). Une page de fin est une page qui suit un fichier indiquant le nom de l’utilisateur de la sortie. get_to() Renvoie un tableau de caractères contenant le nom de la personne destinataire du travail. Cette valeur est de type char* (caractère). get_was_idle() Renvoie TRUE si l’imprimante était inoccupée au lancement du travail (utile pour l’avance papier : avance/pas d’avance). Renvoie le coût d’impression du travail courant. log_charge(charge) int charge; Renvoie le coût d’impression du travail courant. log_init Initialise certaines données communes aux routines de bibliothèque. log_pages(pages) Met à jour le fichier d’état avec le nombre de pages imprimées. log_percent(percent) Met à jour le fichier d’état avec le pourcentage de travail terminé. log_progress(log_pages (int),log_percent(char)) Met à jour le fichier d’état avec le nombre de pages imprimées et le pourcentage de travail effectué. Cette fonction utilise log_pages et log_percent. log_status(status) Change l’état du travail de RUNNING à WAITING et réciproquement. Le paramètre est le nouvel état. put_header(fnaddr,width) int (*fnaddr); int *width; Imprime une page d’en-tête non suivie d’un saut de page et renvoie le nombre de lignes imprimées. Les paramètres fnaddr et width sont facultatifs. Le paramètre fnaddr définit la sous-routine de format utilisée pour afficher les caractères de la page d’en-tête. La sous-routine par défaut est la sous-routine putchar. Le paramètre width définit la largeur de la page. La valeur par défaut du paramètre width est 80. put_trailer(user,fnaddr,width) char *user; int (*fnaddr); int *width Imprime une page de fin pour l’utilisateur non suivie d’un saut de page et renvoie le nombre de lignes imprimées. Les paramètres fnaddr et width sont facultatifs. Ces paramètres sont identiques et prennent les mêmes valeurs que les paramètres fnaddr et width de la sous-routine put_header. sysnot(user,host,message,pref) char *user; char *host; char *message; 4-36 Imprimantes et impression Guide de l’utilisateur unsigned int *pref; Envoie un message à l’utilisateur si le programme dorsal ne peut exécuter un travail. La valeur du paramètre pref indique si le message doit être envoyé par courrier ou écrit sur le terminal de l’utilisateur. Les valeurs admises, définies dans le fichier /usr/include/IN/backend.h, sont : DOMAIL adresse le message d’erreur par courrier à l’utilisateur. DOWRITE Inscrit le message sur le terminal de l’utilisateur si celui-ci est connecÂté. Si l’utilisateur n’est pas connecté, le message lui est adressé par courrier. Imprimante, traceur et programmation du sous–système de spoulage 4-37 Tables de traduction de la page de code de l’imprimante La traduction des points de code du fichier d’impression en points de code imprimante est un processus en deux temps (la traduction des points de code est gérée différemment pour les langues orientales). La première étape traduit les points de code du fichier d’impression en points de code dans une page intermédiaire. La page de code intermédiaire est constituée de points de code entiers de 16 bits pour tous les caractères pris en charge. Les 256 premiers points de code de la page intermédiaire sont identiques à la page de code 850 d’IBM, à ceci près que les points de code 0 à 31 (décimal) sont des caractères de contrôle ASCII et non des caractères imprimables. La page de code intermédiaire est définie dans le fichier /usr/lib/lpd/pio/etc/codepage.txt. Traduction - Étape 1 L’exemple de code en langage C ci-après génère une table de traduction qui traduit les points de code à partir d’une hypothétique page de code 123 en une page de code intermédiaire. #include <piostruct.h> #include <fcntl.h> /*** Table to Translate Code Points for Input Code Page ***/ /*** ”123” to Code Points for the Intermediate Code Page ***/ short table[256] = { /* 00 (000) */ CP, CP, CP, CP, . . . /* FC (252) */ CP, SC, 126, CP }; /*** Write the Table to a File (Error Processing Not Shown) ***/ main ( ) { int fildes; int fmt_type = 1; fildes = open(”/usr/lib/lpd/pio/transl/123”, O_CREAT | O_WRONLY,\ 0664); write(fildes, ”PIOSTAGE1XLATE00”, 16); write(fildes, &fmt_type, sizeof(fmt_type)); write(fildes, table, sizeof(table)); return(0); } Le CP au point de code 252 signifie que le point de code doit être copié tel quel. Le SC au point de code 253 signifie que le caractère n’est pas défini dans la page de code intermédiaire et qu’un caractère de substitution doit être imprimé à sa place. Le 126 au point de code 254 signifie que ce point de code 254 doit être traduit en point de code 126. L’indicateur –X dans la commande qprt spécifie le nom de la page de code du fichier d’impression. Avec la valeur 123, le programme de formatage lit la table à partir du fichier /usr/lib/lpd/pio/trans1/123 et l’utilise pour effectuer la première étape de traduction. 4-38 Imprimantes et impression Guide de l’utilisateur Traduction - Étape 2 Dans la seconde étape de la traduction des points de code, une ou plusieurs tables de traduction convertissent les points de code de la page de code intermédiaire en points acceptables par l’imprimante. Les attributs t0 – t9 dans le fichier deux–points de la base de données spécifient les chemins d’accès complets des tables de traduction de l’étape 2. Vous pouvez spécifier plusieurs tables de traduction de l’étape 2 dans chacun des attributs t0 – t9, sous réserve de les séparer par des virgules. Le programme de formatage d’impression lit les tables de traduction de l’étape 2 et les chaîne en un anneau. En commençant par la table de la page de code de l’imprimante actuelle, le programme de formatage traite chaque caractère du fichier d’impression en entrée. La première question est de savoir si le caractère est défini dans la page de code de l’imprimante. En d’autres termes, si la valeur du point de code n’est pas supérieure au nombre de points de code de la table, et si cette valeur est différente de SC. Si le caractère se trouve dans la page de code, le point de code traduit est envoyé à l’imprimante. Le programme de formatage sélectionne la page de code de l’imprimante en envoyant la chaîne de commande d’imprimante appropriée. Par convention, le nom de l’attribut (2 caractères) de la chaîne de commande de l’imprimante se trouve à l’indice 0 du tableau des Noms de commande. Si le caractère ne se trouve pas dans la page de code, le programme de formatage répète le processus avec la table de traduction d’étape 2 suivante dans l’anneau. Si le programme de formatage ne trouve pas de table de traduction dans l’anneau qui puisse imprimer le caractère, il imprime à la place un caractère de substitution (trait de soulignement). L’exemple de code en langage C suivant génère une table de traduction d’étape 2, appelée XYZ.999, qui traduit les points de code de la page de code intermédiaire en points de code pour la page de code de l’imprimante. L’attribut c1 est supposé contenir la chaîne de commande qui provoque la sélection par l’imprimante de la page de code XYZ.999. #include <piostruct.h> #include <fcntl.h> /*** Table to Translate Code Points for the Intermediate ***/ /*** Code Page to Code Points for a Printer Code Page ***/ struct transtab table[] = { /* 00 (000) */ {CP}, {CP}, {CP}, {CP}, . . . /* FC (252) */ {63}, {CP}, {94,1}, {SC} }; /*** Command Names for the Translate Table ***/ char cmdnames[][2] = { {’c’, ’1’}, /* index 0 – select the code page */ {’e’, ’b’} }; /* index 1 – next byte is graphic */ /*** Write the Table To a File (Error Processing Not Shown) ***/ main() { int fildes; int num_commands = sizeof(cmdnames) / 2; fildes = open(”/usr/lib/lpd/pio/trans2/XYZ.999”, O_CREAT | O_WRONLY,\ 0664); write(fildes, ”PIOSTAGE2XLATE00”, 16); write(fildes, &num_commands, sizeof(num_commands)); write(fildes, cmdnames, sizeof(cmdnames)); write(fildes, table, sizeof(table)); return(0); } Imprimante, traceur et programmation du sous–système de spoulage 4-39 Le {63} au point de code 252 signifie que ce point de code 252 doit être traduit en point de code 63 avant envoi à l’imprimante. Le {CP} au point de code 253 signifie que ce point de code 253 doit être envoyé tel quel à l’imprimante. Le {94,1} au point de code 254 signifie que ce point de code 254 doit être traduit en point de code 94 avant envoi à l’imprimante. Le ,1 dans {94,1} indique que la chaîne de commande de l’imprimante dont le nom d’attribut (2 caractères) se trouve à l’indice 1 du tableau des noms de commande doit être envoyé à l’imprimante avant envoi du point de code. Le SC au point de code 255 indique que le caractère au point de code 255 dans la page de code intermédiaire ne peut être imprimé par la page de code de l’imprimante décrite par cette table de traduction d’étape 2. Traduction de la page de code de l’imprimante pour les jeux de code multioctets La traduction d’un jeu de code multioctets (MBCS) à partir du fichier d’impression diffère de la traduction des points de code d’un jeu de code mono–octet (SBCS). La traduction à partir du fichier d’impression dans un jeu de codes dans un environnement multioctets se fait en deux étapes. Pendant la première étape de traduction du jeu de codes, le jeu de codes en entrée du fichier d’impression est traduit en un jeu de codes de traitement. Le jeu de code de traitement doit être l’un des jeux de codes MBCS pris en charge par la sous-routine iconv et la base de données (DB) locale : jeux de codes IBM–932, IBM–eucTW et IBM–eucKR, par exemple. Pendant la deuxième étape, le jeu de codes de traitement est traduit en jeu de code de sortie adapté à l’imprimante. La sous-routine iconv traduit le jeu de codes, si le convertisseur iconv pour la traduction existe. Lorsque le jeu de code en entrée ou en sortie et le jeu de code de traitement sont les mêmes, aucun traduction de jeu de code n’a lieu. Les attributs Ti et To des fichiers deux-points dépendants de l’imprimante définissent le flot possible du jeu de code de traduction. L’attribut Ti spécifie la combinaison des jeux de code d’entrée et de traitement : [Input_code_set, ... ]Process_code_set, ... L’attribut To spécifie la combinaison du code de traitement et de sortie : Process_code_set [Output_code_set0, Output_code_set1, Output_code_set2, Output_code_set3,... ], ... Par exemple, l’attribut To pour une imprimante japonaise est définie par : ::To::IBM–932[IBM–932, IBM–932, IBM–932], ibm–eucJP[IBM–932, IBM–932, IBM–932,IBM–932] Tous les caractères de l’ID du jeu de caractères (CSID) sont imprimés en utilisant les polices ROM lorsqu’un jeu de codes de sortie est spécifié pour chaque CSID. Sinon, ce sont les images bitmap de la police Xwindows qui sont utilisées. Le type des fichiers de police Xwindows, image de police de chaque CSID comprise, est sélectionné via la lecture d’un fichier du répertoire /usr/lib/X11/nls. Tables de traduction de la page de code de l’imprimante pour les jeux de code multioctets Une table de traduction est constituée de correspondances entre les points de code qui ne sont pas communs aux deux jeux de code. Le programme dorsal d’une imprimante peut communiquer avec les autres jeux de code même si le jeu de code n’est pas pris en charge par la sous-routine iconv, par le biais d’une table de traduction se trouvant dans le répertoire /usr/lib/lpd/pio/transJP. Lorsqu’un jeu de code en entrée ou en sortie n’est pas pris en charge par la sous-routine iconv, le jeu de code non pris en charge est traduit en un des jeux de codes pris en charge ou directement en un jeu de code de traitement du répertoire /usr/lib/lpd/pio/transJP. Les utilisateurs détenteurs des droits de l’utilisateur racine peuvent ajouter de nouveaux jeux de codes pour les imprimantes en créant des tables de traduction. 4-40 Imprimantes et impression Guide de l’utilisateur La convention d’appellation des nouvelles tables de traduction est FromCodeSetName_ToCodeSetName. Toutes les tables de traduction doivent être définies dans le fichier trans_dir. Le f_cp d’un point de code dans une table de traduction doit être trié à l’avance par ordre alphabétique. Les fichiers trans_dir et codeset.alias se trouvent dans le répertoire /usr/lib/lpd/pio/transJP. Le format du fichier trans_dir est : FromCodeSetName ToCodeSetName NameofTranslationFile Les alias des jeux de codes sont définis dans le fichier codeset.alias. Le format du fichier codeset.alias est : CodeSetName AliasName ... Par exemple, pour imprimer un fichier MBCS écrit avec un nouveau jeu de codes, sur une imprimante IBM–932, procédez comme suit : 1. Créez une table de traduction dans le répertoire /usr/lib/lpd/pio/transJP. La convention d’appellation du nouveau fichier est NewCodeSetName_IBM–932. 2. Définissez la table de traduction dans le fichier trans.dir. Le format de définition d’un nouveau jeu de codes appelé NewCodeSet est : newcodeset IBM–932 newcodeset_IBM–932 3. Au besoin, définissez le nom d’alias dans le fichier trans.alias. 4. Ajoutez le nom du jeu de codes comme code d’entrée dans un fichier deux-points, par exemple : ::Ti::[NewCodeSetName, ...]IBM–932, ... Utilisation des polices Xwindows avec la commande qprt Les programmes dorsaux de l’imprimante MBCS utilisent les polices Xwindows définies dans le répertoire /usr/lib/X11/fonts pour imprimer les caractères qui ne se trouvent pas dans la ROM de l’imprimante. Les indicateurs –F et –I (i majuscule) de la commande qprt désignent les polices Xwindow pour l’imprimante. Les valeurs par défaut des options de la commande qprt sont spécifiées dans les fichiers deux-points comme valeurs des attributs _F et _I. L’indicateur qprt –F spécifie une police. Le chemin d’accès complet, l’alias de la police ou la description XLFD (Xwindow Logical Function Description) d’une police Xwindow peut être utilisé avec l’indicateur –F. L’indicateur –I suit le chemin d’accès à une police pour trouver les polices Xwindow et crée l’entrée de l’attribut _I. Le format du fichier deux–points pour l’attribut _I est : ::_I::/usr/lib/X11/fonts/JP,/usr/lib/X11/fonts Si l’utilisateur spécifie un autre chemin via la commande qprt –I, le programme dorsal de l’imprimante explore ce chemin et non les chemins par défaut figurant dans le fichier deux–points _I. Si l’option –I est de valeur NULL, le programme dorsal adopte par défaut le répertoire /usr/lib/X11/fonts. Pour spécifier un fichier de police Xwindows spécifique via un chemin d’accès complet, un alias de police ou XLFD, entrez : $ qprt –F ’*–27–*–ibm_udcjp’ foo.txt $ qprt –F IBM_JPN17 /* XLFD names list */ / * Font alias name */ Cet exemple conduit le programme dorsal de l’imprimante MBCS à explorer les fichiers fonts.alias et fonts.dir pour localiser les polices adaptées au jeu de code spécifié via l’option –X de la commande qprt. Imprimante, traceur et programmation du sous–système de spoulage 4-41 Exemple de table de traduction #include <fcntl.h> struct trans_table /*Translation Table Structure { unsigned int reserv1; /* Reserved unsigned int f_cp; /* From code point unsigned int reserv2; /* Reserved unsigned int t_cp; /* To code point }; /* *Table to translate code points for input code set(NewCodeSet) *to code points for the process code set(IBM–932). */ struct trans_table table[] = { {0x0,0x81ca,0x0,0xfa54},{0x0,0x9e77,0x0,0x954f},\ {0x0,0x9e8d,0x0,0x938e}, /* .... */ [0x0,0xfad0,0x0,0x8d56} }; /* Write the table. Error processing not shown. */ main() { int ftrans; long hdsize = 32; /* Header size long cpsize = 4; /* Code point size long rsv1 = 0, rsv2 = 0; /* Reserved area ftrans = open(”usr/lib/lpd/pio/transJP/newcodeset_IBM–932”, O_CREAT | O_WRONLY, 0664); write(ftrans, ”PIOSMBCSXLATE000”, 16); write(ftrans, &hdsize, sizeof(long)); write(ftrans, &cpsize, sizeof(long)); write(ftrans, &rsv1, sizeof(long)); write(ftrans, &rsv2, sizeof(long)); write(ftrans, table, sizeof(table)); return(0); } 4-42 Imprimantes et impression Guide de l’utilisateur */ */ */ */ */ */ */ */ Traduction de la page de code de l’imprimante pour les jeux de code multioctets La traduction d’un jeu de code multioctets (MBCS) à partir du fichier d’impression diffère de la traduction des points de code d’un jeu de code mono–octet (SBCS). La traduction à partir du fichier d’impression dans un jeu de codes dans un environnement multioctets se fait en deux étapes. Pendant la première étape de traduction du jeu de codes, le jeu de codes en entrée du fichier d’impression est traduit en un jeu de codes de traitement. Le jeu de code de traitement doit être l’un des jeux de codes MBCS pris en charge par la sous-routine iconv et la base de données (DB) locale : jeux de codes IBM–943, IBM–eucTW et IBM–eucKR, par exemple. Pendant la deuxième étape, le jeu de codes de traitement est traduit en jeu de code de sortie adapté à l’imprimante. La sous-routine iconv traduit le jeu de codes, si le convertisseur iconv pour la traduction existe. Lorsque le jeu de code en entrée ou en sortie et le jeu de code de traitement sont les mêmes, aucun traduction de jeu de code n’a lieu. Les attributs Ti et To des fichiers deux-points dépendants de l’imprimante définissent le flot possible du jeu de code de traduction. L’attribut Ti spécifie la combinaison des jeux de code d’entrée et de traitement : [Input_code_set, ... ]Process_code_set, ... L’attribut To spécifie la combinaison du code de traitement et de sortie : Process_code_set [Output_code_set0, Output_code_set1, Output_code_set2, Output_code_set3,... ], ... Par exemple, l’attribut To pour une imprimante japonaise est définie par : ::To::IBM–943[IBM–932, IBM–932, IBM–932], ibm–eucJP[IBM–932, IBM–932, IBM–932,IBM–932] Tous les caractères de l’ID du jeu de caractères (CSID) sont imprimés en utilisant les polices ROM lorsqu’un jeu de codes de sortie est spécifié pour chaque CSID. Sinon, ce sont les images bitmap de la police Xwindows qui sont utilisées. Le type des fichiers de police Xwindows, image de police de chaque CSID comprise, est sélectionné via la lecture d’un fichier du répertoire /usr/lib/X11/nls. Tables de traduction de la page de code de l’imprimante pour les jeux de code multioctets Une table de traduction est constituée de correspondances entre les points de code qui ne sont pas communs aux deux jeux de code. Le programme dorsal d’une imprimante peut communiquer avec les autres jeux de code même si le jeu de code n’est pas pris en charge par la sous-routine iconv, par le biais d’une table de traduction se trouvant dans le répertoire /usr/lib/lpd/pio/transJP. Lorsqu’un jeu de code en entrée ou en sortie n’est pas pris en charge par la sous-routine iconv, le jeu de code non pris en charge est traduit en un des jeux de codes pris en charge ou directement en un jeu de code de traitement du répertoire /usr/lib/lpd/pio/transJP. Les utilisateurs détenteurs des droits de l’utilisateur racine peuvent ajouter de nouveaux jeux de codes pour les imprimantes en créant des tables de traduction. La convention d’appellation des nouvelles tables de traduction est FromCodeSetName_ToCodeSetName. Toutes les tables de traduction doivent être définies dans le fichier trans_dir. Le f_cp d’un point de code dans une table de traduction doit être trié à l’avance par ordre alphabétique. Les fichiers trans_dir et codeset.alias se trouvent dans le répertoire /usr/lib/lpd/pio/transJP. Le format du fichier trans_dir est : FromCodeSetName ToCodeSetName NameofTranslationFile Imprimante, traceur et programmation du sous–système de spoulage 4-43 Les alias des jeux de codes sont définis dans le fichier codeset.alias. Le format du fichier codeset.alias est : CodeSetName AliasName ... Par exemple, pour imprimer un fichier MBCS écrit avec un nouveau jeu de codes, sur une imprimante IBM–943, procédez comme suit : 1. Créez une table de traduction dans le répertoire /usr/lib/lpd/pio/transJP. La convention d’appellation du nouveau fichier est NewCodeSetName_IBM–943. 2. Définissez la table de traduction dans le fichier trans.dir. Le format de définition d’un nouveau jeu de codes appelé NewCodeSet est : newcodeset IBM–943 newcodeset_IBM–943 3. Au besoin, définissez le nom d’alias dans le fichier trans.alias. 4. Ajoutez le nom du jeu de codes comme code d’entrée dans un fichier deux-points, par exemple : ::Ti::[NewCodeSetName, ...]IBM–943, ... Utilisation des polices Xwindows avec la commande qprt Les programmes dorsaux de l’imprimante MBCS utilisent les polices Xwindows définies dans le répertoire /usr/lib/X11/fonts pour imprimer les caractères qui ne se trouvent pas dans la ROM de l’imprimante. Les indicateurs –F et –I (i majuscule) de la commande qprt désignent les polices Xwindow pour l’imprimante. Les valeurs par défaut des options de la commande qprt sont spécifiées dans les fichiers deux-points comme valeurs des attributs _F et _I. L’indicateur qprt –F spécifie une police. Le chemin d’accès complet, l’alias de la police ou la description XLFD (Xwindow Logical Function Description) d’une police Xwindow peut être utilisé avec l’indicateur –F. L’indicateur –I suit le chemin d’accès à une police pour trouver les polices Xwindow et crée l’entrée de l’attribut _I. Le format du fichier deux–points pour l’attribut _I est : ::_I::/usr/lib/X11/fonts/JP,/usr/lib/X11/fonts Si l’utilisateur spécifie un autre chemin via la commande qprt –I, le programme dorsal de l’imprimante explore ce chemin et non les chemins par défaut figurant dans le fichier deux–points _I. Si l’option –I est de valeur NULL, le programme dorsal adopte par défaut le répertoire /usr/lib/X11/fonts. Pour spécifier un fichier de police Xwindows spécifique via un chemin d’accès complet, un alias de police ou XLFD, entrez : $ qprt –F ’*–27–*–ibm_udcjp’ foo.txt $ qprt –F IBM_JPN17 /* XLFD names list */ / * Font alias name */ Cet exemple conduit le programme dorsal de l’imprimante MBCS à explorer les fichiers fonts.alias et fonts.dir pour localiser les polices adaptées au jeu de code spécifié via l’option –X de la commande qprt. 4-44 Imprimantes et impression Guide de l’utilisateur Exemple de table de traduction #include <fcntl.h> struct trans_table /*Translation Table Structure { unsigned int reserv1; /* Reserved unsigned int f_cp; /* From code point unsigned int reserv2; /* Reserved unsigned int t_cp; /* To code point }; /* *Table to translate code points for input code set(NewCodeSet) *to code points for the process code set(IBM–943). */ struct trans_table table[] = { {0x0,0x81ca,0x0,0xfa54},{0x0,0x9e77,0x0,0x954f},\ {0x0,0x9e8d,0x0,0x938e}, /* .... */ [0x0,0xfad0,0x0,0x8d56} }; /* Write the table. Error processing not shown. */ main() { int ftrans; long hdsize = 32; /* Header size long cpsize = 4; /* Code point size long rsv1 = 0, rsv2 = 0; /* Reserved area ftrans = open(”usr/lib/lpd/pio/transJP/newcodeset_IBM–932”, O_CREAT | O_WRONLY, 0664); write(ftrans, ”PIOSMBCSXLATE000”, 16); write(ftrans, &hdsize, sizeof(long)); write(ftrans, &cpsize, sizeof(long)); write(ftrans, &rsv1, sizeof(long)); write(ftrans, &rsv2, sizeof(long)); write(ftrans, table, sizeof(table)); return(0); } Imprimante, traceur et programmation du sous–système de spoulage */ */ */ */ */ */ */ */ 4-45 Fichiers de raccord de l’imprimante Les fichiers de raccord constituent une interface simple pour les développeurs de connexions d’imprimante pour créer des écrans SMIT (System Management Interface Tool) qui prennent en charge la connexion de nouvelles imprimantes. Pour en savoir plus sur les fichiers de raccord, reportez-vous à : • Interface SMIT • Conventions d’appellation des fichiers de raccord, page 4-46 • Structure des fichiers de raccord, page 4-47 • Définition des champs du fichier de raccord, page 4-48 Chaque nouveau type de raccord est défini dans un fichier de raccord. Le fichier de raccord contient le nom des ID objet SMIT utilisés pour exécuter les différentes tâches d’impression. Le nom d’un type de raccord est limité à 10 caractères. Interface SMIT Les fichiers de raccord dirigent le branchement des menus SMIT vers les ID objet SMIT. Chaque fichier de raccord contrôle le branchement de tout ou partie des options SMIT suivantes : • Start a Print Job • Add a Print Queue • Add an Additional Printer to an Existing Queue • Change/Show Print Queue Characteristics • Change/Show Printer Connection Characteristics • Remove a Print Queue • Pre–Processing Filters Par exemple, si vous sélectionnez l’option Add a Print Queue dans un menu SMIT, la première information demandée à l’utilisateur est le type de connexion utilisée. L’utilisateur sélectionne le type de connexion souhaité, et SMIT recherche le fichier de raccord correspondant pour déterminer le fichier ID objet de SMIT sur lequel se brancher. Les sélecteurs et les boîtes de dialogue SMIT pour les nouvelles connexions d’imprimante doivent créer des dialogues qui permettent d’ajouter, de modifier et de supprimer une file d’attente d’impression pour le nouveau type de connexion. Les noms des nouvelles boîtes de dialogue SMIT sont placés dans le fichier de raccord. Le branchement sur les noms des dialogues du fichier est automatique lorsque vous créez, modifiez ou supprimez des files d’attente pour le nouveau type de raccord. Conventions d’appellation des fichiers de raccord Les noms des fichiers de raccord doivent suivre les conventions suivantes : Attachment_type.attach La chaîne Attachment_type doit contenir une chaîne unique identifiant le raccord. Tous les fichiers de raccord doivent se trouver dans le répertoire /usr/lib/lpd/pio/etc. Les fichiers de raccord suivants sont fournis : 4-46 local.attach Contient le fichier des imprimantes raccordées localement au système. xsta.attach Contient le fichier des imprimantes raccordées aux Xstations. ascii.attach Contient le fichier des imprimantes raccordées aux terminaux ASCII. Imprimantes et impression Guide de l’utilisateur file.attach Contient le fichier de sortie vers un fichier. remote.attach Contient le fichier de raccord aux files d’attente d’impression distantes. Structure des fichiers de raccord Les fichiers de raccord sont des fichiers ASCII. Chaque ligne d’un fichier de raccord définit un champ, selon le format : FieldName = Value Les noms de champ suivants ont une signification particulière dans le fichier de raccord : • description • seq_num • supported • unsupported Les noms de champ suivants définissent les ID de sélecteur SMIT. La variable Value doit contenir un ID de sélecteur SMIT. La valeur d’ID du sélecteur pour chaque champ spécifie le cible de la branche. Les champs SMIT sont : • submit_job • add_queue • add_printer • remove_queue • printer_conn • change_queue • change_filters Chaque fichier de raccord doit contenir les champs description, add_queue et remove_queue. Tous les autres champs sont facultatifs. Les champs ayant une valeur nulle sont considérés comme s’ils étaient absents. Il n’y a aucune autre restriction sur les autres contenus d’un fichier de raccord. L’exemple de fichier de raccord suivant est appelé term_serv.attach: description = term_serv.cat,1,3; Printer Attached to Terminal Server seq_num = 2 submit_job = term_serv_start_job add_queue = term_serv_add add_printer = term_serv_printer remove_queue = term_serv_remove printer_conn = term_serv_printer_conn change_queue = term_serv_change change_filters = term_serv_change_filters unsupported = ibm6252,ibm6262 Imprimante, traceur et programmation du sous–système de spoulage 4-47 Définition des champs d’un fichier de raccord Les définitions de champs suivantes précisent les champs de type de raccord, le format des valeurs des champs et donnent des exemples concrets de valeurs. description Chaîne de description apparaissant sur le menu SMIT Attachment type. Le menu SMIT Attachment type donne la liste de tous les types de raccords pris en charge sur le système. Ce champ est obligatoire pour que le type de raccord apparaissent sur les listes de types pris en charge. Le format du champ description est : Message_catalog,Set,Message_#; DefaultTextString Donner des valeurs à Message_catalog, Set et Message_# est facultatif. Par exemple, les deux entrées suivantes créent le même élément de menu dans SMIT. Le premier exemple utilise le catalogue de messages term_serv.cat, numéro d’ensemble 1 et numéro de message 3. Si le message est introuvable, SMIT utilise le texte par défaut entre guillemets. Dans le second exemple, aucun catalogue de messages n’est désigné, et le message entre guillemets est automatiquement utilisé dans le menu : description = term_serv.cat,1,3; Printer Attached to Terminal Server description = Printer Attached to Terminal Server seq_num Ordre d’affichage d’un type de raccord dans le menu SMIT Attachment Type Selector. Si ce champ est vide, les types de raccords sont affichés sans ordre particulier. Par exemple, pour afficher un type de raccord en seconde position sur le menu, tapez : seq_num = 2 supported/unsu Liste de types d’imprimantes admises ou non admises pour ce type pported de raccord. La valeur du champ supported sert à générer la liste des imprimantes prises en charge par le type de raccord sur les écrans SMIT. Les deux champs s’excluent mutuellement. Le format de la valeur des champs supported et unsupported est une liste de types d’imprimantes, séparés par des virgules. Par exemple, pour exclure les imprimantes ibm6252, ibm6262 et ibm4029 de la liste des imprimantes prises en charge, entrez : unsupported = ibm6252, ibm6262, ibm4029 Pour intégrer les imprimantes hplj–3, hplj–3–si, et hplj–2 à la liste des types d’imprimantes disponibles, tapez : supported = hplj–3, hplj–3–si, hplj–2 submit_job Nom de l’ID de sélecteur SMIT sur lequel se brancher pour lancer un travail d’impression. Si ce champ est vide, la valeur de la boîte de dialogue enq est adoptée. Par exemple, pour se brancher sur le sélecteur term_ser_start_job à partir de l’option Start a Print Job si la file d’attente sélectionnée est de type de raccord term_serv, tapez : submit_job = term_serv_start_job 4-48 Imprimantes et impression Guide de l’utilisateur add_queue Nom de l’ID de sélecteur SMIT sur lequel se brancher pour ajouter une file d’attente d’impression. Par exemple, pour se brancher sur l’ID sélecteur term_serv_add à partir de l’option Add a Print Queue, tapez : add_queue = term_serv_add add_printer Nom de l’ID de sélecteur SMIT sur lequel se brancher pour ajouter une imprimante à une file d’attente existante. Fonctionnellement, cette opération ajoute une nouvelle unité de file d’attente à une file d’attente existante. Pour se brancher sur l’ID sélecteur term_serv_printer à partir de l’option SMIT Existing Print Queue, tapez : add_printer = term_serv_printer remove_queue Nom de l’ID de sélecteur SMIT sur lequel se brancher pour supprimer une file d’attente d’impression. L’écran Remove supprime les autres files d’attente, unités de file d’attente, imprimantes virtuelles et unités imprimante créés au moment de la création de la file d’attente d’impression. Pour se brancher à partir de l’option Remove a Print Queue menu sur l’ID sélecteur term_serv_remove, tapez : remove_queue = term_serv_remove printer_conn Nom de l’ID de sélecteur SMIT sur lequel se brancher pour modifier les caractéristiques de connexion d’une file d’attente d’impression. Les caractéristiques d’un port de communication sont pour l’essentiel : le débit, la parité, les bits d’arrêt, etc. Pour se brancher sur l’ID sélecteur term_serv_printer_conn à partir de l’option SMIT Printer Port Communication Characteristics, tapez : printer_conn = term_serv_printer_conn change_queue Nom de l’ID de sélecteur SMIT sur lequel se brancher pour modifier les caractéristiques d’une file d’attente d’impression. Pour se brancher sur l’ID sélecteur term_serv_change à partir de l’option SMIT Change/Show Print Queue Characteristics, tapez : change_queue = term_serv_change change_filters Nom de l’ID de sélecteur SMIT sur lequel se brancher pour modifier les filtres de prétraitement définis pour une file d’attente d’impression. Pour se brancher sur l’ID sélecteur term_serv_change_filters à partir de l’option SMIT Change/Show Pre–Processing Filters, tapez : change_filters = term_serv_change_filters Imprimante, traceur et programmation du sous–système de spoulage 4-49 Opérateurs du champs limits du fichier deux-points d’une imprimante Le champ limits du fichier deux-points contient deux types d’informations : • informations sur le dialogue SMIT • informations de validation Les informations sur le dialogue SMIT servent à la construction des objets SMIT représentant les attributs du fichier deux-points dans la base de données ODM (Object Data Manager). Ces objets sont utilisés dans les écrans Print a File, Printer Setup et Default Job Characteristics. Le champ limits donne au créateur du fichier deux-points le contrôle du type d’objet ODM construit pour un attribut donné. Tous les objets construits pour le champ limits font partie de la classe d’objets sm_cmd_opt. Le champ limits permet de contrôler les champs suivants d’une classe d’objets sm_cmd_opt : • id_seq_num • entry_type • cmd_to_list_mode • required • op_type • multi_select • cmd_to_list_mode • disp_values • aix_values • values_msg_file • values_msg_get • help_msg_id • help_msg_loc Vous pouvez définir ces attributs pour qu’ils s’affichent toujours, jamais ou seulement s’ils sont référencés dans le pipeline. Pour en savoir plus sur ces champs, reportez-vous à ”sm_cmd_opt (SMIT Dialog/Selector Command Option) Object Class” dans le manuel AIX General Programming Concepts : Writing and Debugging Programs. Les informations de validation servent à valider les valeurs d’attribut lorsque le fichier deux-points est assimilé et que le travail d’impression est soumis. Pour en savoir plus sur le champ limits, reportez-vous à : • Contenu du champ limits • Opérateurs du champ limits 4-50 Imprimantes et impression Guide de l’utilisateur Contenu du champ limits Le champ limits est le quatrième du fichier deux-points. Les attributs du fichier deux-points ont le format suivant : Les informations du champ limits ont deux éléments. Le premier est un opérateur constitué d’une lettre unique spécifiant une action. Cette lettre est l’une des suivantes : C, D, E, F, G, H, I, L, M, Q, R, S, T ou V. Le second élément est constitué des données. Si les données sont constituées de plus d’un caractère, elles doivent être mises entre crochets ( [ ] ). Par exemple, si le champ limits contient ’E#’, le champ entry_type de la classe d’objets sm_cmd_opt contient la valeur numérique affectée à #. Le champ entry_type avec une valeur ’E#’ ne peut recevoir que des valeurs numériques. Autre exemple, si le champ limits contient ’[none,full,emulator=0,1,2]’, la classe d’objets sm_cmd_opt contient les valeurs suivantes : Field Name Values disp_values none, full, emulator aix_values 0,1,2 Les opérateurs du champ limits permettent les contrôles suivants dans SMIT : • Affichage de l’attribut • Caractéristiques du champ représentant l’attribut • Validation de l’attribut et type des opérations auxiliaires (menus déroulants ou listes en anneau, par exemple). Par exemple, dans les boîtes de dialogue SMIT qprt et admvirprt, les règles suivantes s’appliquent : • Si Dy (opérateur limits D avec la valeur y, pour yes) est spécifié dans un champ limits pour un attribut, cet attribut est toujours affiché. • Si Dn (opérateur limits D avec la valeur n, pour no) est spécifié dans un champ limits pour un attribut, cet attribut n’est jamais affiché. Dans les boîtes de dialogue SMIT qprt, les règles complémentaires suivantes s’appliquent : • Tous les attributs définis dans le fichier deux-points de l’imprimante commençant par _ (trait de soulignement ; _j et _i, par exemple) référencés dans le pipeline sont affichés. • Tous les attributs définis dans le fichier deux-points de l’imprimante commençant par l’indicateur de combinaison C (Cs et Ca, par exemple) référencés dans le pipeline sont affichés. Les règles spécifiques des boîtes de dialogue SMIT admvirprt sont les suivantes : • Tous les attributs définis dans le fichier deux-points de l’imprimante et commençant soit par _ (trait de soulignement), soit par un indicateur de combinaison C, sont affichés, à moins que Dn soit spécifié dans leur champ limits. Opérateurs du champ limits Les définitions et les exemples d’opérateurs du champ limits sont répartis dans les groupes suivants : • Opérateurs d’affichage • Opérateurs des caractéristiques du champ • Opérateurs de validation et d’opérations auxiliaires Imprimante, traceur et programmation du sous–système de spoulage 4-51 Opérateurs d’affichage C Définit les relations entres plusieurs indicateurs dans une boîte de dialogue SMIT, le mode d’affichage des options des indicateurs et les indicateurs et options disponibles. Pour prendre en charge les indicateurs interdépendants (indicateurs affectant le style et le pas, par exemple), il faut utiliser des combinaisons d’indicateurs. Généralement, il y a correspondance unique entre un champ d’une boîte de dialogue SMIT et un indicateur de la ligne de commande. L’opérateur de combinaison d’indicateurs permet qu’un champ d’une boîte de dialogue SMIT représente plusieurs indicateurs de la ligne de commande. Les indicateurs référencés doivent être marqués de type non affichables (Dn) dans les boîtes de dialogue SMIT, de sorte que seul l’indicateur de combinaison soit affiché et non les indicateurs individuels. La syntaxe de l’opérateur C est : C[xx,yy,...] Les valeurs xx et yy sont les attributs de l’indicateur. Lorsqu’un attribut C est défini, le champ limits doit également contenir un opérateur d’anneau R pour définir la liste déroulante affichée aux utilisateurs SMIT. L’opérateur R définit également la correspondance entre les options de la liste et les indicateurs de la ligne de commande. :111:Cs:C[_s,_p]R[Courier 10, Prestige 12= –s Courier –p10, –s Prestige –p12]):–s %I_s –p %I_p :999:_s:Dn:Courier :222:_p:Dn:10 Dans cet exemple, l’opérateur C définit que les indicateurs –s et –p sont des attributs de combinaison. L’anneau R définit que lorsque l’option Courier 10 est sélectionnée sur le menu déroulant, les indicateurs de la ligne de commande sont –s Courier –p10. La valeur de l’attribut –s %I_s –p%I_p est résolue lorsque la boîte de dialogue SMIT est construite et détermine l’élément de l’anneau affiché par défaut. D Indique le mode d’affichage. Si la valeur est y, un objet est construit dans la classe d’objets sm_cmd_opt. Si la valeur est n, aucun objet n’est construit. L’opérateur D permet aux programmeurs de supprimer l’affichage de certains indicateurs dans SMIT. Si cet opérateur n’est pas spécifié, l’objet est construit si l’indicateur est référencé dans le pipeline d’entrée. S Désigne le numéro de séquence du champ id_seq_num de la classe d’objets sm_cmd_opt. Le numéro de séquence contrôle la position de l’élément par rapport aux autres éléments de l’écran de dialogue. Si l’opérateur S n’est pas spécifié, la boîte de dialogue commence par le numéro ID 100, et les éléments sont numérotés dans l’ordre de leur succession dans le fichier deux-points. La valeur de l’opérateur S peut être une chaîne (longueur maximale : caractères. Par exemple, l’opérateur S suivant place l’élément en position 100 : :100:_1:S[100]:60 4-52 Imprimantes et impression Guide de l’utilisateur Opérateurs des caractéristiques du champ E Contrôle le champ entry_type de l’objet sm_cmd_opt. Les valeurs possibles de l’option E sont les suivantes : # Une entrée numérique est admise. f Une entrée de type fichier est admise. Spécifiez un nom de fichier valide. n Aucune entrée n’est admise. Vous ne pouvez rien saisir dans ce champ. r Une entrée alphanumérique est admise. t Une entrée texte est admise. x Une entrée hexadécimale est admise. Pour autoriser une entrée numérique dans le champ de la boîte de dialogue SMIT, entrez : :100:_L:E#:60 Q Contrôle la valeur du champ required de l’objet sm_cmd_opt. Le champ required détermine si la valeur du champ doit être envoyée à la commande cmd_to_exec pour cette boîte de dialogue. Le type de valeur est spécifié par un seul caractère. La valeur par défaut est n, ce qui signifie que l’indicateur et la valeur de l’objet sm_cmd_opt ne sont transmis que lorsque la valeur du champ est modifiée. Les valeurs possibles de l’option required sont les suivantes : n N’envoie pas d’indicateur sauf si l’utilisateur modifie la valeur initialement affichée. La valeur par défaut est n. y (yes). Envoie toujours le champ prefix et la valeur du champ entry même si elle est nulle. + Envoie le champ et la valeur prefix. La valeur doit contenir 1 caractère non blanc. ? Envoie toujours le champ et les valeurs prefix, sauf si la valeur est nulle. Pour vérifier que le champ prefix et la valeur du champ entry sont toujours envoyés à cmd_to_exec, entrez : :100:_L:Qy:60 Opérateurs de validation et d’opérations auxiliaires Les opérations auxiliaires relatives aux définitions des boîtes de dialogue SMIT déterminent le type de liste et d’entrée requise de l’utilisateur. Les types de listes disponibles dans les boîtes de dialogue sont : list, multi–select list, range list, option ring et multi–select option ring. Les opérateurs du champ limits qui spécifient le type d’opération auxiliaire utilisée par un attribut sont L, M, G et R. Un seul type d’opération auxiliaire à la fois est pris en charge. La valeur par défaut est op_type=n. La valeur n signifie qu’aucune opération auxiliaire n’est admise pour le champ. Imprimante, traceur et programmation du sous–système de spoulage 4-53 F Contrôle la valeur du champ cmd_to_list_mode de l’objet sm_cmd_opt. Le champ cmd_to_list_mode spécifie la quantité d’un élément d’une liste à utiliser. La liste est générée par la commande spécifiée dans l’objet champ cmd_to_list. Par exemple, si le champ cmd_to_list génère la liste : 60 (6 ligne au pouce) 80 (8 ligne au pouce) 66 Les valeurs possibles de l’opérateur F sont les suivantes : a Récupère tous les champs. C’est la valeur par défaut. 1 Récupère le premier champ. 2 Récupère le second champ. Pour indiquer à SMIT d’extraire le premier champ de la liste, entrez : :100:_l:F1:60 G Spécifie une liste de plages. L’opérateur G donne à cmd_to_list_mode une valeur r. La valeur r spécifie que les informations affichées par le champ cmd_to_list sont sous forme de plage et non de liste. Le contrôle de validité est toujours effectué sur une plage. Les données d’une liste de plages sont de la forme x..y (1..30) ou ..y (..30) ou x.. (1..) où x et y sont des entiers spécifiant les limites supérieure et inférieure de la plage. Le contrôle de validité garantit que la valeur de l’attribut se trouve dans la plage spécifiée. L’entier peut être négatif ; mais la limite supérieure (valeur y) doit être supérieure ou égale à la limite inférieure (valeur x). Pour indiquer que les opérations liste de champs se situent dans l’intervalle entre 50 et 100, entrez : :100:_l:G[50..100]:60 H Indique la spécification de catalogue de message pour le texte d’aide correspondant à un attribut. La spécification du catalogue de message indique le nom du catalogue, le numéro de l’ensemble et le numéro du message. Le texte d’aide est utilisé dans les boîtes de dialogue SMIT qui utilisent les attributs auxquels une aide est affectée. Pour affecter un texte d’aide à un indicateur, –b, à partir de la boîte de dialogue pioattrl cat, entrez : :100:_b:H[pioattr1.cat,5,123]:60 I Indique la spécification de la publication pour le texte d’aide correspondant à un attribut. La spécification de publication indique les valeurs des champs help_msg_id, help_msg_base et help_msg_book de la classe d’objets SMIT sm_cmd_opt. Le texte d’aide est utilisé dans les boîtes de dialogue SMIT qui utilisent les attributs auxquels une aide est affectée. Pour affecter un texte d’aide à un indicateur, –b, à partir de la spécification de publication, entrez : :100:_b:I[100145]:60 4-54 Imprimantes et impression Guide de l’utilisateur L Spécifie qu’une liste déroulante s’affiche lorsque l’utilisateur sélectionne F4. La liste déroulante permet de sélectionner une seule option parmi celle proposées. La liste déroulante est construite à partir des valeurs du champ cmd_to_list. La valeur du champ op_type pour un menu déroulant est l (L minuscule). Le contrôle de validité n’est effectué que lorsque les entrées utilisateur sont interdites. Le type d’entrée pour un champ excluant les entrées utilisateur directes est n. Le champ cmd_to_list renvoie une liste séparée par des sauts de ligne. Les valeurs de cette liste sont comparées à la valeur de l’attribut. Les valeurs possibles de l’opérateur L sont les chaînes de commande du shell pour le champ cmd_to_list. La liste générée à partir de la commande est une liste de valeurs de sortie séparées par des caractères de nouvelle ligne. Par exemple : :100:_l:L[print ”50\n55\n60\n65”]:60 M Spécifie une liste multi-sélection, qui autorise la sélection de plusieurs valeurs dans une liste d’options. L’opérateur M fonctionne exactement comme l’opérateur L, à ceci près que le champ multi–select doit être défini à une valeur m. Voici un exemple d’entrée d’opérateur de liste multi-sélection : :100:_l:M[print ”50\n55\n60\n65”]:60 Imprimante, traceur et programmation du sous–système de spoulage 4-55 R Spécifie une liste de type anneau d’options. Le champ op_type est défini à r. Une liste de type anneau diffère des autres en ceci que l’utilisateur peut continuer à afficher les options de la liste via les touches de tabulation (vers l’avant) ou de tabulation arrière (vers l’arrière). Une fois la dernière option affichée, la liste revient à la première. Le cycle d’une liste en anneau est soit vers l’avant soit vers l’arrière. Une liste en anneau se transforme en liste classique lorsque vous appuyez sur F4. L’opérateur d’anneau d’options peut contrôler les champs disp_values, aix_values, values_msg_file, values_msg_set et value_smg_id. Les options pas d’ID message, un seul ID message, ensemble et ID message, ou ensemble, catalogue et ID message sont valides dans une liste d’options en anneau. Le contrôle de validité est effectué lorsque les entrées utilisateur directes sont interdites avec la valeur de type d’entrée définie à n. L’anneau est doté de valeurs codées en dur, qui sont soit autonomes, soit associées aux valeurs AIX. Un exemple de valeurs autonomes peut être la liste des débit possibles (’1200,2400,9600,19200’) où les valeurs de débit servent elle-même d’arguments pour les indicateurs. Un exemple de valeurs associées peut être un attribut désignant le bac papier à utiliser sur l’imprimante. Dans cet exemple, les trois valeurs possibles sont : bac inférieur, bac supérieur et alimentation enveloppes. Ces trois possibilités correspondent aux opérandes d’indicateurs AIX ’0,1,2’. Les valeur AIX sont transmises à la commande exécutée. Le contrôle de validité vérifie que la valeur de l’attribut se trouve dans l’ensemble des valeurs codées en dur. Les exemples suivants illustrent plusieurs types de listes d’options en anneau : :100:_l:R[0,1,2]:0 :100:_l:R[none,full,emulator=0,1,2]:0 :100:_l:R[;none,full,emulator=0,1,2]:0 :100:_l:R[21,none,full,emulator=0,1,2]:0 :100:_l:R[1,21;none,full,emulator–0,1,2]:0 :100:_l:R[pioattr9.cat,1,21;none,full,emulator=0,1,2]:0 T Autorise des sélections multiples à partir d’une liste déroulante et fonctionne comme l’opérateur R. Le champ multi–sélection est égal à m. Pour autoriser les choix multiples dans un menu déroulant, entrez : :100:_l:T[none,full,emulator=0,1,2]:0 V Spécifie une validation supplémentaire pour un attribut. L’opérateur V n’affecte pas la construction d’une strophe ODM pour un attribut. Les données spécifiées via l’opérateur V sont du code de type fichier deux-points (opérateurs %). Les opérateurs % effectuent la validation. Le code fichier deux-points se résout en une valeur. La valeur est 0 ou non nulle. Si la valeur résolue est 0, la valeur de l’attribut est valide. Si la valeur résolue est différente de 0, la valeur de l’attribut n’est pas valide. Pour vérifier que la valeur de _l se trouve dans l’intervalle 0 à 100, entrez : :100:_l:V[%?%G_l%{100}%>%t1%e%?%G_l%{0}%<%tl%e0%;%;]:60 4-56 Imprimantes et impression Guide de l’utilisateur Ajout d’un support pour configurer une imprimante raccordée au réseau Remarque : Les informations de cette rubrique ne sont fournies que pour des raisons de compatibilité ascendante. La meilleure méthode pour ajouter les définitions de raccordement d’une nouvelle imprimante est de passer par les fichiers de raccord. Pour en savoir plus, reportez-vous à ”Fichiers de raccord de l’imprimante”, page 4-46. Cette section indique les informations requises pour ajouter le support de configuration d’une imprimante raccordée au réseau. Ces informations ne sont d’aucune utilité pour configurer une imprimante raccordée au réseau. Elles indiquent comment ajouter un support pour permettre aux utilisateurs de configurer une unité non prise en charge qui doit être raccordée au réseau et piloter une ou plusieurs imprimantes. • Ajout d’un support pour configurer des imprimantes raccordées au réseau - Présentation • Nommer un fichier de configuration d’une unité • Types d’instructions disponibles dans un fichier de configuration d’unité • Format des instructions dans un fichier de configuration d’unité • Description des champs d’instructions • Commentaires dans un fichier de configuration d’unité • Première instruction d’un fichier de configuration d’unité • Définition des menus et des invites dans un fichier de configuration d’unité • Exemple de fichier de configuration d’unité Ajout d’un support pour configurer des imprimantes raccordées au réseau - Présentation Les imprimantes raccordées au réseau sont des unités d’impression qui ne sont pas directement connectées à l’ordinateur hôte, mais sont pilotées par l’hôte sur le réseau. Par exemple, une imprimante raccordée à une Xstation est une imprimante raccordée au réseau. Pour configurer une imprimante raccordée au réseau via la commande mkvirprt, vous devez disposer d’un fichier de configuration d’unité. Un fichier de configuration d’unité étend la portée de la commande mkvirprt aux imprimantes raccordées au réseau. Plus précisément, un fichier de configuration d’unité peut prendre en charge six types d’instructions différents pour créer menus et invites. Ce dialogue commence lorsque vous utilisez la commande mkvirprt ; vous répondez aux menus et aux invites. La commande mkvirprt utilise les informations qui vous entrez pour créer une strophe dans le fichier /etc/qconfig, qui est personnalisé pour l’unité que vous configurez. Le fichier de configuration d’unité contrôle le nom d’unité de la file d’attente, l’instruction backend = et l’instruction file = dans la strophe /etc/qconfig. Nommer un fichier de configuration d’une unité Le fichier de configuration d’unité doit porter l’extension .config et se trouver dans le répertoire /usr/lib/lpd/pio/etc. Imprimante, traceur et programmation du sous–système de spoulage 4-57 Types d’instructions disponibles dans un fichier de configuration d’unité Six types d’instructions différents offrent diverses possibilités pour le dialogue créé dans le fichier de configuration d’unité : M En-tête de menu pour une liste d’options m Élément de menu l Liste d’éléments de menu V Invite à entrer une valeur v Pipeline de validation des valeurs saisies et des messages d’erreur T Texte à placer dans une variable ou dans une instruction backend =. Chaque instruction se compose des dix champs suivants : type, label, gotolabel, reserved1, text, variable, reserved2, pipeline, msgid et defmsg. La matrice suivante indique les types d’instructions et les champs pris en charge. Un x indique que l’instruction prend le champ en charge. Un – (signe moins) indique que l’instruction ne prend pas en charge le champ. Types d’instructions du fichier de configuration d’unité Stmt type label gotolabel text variable pipeline msgid defmsg M X X X X X – X X m X – X X – – X X l X – – – – X – – V X X X X X – X X v X – – – – X X X T X X X X X – – – Remarque : Les champs reserved1 et reserved2, prévus pour un usage ultérieur, ne sont pas actuellement actifs et ne sont pas indiqués dans le tableau ci-dessus (reportez-vous à ”Description des champs d’instruction”, page 4-59). Format des instructions dans un fichier de configuration d’unité Les instructions sont construites par séparation des champs par des deux-points, comme suit : type: label: gotolabel: reserved1: text: variable: reserved2: pipeline: msgid: defmsg Les formats spécifiques d’instructions sont les suivants : 4-58 Instruction Format M M:label:gotolabel::text:variable:::msgid:defmsg m m::gotolabel::text::::msgid:defmsg l l:::::::pipeline:: V V:label:gotolabel::text:variable:::msgid:defmsg Imprimantes et impression Guide de l’utilisateur Instruction Format v v:::::::pipeline:msgid:defmsg T T:label:gotolabel::text:variable:::: Description des champs d’instructions type Type d’instruction. label Etiquette identifiant l’instruction. gotolabel Etiquette de l’instruction sur laquelle se brancher après exécution de cette instruction. • Pour les instructions M, spécifie l’étiquette de l’instruction sur laquelle se brancher pour les instructions m dépourvues de gotolabel. Si le champ gotolabel est nul, passe en séquence. • Pour les instructions m, si le champ gotolabel est nul, se branche sur le champ gotolabel de l’instruction M. • Pour les instructions V, si le champ gotolabel est nul, passe en séquence. • Pour les instructions T, si le champ gotolabel est nul, passe en séquence. reserved1 Réservé à un usage ultérieur. text Chaîne de texte. L’utilisation de ce texte dépend du type de l’instruction. • Pour les instructions M, spécifie que le texte doit être placé dans l’instruction backend =. • Pour les instructions m, spécifie que le texte doit être placé dans l’instruction backend = si l’instruction M correspondante contient une chaîne nulle dans le champ variable. • Pour les instructions V, spécifie que le texte doit être placé dans l’instruction backend =. • Pour les instructions T, spécifie que le texte doit être utilisé par le champ variable. Le champ text a la possibilité exceptionnelle d’exécuter des commandes shell et d’insérer la sortie standard résultante (stdout) dans la chaîne de texte. Tout texte entre apostrophes inverses est exécuté comme une commande shell. Le stdout résultant du shell est inséré à la place des apostrophes inverses. Par exemple, supposons que la variable d’environnement HOME soit égale à /home/guest. Si le champ texte est /tmp‘echo $HOME‘/file, le texte résultant est /tmp/home/guest/file. Remarque : Dans le texte entre apostrophes inverses, \‘ (barre oblique inverse, apostrophe inverse) représente le caractère apostrophe inverse et \ \ (double barre oblique inverse) représente le caractère barre oblique inverse. Imprimante, traceur et programmation du sous–système de spoulage 4-59 variable Nom de la variable dans laquelle stocker les données. Ce champ peut comporter plusieurs variables séparées par des virgules. S’il est nul, place les données dans l’instruction backend =. Les données à stocker dépend du type de l’instruction : • Pour les instructions M, les données stockées sont la valeur de sélection. • Pour les instructions V, les données stockées sont la valeur entrée. • Pour les instructions T, les données stockées sont le champ text. La variable d’environnement utilisée pour stocker les données est la chaîne PIO accolée au nom de la variable. Par exemple, si le champ variable est : var1, le nom de la variable d’environnement est PIOvar1. Il existe deux cas particuliers de noms de variable : dname Outre les données stockée dans la variable d’environnement PIOdname, est également utilisé comme nom d’unité de la file d’attente dans le fichier /etc/qconfig. fname Outre les données stockée dans la variable d’environnement PIOfname, est également utilisé comme valeur de l’instruction file= dans le fichier /etc/qconfig. reserved2 Réservé à un usage ultérieur. pipeline Commande shell à exécuter. Spécifiquement : • Pour les instructions l, spécifie la commande shell à exécuter. La sortie de la commande est construite en menu. • Pour les instructions v, spécifie la commande shell exécutée pour valider les valeurs entrées. Un code retour de 0 (zéro) indique que la valeur entrée est valide. msgid Message à utiliser par cette instruction. Le champ est constitué du nom du catalogue de messages (CatalogName), du numéro de l’ensemble (SetNumber) et du numéro de message (MessageNumber), séparés par des virgules. Le nom du catalogue de messages et le numéro de l’ensemble sont à spécifier seulement sur la première instruction ; des chaînes nulles peuvent être utilisées pour les instructions suivantes. defmsg Texte du message par défaut à afficher si un message ne se trouve pas dans le catalogue des messages. Commentaires dans un fichier de configuration d’unité Une ligne comportant un # (signe dièse) en première colonne est ignoré : vous pouvez ainsi insérer des lignes de commentaires. Première instruction d’un fichier de configuration d’unité La première instruction du fichier de configuration d’unité doit être le type d’instruction m (élément de menu). Cette instruction spécifie l’élément de menu affiché par la commande mkvirprt lorsqu’elle invite l’utilisateur à préciser l’unité à configurer. Si le nom du catalogue de messages et le numéro de l’ensemble sont spécifiés dans cette instruction, des chaînes nulles peuvent remplacer ces paramètres dans les instructions suivantes. 4-60 Imprimantes et impression Guide de l’utilisateur Définition des menus et des invites dans un fichier de configuration d’unité Lorsque vous configurez des imprimantes raccordées au réseau, vous pouvez personnaliser certains types d’informations. Pour ce faire, vous pouvez définir des menus et des invites dans le fichier de configuration d’unité. Menus Pour construire un menu, vous avez le choix entre deux méthodes : 1. Utiliser une instruction M combinée à une ou plusieurs instructions m. 2. Utiliser une instruction M combinée à une instruction l. L’instruction M identifie le début d’un menu et spécifie le texte de l’en-tête du menu, affiché au-dessus des options du menu. Chaque instruction m spécifie un élément du menu. L’instruction l spécifie une commande shell à exécuter. Le stdout de la commande shell est construite dans un menu. Dans la construction du menu, le caractère \n (nouvelle ligne) est le délimiteur des éléments du menu. Par exemple, la commande shell : echo Choice1\\nChoice2\\nChoice3 est construite en menu sous la forme : 1 Choice1 2 Choice2 3 Choice3 Invites Les invites peuvent être construites via l’instruction V associée à une ou plusieurs instructions v pour valider la réponse. Une fois l’instruction V exécutée, la réponse de l’utilisateur est stockée dans une variable d’environnement. L’instruction v permet alors d’exécuter une commande shell pour valider la réponse. Un code retour de 0 (zéro) issu du shell indique qu’il n’y a aucune erreur. Un code retour différent de zéro indique une erreur ; le message spécifié est affiché, et l’utilisateur est invité à saisir une nouvelle valeur. Exemple de fichier de configuration d’unité Reportez-vous au fichier /usr/lib/lpd/pio/etc/xsta.config comme exemple de fichier de configuration d’unité. Il s’agit du fichier utilisé pour prendre en charge la configuration d’une Xstation. Imprimante, traceur et programmation du sous–système de spoulage 4-61 Ajout d’une imprimante via le fichier deux-points de l’imprimante Tâches et conditions préalables • L’imprimante doit être connectée physiquement au système. • Comparez les similitudes et les différences entre l’imprimante que vous souhaitez ajouter et les imprimantes actuellement prises en charge. Pour afficher la liste des imprimantes prises en charge, lancez la commande lsdev (list devices), ou reportez-vous à ”Affichage de la liste des imprimantes prises en charge et définies”, page 2-45. • Vous devez connaître les fichiers deux-points et leur format. ”Conventions du fichier deux-points de l’imprimante”, page 4-21 donne la liste des conventions applicables à l’imprimante et aux noms et valeurs des attributs dans le fichier deux-points. Procédure 1. Sélectionnez l’imprimante prise en charge qui émule le mieux la nouvelle imprimante. Reportez-vous au besoin à la documentation de l’imprimante. 2. Lancez la commande mkvirprt pour créer une définition d’imprimante virtuelle, en entrant : mkvirprt Répondez à l’invite, en indiquant le type de l’imprimante sélectionnée. N’oubliez pas que les noms d’unité et de file d’attente doivent commencer par un caractère alphabétique. 3. Vous pouvez afficher les valeurs et les descriptions d’attribut via la commande lsvirprt. Comme vous devrez comparer ces valeurs à d’autres, réacheminez la sortie affichée vers un fichier temporaire, en entrant : lsvirprt –q nom_file –d nom_unité_file > fichier_temp 4. Affichez la sortie de la commande lsvirprt, soit dans une autre fenêtre, soit sous forme de sortie papier. 5. Comparez les descriptions et les valeurs d’attribut à celles de l’imprimante que vous ajoutez. Déterminez les modifications à effectuer. 6. Copiez le fichier deux-points de l’imprimante du répertoire Predefined Database (/usr/lib/lpd/pio/predef) vers le répertoire Customized Database (/var/spool/lpd/pio/@local/custom). 7. Modifiez les valeurs d’attribut dans le fichier deux-points comme décrit à ”Ajout d’un nouveau type d’imprimante” dans le manuel AIX Kernel Extensions and Device Support Programming Concepts. Parmi les attributs à modifier se trouvent : le type d’imprimante (attribut mt), la description de l’imprimante (attribut mL) et le mode passe-système de l’imprimante (attribut ep). 8. Lancez la commande chvirprt, en spécifiant le nom de la file d’attente et le nom d’unité de la file d’attente sans valeur d’attribut. Cette action entraîne la construction d’une version assimilée de la définition de l’imprimante virtuelle. 9. Vérifiez que l’imprimante nouvellement définie imprime correctement. 10.Si vous souhaitez créer une définition d’imprimante virtuelle prédéfinie, faites appel à la commande piopredef. 4-62 Imprimantes et impression Guide de l’utilisateur %Sxx Pousse un pointeur sur la valeur de chaîne actuelle de l’attribut xx sur le dessus de la pile. La seule opération exécutable sur le pointeur chaîne est d’utiliser %= pour comparer la chaîne à une autre chaîne dont le pointeur se trouve également sur la pile. %Lxx Pousse la longueur de la chaîne constante ou variable xx sur le dessus de la pile. Par exemple, si la valeur de l’attribut ss est IJKLMN, la séquence ABC%Lss%dDEFG génère la chaîne ABC6DEFG. Si, toutefois, xx est l’attribut qui contient la séquence %Lxx, la longueur est celle de la partie de la chaîne qui a été construite lorsque %Lxx a été rencontré. Par exemple, si la valeur de l’attribut st est ABC%Lst%dDEFG, la chaîne construite pour l’attribut st est ABC3DEFG. Imprimante, traceur et programmation du sous–système de spoulage 4-63 Informations spécifiques de l’imprimante Le format et le contenu des pages d’en-tête et de fin peuvent être personnalisés en éditant les fichiers contenant le texte-type. Ces fichiers se trouvent dans le répertoire /usr/lib/lpd/pio/burst. Les noms de fichier sont au format X.yyy, où X est soit H (page d’en-tête), soit T (page de fin). yyy indique le type de flot de données : ascii pour ASCII, ps pour PostScript ou gl pour émulation traceur. Par exemple, le fichier H.ascii est le texte-type des pages d’en-tête à imprimer en ASCII, et T.ps, le texte-type des pages de fin à imprimer en PostScript. Les séquences d’échappement utilisées dans le fichiers texte commencent par le caractère % (pourcentage) et sont décrites avec la commande pioburst. Les sections suivantes donnent des informations spécifiques de certains imprimantes que vous aurez peut-être à configurer, de même que le système de file d’attente : • IBM Personal Printer II Models 2380, 2381, 2390, 2391, 2380–2, 2381–2, 2390–2, 2391–2 • IBM 3812 Model 2 Page Printer • IBM 3816 Page Printer • IBM 4019 LaserPrinter and 4029 LaserPrinter • IBM 4037 LaserPrinter and 4039 LaserPrinter • IBM 4076 InkJet Printer • IBM Proprinter Models 4201–3, 4202–3, 4207–2, 4208–2 • IBM 4072 ExecJet • IBM 4208–502, IBM 5572–B02, IBM 5573–H02, and IBM 5579–H02/K02 • IBM 4216 Personal Page Printer, Model 031 • IBM 4216–510 and IBM 5327–011 • IBM 4234 Printer • IBM 5202 Quietwriter III • IBM 5204 Quickwriter • IBM 5575–B02/F02/H02 and IBM 5577–B02/F02/FU2/G02/H02/J02/K02 • IBM 5584–G02/H02, IBM 5585–H01, IBM 5587–G01/H01, and IBM 5589–H01 • IBM 6252 Impactwriter and IBM 6252 Printer • IBM Network Color Printer • IBM Network Printers 12, 17, and 24 • IBM InfoPrint 20 • IBM InfoPrint 32 • IBM InfoPrint 40 • Canon Laser Shot LBP–B404PS/Lite • Canon Laser Shot LBP–B406S/D/E/G,A404/E,A304E • Dataproducts LZR 2665 Laser Printer • Hewlett–Packard LaserJets II, III, IIISi, 4, 4Si, 4Plus, 4V, 4000, 5Si/5Si MX, 5SI Mopier, 8000 Color, and 8500 Color • Lexmark 4227 Forms Printer • Lexmark OptraLaserPrinter 4-64 Imprimantes et impression Guide de l’utilisateur • Lexmark Optra Plus LaserPrinter • Lexmark Optra Color 1200 Printer • Lexmark Optra Color 40 Printer • Lexmark Optra Color 45 Printer • Lexmark Optra K 1220 Printer • Lexmark Optra C Color • Lexmark Optra E LaserPrinter • Lexmark Optra N LaserPrinter • Lexmark Optra E310 Laser Printer • Lexmark Optra M410 Laser Printer • Lexmark Optra Se Laser Printer • Lexmark Optra T Laser Printer Family • Lexmark Optra W810 Laser Printer • Lexmark Plus Printer Models 2380–3, 2381–3, 2390–3, 2391–3 • OKI MICROLINE 801PS/+F, 801PSII/+F, 800PSIILT • Printronix P9012 Line Printer • QMS ColorScript 100 Model 20 Printer • Texas Instruments OmniLaser 2115 Page Printer IBM Personal Printer II modèles 2380, 2381, 2390, 2391, 2380–2, 2381–2, 2390–2, 2391–2 Les imprimantes acquises en Grèce ou en Turquie sont dotées des pages de codes en grec ou en truc. Pour imprimer des caractères grecs ou turcs, vous devez indiquer au système que les pages de code sont disponibles. Pour ce faire : 1. En tant qu’utilisateur racine, tapez smit chpq. 2. Sélectionnez la file d’attente d’impression adéquate et sélectionnez Printer Setup sur le menu Change/Show Characteristics. 3. Modifiez le paramètre COUNTRY en y indiquant le pays souhaité. IBM 3812 Modèle 2 Page Printer Le système suppose qu’une disquette de polices, référence #3155, se trouve dans l’unité de disquette de l’imprimante. Pour la prise en charge des caractères grecs et turcs, le système suppose que la disquette de polices Language Group 3 se trouve dans le lecteur. Les polices sont chargées dans la mémoire de l’imprimante à partir d’une disquette de police à l’intérieur de l’imprimante. Le système maintient un enregistrement des polices qui ont été chargées ; il indique également si des polices en mémoire ont été endommagées par un travail d’impression et doivent être de ce fait rechargées. Si l’imprimante est mise hors puis sous tension, lancez la commande splp avec l’indicateur –F ! et le nom de l’unité. Ceci indique au système qu’il faut charger les polices dans la mémoire de l’imprimante. Du fait de l’espace limité sur la disquette de polices de l’imprimante, certaines polices ne contiennent pas tous les caractères dans la Page de code 850. Si vous avez besoin de l’intégralité du jeu de caractères de la page de code 850, spécifiez soit Courier 10 (–s courier –p 10), soit Prestige 12 (–s prestige –p 12) avec la commande qprt. L’imprimante 3812 modèle 2 Page Printer peut imprimer sur du papier de taille autre que la taille par défaut (8–1/2 x 11 pouces). Vous pouvez changer la taille du papier via SMIT. Reportez-vous à cet effet à ”Définition du format de papier via SMIT”, page 2-41. Pour Imprimante, traceur et programmation du sous–système de spoulage 4-65 changer la taille du papier pour un seul travail d’impression, spécifiez l’indicateur –Q avec la commande qprt. Si vous avez besoin de caractères grecs ou turcs, procédez comme suit : 1. Installez la disquette de polices Language Group 3 dans l’imprimante. 2. En tant qu’utilisateur racine, tapez smit chpq. 3. Sélectionnez la file d’attente d’impression adéquate et sélectionnez Printer Setup sur le menu Change/Show Characteristics. Pour la disquette de polices, spécifiez : – CP851 pour imprimer des caractères grecs. – CP851 pour imprimer des caractères turcs. IBM 3816 Page Printer Le système suppose qu’une disquette de polices, référence #7652, se trouve dans l’unité de disquette de l’imprimante. Les polices sont chargées dans la mémoire de l’imprimante à partir d’une disquette de police à l’intérieur de l’imprimante. Le système maintient un enregistrement des polices qui ont été chargées ; il indique également si des polices en mémoire ont été endommagées par un travail d’impression et doivent être de ce fait rechargées. Si l’imprimante est mise hors puis sous tension, lancez la commande splp avec l’indicateur –F ! et le nom de l’unité. Ceci indique au système qu’il faut charger les polices dans la mémoire de l’imprimante. L’imprimante 3816 modèle 2 Page Printer peut imprimer sur du papier de taille autre que la taille par défaut (8–1/2 x 11 pouces). Vous pouvez changer la taille du papier via SMIT. Reportez-vous à cet effet à ”Définition du format de papier via SMIT”, page 2-41. Pour changer la taille du papier pour un seul travail d’impression, spécifiez l’indicateur –Q avec la commande qprt. IBM 4019 LaserPrinter et 4029 LaserPrinter Le système sélectionne le flot de données d’émulation IBM ASCII ou PCL sans intervention manuelle. L’imprimante LaserPrinter peut imprimer sur du papier de taille autre que la taille par défaut (8–1/2 x 11 pouces) et sur des enveloppes de taille autre que la taille par défaut (#10). Pour changer la taille du papier ou des enveloppes via SMIT, reportez-vous à ”Définition du format de papier”, page 2-41. Pour changer la taille du papier pour un seul travail d’impression, spécifiez l’indicateur –Q avec la commande qprt. Si une carte de polices est installée, le système doit en être averti. Pour ce faire : 1. En tant qu’utilisateur racine, tapez smit chpq. 2. Sélectionnez la file d’attente d’impression adéquate et sélectionnez Printer Setup sur le menu Change/Show Characteristics. – Spécifiez la carte de polices installée dans l’emplacement du haut. – Spécifiez la carte de polices installée dans l’emplacement du bas. Remarque : La valeur de la variable nn est l’identificateur (deux chiffres) de la carte de polices, qui se trouve juste au-dessus de la flèche sur la carte de polices. Si une option PostScript est installée sur votre 4019 LaserPrinter et que l’option PostScript prend en charge le passage automatique en mode émulation, vous pouvez configurer l’imprimante pour qu’elle bascule automatiquement entre le mode PostScript et les modes d’émulation, et entre les différents modes d’émulation. Pour déterminer si l’option PostScript installée dans votre imprimante prend en charge cette fonction, consultez le manuel d’instructions fourni avec l’option PostScript. Ou bien, vérifiez que l’interpréteur PostScript est de version 52.3 ou ultérieure, en examinant la page de démarrage PostScript, imprimée à la mise sous tension de l’imprimante en mode PostScript (sauf si cette fonction a été 4-66 Imprimantes et impression Guide de l’utilisateur désactivée). Si le passage automatique en mode émulation est indiqué, notifiez-le au système comme suit : 1. En tant qu’utilisateur racine, tapez smit chpq. 2. Sélectionnez la file d’attente d’impression adéquate et sélectionnez Printer Setup sur le menu Change/Show Characteristics. Spécifiez yes dans l’attribut AUTOMATIC MODE SWITCHING for PostScript. Remarques a. Le module Japanese Base System Locale doit être installé pour imprimer des caractères japonais. b. Les caractère japonais ne peuvent être imprimés avec l’option PostScript. c. Pour imprimer des caractères multioctets, spécifiez des polices 16x16 ou 32x32 avec l’option –F via la commande qprt. Par exemple : qprt –Pkji –F’RomanKn23,Kanji23,IBM_JPN23’ file IBM 4037 LaserPrinter et 4039 LaserPrinter Le système sélectionne le flot de données d’émulation IBM ASCII ou PCL sans intervention manuelle. L’imprimante peut imprimer sur du papier de taille autre que la taille par défaut (8–1/2 x 11 pouces). Vous pouvez changer la taille du papier via SMIT. Reportez-vous à cet effet à ”Définition du format de papier via SMIT”, page 2-41. Pour changer la taille du papier pour un seul travail d’impression, spécifiez l’indicateur –Q avec la commande qprt. Remarques 1. Le module Japanese Base System Locale doit être installé pour imprimer des caractères japonais. 2. Les caractère japonais ne peuvent être imprimés avec l’option PostScript. 3. Pour imprimer des caractères multioctets, spécifiez des polices 16x16 ou 32x32 avec l’option –F via la commande qprt. Par exemple : qprt –Pkji –F’RomanKn23,Kanji23,IBM_JPN23’ file IBM 4072 ExecJet Si vous devez imprimer des caractères grecs ou turcs et qu’une carte de polices NLS I est installée, le système doit en être averti : 1. En tant qu’utilisateur racine, tapez smit chpq. 2. Sélectionnez la file d’attente d’impression adéquate et sélectionnez Printer Setup sur le menu Change/Show Characteristics. – Spécifiez la carte de polices installée dans l’emplacement gauche. – Spécifiez la carte de polices installée dans l’emplacement droit. Remarque : La valeur de la variable nn sont les deux derniers chiffres de numéro de référence de la carte. IBM 4076 InkJet Printer Le système sélectionne le flot de données d’émulation IBM ASCII ou PCL sans intervention manuelle. L’imprimante InkJet peut imprimer sur du papier de taille autre que la taille par défaut (8–1/2 x 11 pouces) et sur des enveloppes de taille autre que la taille par défaut (#10). Pour changer la taille du papier ou des enveloppes via SMIT, reportez-vous à ”Définir le format de papier”, page 2-41. Pour changer la taille du papier pour un seul travail d’impression, spécifiez l’indicateur –Q avec la commande qprt. Imprimante, traceur et programmation du sous–système de spoulage 4-67 IBM Proprinter modèles 4201–3, 4202–3, 4207–2, 4208–2 Si vous avez besoin de caractères grecs ou turcs et que vous disposez de la disquette de polices appropriée, installez les polices en entrant, en tant qu’utilisateur racine : piofontin –t PrinterType –c CodePage [–d DeviceName] Avec, dans le cas précis, le paramètre PrinterType égal à 4201–3, 4202–3, et le paramètre CodePage à 851 (grec) ou à 853 (turc). Le paramètre DeviceName (/dev/fd1, par exemple) n’est requis que si l’unité de disquette n’est pas /dev/fd0, l’unité de disquette 3,5 pouces standard. Remarque : Si vous avez installé les polices grecques ou turques, vous devez les télécharger chaque fois que vous mettez l’imprimante hors puis sous tension, comme suit : splp –F! xxx où xxx est le nom d’unité de l’imprimante, tel que lp0. Cette instruction commande au système de télécharger les polices grecques ou turques sur l’imprimante. IBM 4208–502, IBM 5572–B02, IBM 5573–H02 et IBM 5579–H02/K02 Les flots de données japonais et Proprinter sont pris en charge. Pour imprimer des caractères japonais, spécifiez des polices 24x24 avec l’option –F via la commande qprt, comme suit : qprt –Pkji –F/usr/lib/X11/fonts/JP/IBM_JPN17.pcf.Z file IBM 4216 Personal Page Printer, modèle 031 Les commutateurs à l’arrière de l’imprimante doivent être en position bascule automatique en mode émulation, comme indiqué à l’annexe B du manuel Personal Page Printer II Model 031 Guide to Operations. Le système sélectionne PostScript, l’émulation Proprinter XL, l’émulation PCL ou l’émulation Diablo 630 sans intervention manuelle. Les fichiers ASCII peuvent également être imprimés via le flot de données PostScript. Si vous raccordez l’imprimante à un port série, vous aurez peut-être à envoyer à l’imprimante un fichier PostScript spécial pour définir le débit, la parité et le protocole requis pour l’imprimante. Le manuel Personal Page Printer II Model 031 Guide to Operations contient un fichier exemple. Les files d’attente d’impression pour les émulations Proprinter XL, PCL et Diablo 630 examinent les deux premiers caractères de chaque fichier d’impression. Si les deux premiers caractères sont %!, le fichier est supposé être un fichier PostScript : l’imprimante virtuelle pour PostScript est utilisée, et non l’imprimante virtuelle correspondant au nom de la file d’attente d’impression. Si vous n’avez pas configuré de file d’attente d’impression pour PostScript, le travail d’impression échoue. Si vous souhaitez imprimer un fichier PostScript file comme fichier ASCII et non comme fichier PostScript, spécifiez l’indicateur et le paramètre –da avec la commande qprt lorsque vous soumettez le travail d’impression en émulation IBM Proprinter XL, PCL ou Diablo 630. IBM 4216–510 et IBM 5327–011 Le flot de données japonais est pris en charge. Pour imprimer des caractères japonais, spécifiez des polices 24x24 avec l’option –F via la commande qprt, comme suit : qprt –Pkji –F/usr/lib/X11/fonts/JP/IBM_JPN17.pcf.Z file 4-68 Imprimantes et impression Guide de l’utilisateur IBM 4234 Printer Le système suppose que le jeu de caractères souhaité (langue imprimée) a été sélectionné sur le panneau de commande de l’imprimante. Reportez-vous à la section sur la définition de la langue imprimée dans le manuel d’instructions de l’imprimante. Si le jeu de caractères sélectionné n’est pas 02 (PC Multilingual) : 1. Entrez le raccourci SMIT : smit chpq 2. Sélectionnez la file d’attente d’impression adéquate et sélectionnez Printer Setup sur le menu Change/Show Characteristics. 3. Sélectionnez le jeu de caractères pour l’attribut PRINTED LANGUAGE. IBM 5202 Quietwriter III Cette imprimante peut détecter la présence d’une cartouche de police, mais le système hôte ne le peut pas. Vous devez signifier au système la présence d’une cartouche de police lorsque vous : • Branchez une cartouche de polices contenant une police dans la page de code 850. • Imprimez en utilisant cette police. • Imprimez des caractères propres à la page de code 850 (caractères européens). Pour signaler au système la présence de la cartouche : 1. Entrez le raccourci SMIT : smit chpq 2. Sélectionnez la file d’attente d’impression adéquate et sélectionnez Printer Setup sur le menu Change/Show Characteristics. 3. Spécifiez yes à l’attribut CODE PAGE 850. IBM 5204 Quickwriter Si une cartouche prenant en charge le grec ou le turc est installée : 1. En tant qu’utilisateur racine, tapez smit chpq. 2. Sélectionnez la file d’attente d’impression adéquate et sélectionnez Printer Setup sur le menu Change/Show Characteristics. 3. Spécifiez le numéro de référence de la cartouche de polices à l’attribut Font Cartridge. Les valeurs acceptées sont 1301598 (grec) et 1301614 (turc). IBM 5575–B02/F02/H02 et IBM 5577–B02/F02/FU2/G02/H02/J02/K02 Pour imprimer des caractères japonais, spécifiez des polices 24x24 avec l’option –F via la commande qprt, comme suit : qprt –Pkji –F/usr/lib/X11/fonts/JP/IBM_JPN17.pcf.Z file IBM 5584–G02/H02, IBM 5585–H01, IBM 5587–G01/H01 et IBM 5589–H01 Pour imprimer des caractères japonais, spécifiez des polices 24x24 avec l’option –F via la commande qprt, comme suit : qprt –Pkji –F/usr/lib/X11/fonts/JP/IBM_JPN17.pcf.Z file Imprimante, traceur et programmation du sous–système de spoulage 4-69 IBM 6252 Impactwriter et IBM 6252 Printer Si la page de code active pour la bande d’impression installée est autre que Code Page 850, vous devez le signaler au système : 1. En tant qu’utilisateur racine, tapez smit chpq. 2. Sélectionnez la file d’attente d’impression adéquate et sélectionnez Printer Setup sur le menu Change/Show Characteristics. 3. Sélectionnez la page de code pour l’attribut ACTIVE CODE PAGE. IBM Network Color Printer Les fichiers prédéfinis sur AIX version 4.2.1 ou ultérieure ne prennent en charge que les niveaux de code contrôleur IBM Network Color Printer 2.0 ou supérieurs. D’autres indicateurs d’option qprt ne sont valides qu’avec la file d’attente Network Color Printer PS : –e # –E # –k # 4-70 Niveau de clarté. 0 Paramètre par défaut de l’imprimante 1 Lightest 2 Lighter 3 Light 4 Normal 5 Dark 6 Darker 7 Darkest Finition 0 Paramètre par défaut de l’imprimante 1 Normal 2 Matte 3 Glossy Modèle de couleurs. 0 Paramètre par défaut de l’imprimante 1 CMYK 2 Grayscale Imprimantes et impression Guide de l’utilisateur –K # –S # Rendu de couleur. 0 Paramètre par défaut de l’imprimante 1 Scanner 2 Highlight 3 Photographic 4 Presentation 5 Monitor 6 Couleur solide Mode d’impression. 0 Paramètre par défaut de l’imprimante 1 Qualité photographique 2 Graphiques de travail Les noms de file d’attente valides suivants se trouvent sur l’imprimante IBM Network Color Printer : ibmcolor_direct code contrôleur 1.03 ou 1.1 et 16 Mo de mémoire. ibmcolor_print code contrôleur 1.03 ou 1.1 et 32 ou 48 Mo de mémoire. ibmncp_direct code contrôleur 2.0 ou supérieur et 16 Mo de mémoire. ibmncp_print code contrôleur 2.0 ou supérieur et 32 ou 48 Mo de mémoire. Remarque : Pour déterminer le niveau du code contrôleur et la quantité de mémoire de votre IBM Network Color Printer, imprimez une page de configuration à partir du panneau de commande de l’imprimante. Consultez sur la page de configuration la rubrique ”GENERAL INFO.” La mémoire est la deuxième élément, le troisième étant la version du code contrôleur. Les fichiers prédéfinis sur AIX version 4.2.1 ou ultérieure ne prennent en charge que les niveaux de code contrôleur IBM Network Color Printer 2.0 ou supérieurs. IBM Network Printers 12, 17 et 24 L’imprimante IBM Network Printer peut imprimer sur du papier de taille autre que la taille par défaut (8–1/2 x 11 pouces). Pour changer la taille du papier via SMIT, reportez-vous à ”Définir le format de papier”, page 4-70. Pour changer la taille du papier pour un seul travail d’impression, spécifiez l’indicateur –Q avec la commande qprt. Pour imprimer plus de lignes sur une page que ne l’autorise l’interligne (6 ou 8 lignes par pouce), spécifiez le nombre de lignes par page. L’interligne est réduit de façon qu’un nombre supérieur de lignes tienne sur une page. Par exemple, si l’interligne est de 6 lignes au pouce, entrer la commande qprt –l 66 FileName imprime le fichier FileName avec 66 lignes par page au lieu des 60 lignes par défaut. Les imprimantes IBM Network Printer 12, 17 et 24 prennent en charge les polices et pas d’impression suivants : courier pas de 10, 12 ou 17 courier–gras pas de 10, 12 ou 17 courier–italique–gras pas de 10, 12 ou 17 lettergothic pas de 10, 12 ou 17 lettergothic–gras pas de 10, 12 ou 17 Imprimante, traceur et programmation du sous–système de spoulage 4-71 lettergothic–italique pas de 10, 12 ou 17 imprimante ligne pas de 17 Par exemple, entrer la commande qprt –s Lineprinter –p 17 FileName imprime le fichier FileName en police imprimante ligne avec un pas de 17 (17 caractères au pouce). Voici les styles correspondant à l’arabe, le grec et l’hébreu : Styles de types arabes Styles de types grecs Styles de types hébreux typing typing–italic typing–bold typing–bold–italic grcour grcour–oblique grcour–bold grcour–bold–oblique shalom shalom–bold shalom–italic shalom–bold–italic rokaa rokaa–italic rokaa–bold rokaa–bold–italic grhelvet grhelvet–bold grhelvet–oblique grhelvet–bold–oblique narkisstam narkisstam–bold narkisstam–italic narkisstam–bold–italic setting setting–italic setting–bold setting–bold–italic grtimesnr grtimesnr–bold grtimesnr–oblique grtimesnr–bold–oblique narkissim narkissim–bold narkissim–italic narkissim–bold–italic Remarque : Veillez à télécharger les polices dans la SIM Flash ou sur une unité de disque dur de l’imprimante lorsque vous utilisez les styles de type arabe, grec ou hébreu. Les imprimantes IBM Network Printer 12, 17 et 24 prennent en charge les bacs de sortie suivants : L’accès aux bacs de sortie s’effectue via l’indicateur (–=) de la commande qprt. Le tableau suivant indique les valeurs possibles et le bac de destination correspondant. –= value (#) bac de sortie de destination IBM Network Printer 12 0 Bac de sortie principal 1 Bac arrière IBM Network Printer 17 4-72 0 Bac de sortie principal 1 Bac courrier 1 2 Bac courrier 2 3 Bac courrier 3 4 Bac courrier 4 5 Bac courrier 5 6 Bac courrier 6 7 Bac courrier 7 8 Bac courrier 8 9 Bac courrier 9 10 Bac courrier 10 50 Bac de décalage Imprimantes et impression Guide de l’utilisateur –= value (#) bac de sortie de destination IBM Network Printer 24 0 Bac de sortie automatique 1 Bac de sortie principal 2 Bac arrière 3 Bac haut (face vers le bas) 4 Bac central (face vers le bas) 5 Bac bas (face vers le bas) 6 Bac haut (face vers le haut) 7 Bac central (face vers le haut) 8 Bac bas (face vers le haut) 9 Bac automatique (face vers le bas) D’autres indicateurs d’option qprt ne sont valides qu’avec la file d’attente PS ou PCL de l’imprimante Network Printer 24 : –e # Spécifie l’agrafage et le classement. L’indicateur d’option –e # n’est opérationnel que si un bac de sortie face vers le bas est sélectionné. Pour en savoir plus, reportez-vous à l’indicateur d’option –=. 0 Paramètre par défaut de l’imprimante 1 Agrafage portrait 2 Agrafage paysage 3 Double agrafage portrait 4 Double agrafage paysage 5 Décalage en fin de travail 6 Décalage en fin d’ensemble 7 Pas d’agrafage ni de classement Voici des noms de file d’attente valides se trouvant sur les imprimantes IBM Network Printer 12, 17 et 24 : TEXT Données nécessitant un traitement des sauts de lignes et des retour chariot. PASS Données ne nécessitant aucun traitement supplémentaire. Imprimante, traceur et programmation du sous–système de spoulage 4-73 IBM InfoPrint 20 –q # Spécifie les options de qualité d’impression. Les options –q pour l’imprimante InfoPrint 20 sont : 600 600 dpi 1200 –u # –= # Définit la source du papier. Les options –u pour l’imprimante InfoPrint 20 sont : 0 Source d’entrée actuellement sélectionnée sur l’imprimante 1 Tray 1 2 Plateau auxiliaire – alimentation manuelle du papier 3 Plateau auxiliaire – alimentation manuelle des enveloppes 4 Plateau auxiliaire – automatique 5 Tray 2 6 Plateau d’alimentation des enveloppes 7 Tray 3 9 tiroir d’entrée 2000 feuilles Définiti le type de gestion de la sortie du papier. Les options –= pour l’imprimante InfoPrint 20 sont : 0 Main 1 4-74 Specifies 1200dpi. L’impression semble de résolution deux fois supérieure à celle de l’imprimante. L’impression en qualité 1200 dpi est conseillée pour les données telles que des images créées à 1200 dpi. Principale avec option décalage Imprimantes et impression Guide de l’utilisateur –Q # –s Name Spécifie la taille du papier pour le travail d’impression. Les options –Q pour l’imprimante InfoPrint 20 sont : 1 Letter 2 Legal 3 Folio 4 11 x 17 5 A4 6 B4 7 A3 8 Taille de papier universelle 9 B5–JIS 10 A5 11 Executive 12 Instruction 13 Hagaki 14 Enveloppe Monarch 15 Enveloppe COM10 16 Enveloppe C5 17 Enveloppe DL 18 Taille d’enveloppe universelle Spécifie un style de type via la variable Name. Les styles de types pour l’imprimante InfoPrint 20 sont : • courier • courier–gras • courier–italique • courier–gras–italique • gothic • imprimante ligne • gothic–gras • gothic–italique • prestige elite • prestige elite–gras • prestige elite–italique • prestige elite–gras–italique Imprimante, traceur et programmation du sous–système de spoulage 4-75 IBM InfoPrint 32 –= # Type de gestion de la sortie du papier. 0 Paramètre par défaut de l’imprimante 1 Bac principal (face vers le bas) 2 Face vers le haut (bac arrière) 3 Bac 1 (face vers le bas – Haut) 4 Bac 2 (face vers le bas – Milieu) 5 Bac 3 (face vers le bas – Bas) 9 Tous les bacs (face vers le bas) –e # Spécifie le mode d’agrafage et de classement. Cette option ne fonctionne que si un bac de sortie face vers le bas est sélectionné (voir l’option –= flag). 0 Paramètre par défaut de l’imprimante 1 Agrafage portrait 2 Agrafage paysage 3 Double agrafage portrait 4 Double agrafage paysage 5 Décalage en fin de travail 6 Décalage en fin d’ensemble 7 Pas d’agrafage ni de classement –k # Spécifie le nombre de copies classées RePro. L’imprimante doit posséder un disque dur pour que cette fonction puisse être exécutée. –s # Name Spécifie un style de type à l’aide de la variable Name. Par exemple, courier, courier–gras, courier–italique courier–gras–italique, lettergothic, lineprinter, lettergothic–gras, lettergothic–italique, prestigeelite, prestigeelite–gras, prestigeelite–italique et prestigeelite–gras–italique. –u # Définit la source du papier : 4-76 0 Source d’entrée actuellement sélectionnée sur l’imprimante 1 Plateau 1 2 Plateau auxiliaire – Alimentation manuelle du papier 3 Plateau auxiliaire – Alimentation manuelle des enveloppes 4 Plateau auxiliaire – automatique 5 Plateau 2 6 Plateau d’alimentation des enveloppes 7 Plateau 3 8 Plateau 4 9 Plateau 5 Imprimantes et impression Guide de l’utilisateur –z # Fait pivoter la sortie papier de l’imprimante du nombre de quarts de tour (sens des aiguilles d’une montre) spécifié par la variable Value. Les valeurs de longueur (–l) et de largeur (–w) sont automatiquement ajustées en conséquence. 0 Portrait 1 Paysage 2 Portrait inversé 3 Paysage inversé –Q # Spécifie le format du papier pour le travail d’impression 1 Letter 2 Legal 3 Folio 4 11x17 5 A4 6 B4 7 A3 8 Taille de papier universelle 9 B5–JIS 10 A5 11 Executive 12 Instruction 13 Hagaki 14 Enveloppe Monarch 15 Enveloppe COM10 16 Enveloppe C5 17 Enveloppe DL 18 Taille d’enveloppe universelle Imprimante, traceur et programmation du sous–système de spoulage 4-77 IBM InfoPrint 40 –= # Type de gestion de la sortie du papier. 0 Paramètre par défaut de l’imprimante 1 Bac principal (face vers le bas) 2 Face vers le haut (bac arrière) 3 Bac 1 (face vers le bas – Haut) 4 Bac 2 (face vers le bas – Milieu) 5 Bac 3 (face vers le bas – Bas) 9 Tous les bacs (face vers le bas) –e # Spécifie le mode d’agrafage et de classement. Cette option ne fonctionne que si un bac de sortie face vers le bas est sélectionné (voir l’option –=). 0 Paramètre par défaut de l’imprimante 1 Agrafage portrait 2 Agrafage paysage 3 Double agrafage portrait 4 Double agrafage paysage 5 Décalage en fin de travail 6 Décalage en fin d’ensemble 7 Pas d’agrafage ni de classement –k # Indique le nombre de copies classées RePro. L’imprimante doit posséder un disque dur pour que cette fonction puisse être exécutée. –s # Name Spécifie un style de type à l’aide de la variable Name. Par exemple, courier, courier–gras, courier–italique courier–gras–italique, lettergothic, lineprinter, lettergothic–gras, lettergothic–italique, prestigeelite, prestigeelite–gras, prestigeelite–italique et prestigeelite–gras–italique. –u # Définit la source du papier : 4-78 0 Source d’entrée actuellement sélectionnée sur l’imprimante 1 Plateau 1 2 Plateau auxiliaire – Alimentation manuelle du papier 3 Plateau auxiliaire – Alimentation manuelle des enveloppes 4 Plateau auxiliaire – automatique 5 Plateau 2 6 Plateau d’alimentation des enveloppes 7 Plateau 3 8 Plateau 4 9 Plateau 5 Imprimantes et impression Guide de l’utilisateur –Q # Spécifie le format du papier pour le travail d’impression Noms des files d’attente 1 Letter 2 Legal 3 Folio 4 11x17 5 A4 6 B4 7 A3 8 Taille de papier universelle 9 BJ–JIS 10 A5 11 Executive 12 Instruction 13 Hagaki 14 Enveloppe Monarch 15 Enveloppe COM10 16 Enveloppe C5 17 Enveloppe DL 18 Taille d’enveloppe universelle Les noms de file d’attente valides se trouvant sur les imprimantes IBM Network Printer 12, 17, 24 et InfoPrint 20, 32 et 40 sont les suivants : TEXT Données nécessitant un traitement des sauts de lignes et des retours chariot. PASS Données ne nécessitant aucun traitement supplémentaire. Imprimante, traceur et programmation du sous–système de spoulage 4-79 Canon LASER SHOT LBP–B404PS/Lite Les flot de données japonais PostScript et ASCII sont pris en charge. Les fichiers texte japonais ne peuvent pas être imprimés. Canon LASER SHOT LBP–B406S/D/E/G, A404/E, A304E Les jeux de code japonais sont pris en charge. N’utilisez pas la carte d’émulation IBM 5575. La file d’attente lips3 n’est pas utilisable sur les modèles LBP–B406S/D,A404 avec le mode LIPS II+. Dataproducts LZR 2665 Laser Printer Le flot de données (PostScript, Diablo 630) doit être sélectionné manuellement, via le panneau de commande. Les fichiers ASCII peuvent également être imprimés via le flot de données PostScript. Hewlett–Packard LaserJets II, III, IIISi, 4, 4Si, 4Plus, 4V, 4000, 5Si/5Si MX, 5Si Mopier et 8000 Color, 8500 Color Les imprimantes HP LaserJet peuvent imprimer sur du papier de taille autre que la taille par défaut (8–1/2 x 11 pouces). Pour changer la taille du papier via SMIT, reportez-vous à ”Définir le format de papier”, page 2-41. Pour changer la taille du papier pour un seul travail d’impression, spécifiez l’indicateur –Q avec la commande qprt. Pour imprimer plus de lignes sur une page que ne l’autorise l’interligne (6 ou 8 lignes par pouce), spécifiez le nombre de lignes par page. L’interligne est réduit de façon qu’un nombre supérieur de lignes tienne sur une page. Par exemple, si l’interligne est de 6 lignes au pouce, entrer la commande qprt –l 66 FileName imprime le fichier FileName avec 66 lignes par page au lieu des 60 lignes par défaut. Les imprimantes HP LaserJet III, IIISi et 4 prennent en charge les polices et pas d’impression suivants : courier pas de 10, 12 ou 17 courier–gras pas de 10 ou 12 courier–italique pas de 10 ou 12 imprimante ligne pas de 17 Par exemple, entrer la commande qprt –s Lineprinter –p 17 FileName imprime le fichier FileName en police imprimante ligne avec un pas de 17 (17 caractères au pouce). Raccorder une imprimante Hewlett–Packard LaserJet à un port série RS–422A requiert un câble spécial. Vous pouvez le réaliser en vous aidant des informations de brochage suivantes : 4-80 Connecteur socket (extrémité système) Signal Connecteur de broche (extrémité unité) shell Terre blindée 1 2 TxA 3 3 RxA 9 4 TxB 18 5 RxB 10 7 Terre 7 Imprimantes et impression Guide de l’utilisateur Imprimantes Hewlett–Packard LaserJet 5Si et 5Si Mopier Bacs de sortie Les imprimantes LaserJet 5Si et 5Si Mopier de base proposent deux destinations : • Le bac de sortie supérieur où les impressions arrivent face vers la bas. • Le bac de sortie latéral gauche où les impressions arrivent face vers le haut, dans un ordre inversé. Si l’unité HC0 (High Capacity Output) en option est installée, les autres plateaux sont également disponibles. AIX prend en charge jusqu’à huit bacs de sortie HC0 pour l’imprimante HP 5Si et jusqu’à 5 bacs de sortie HC0 et un bac d’agrafage pour l’imprimante 5Si Mopier. L’accès aux bacs de sortie s’effectue via l’indicateur (–=) de la commande qprt. Le tableau suivant indique les valeurs possibles et le bac de destination correspondant. LaserJet 5Si : –= value (#) bac de sortie de destination 0 Bac haut de l’imprimante (face vers le bas) 1 Bac 1 HC0 face vers le bas 2 Bac 2 HC0 face vers le bas 3 Bac 3 HC0 face vers le bas 4 Bac 4 HC0 face vers le bas 5 Bac 5 HC0 face vers le bas 6 Bac 6 HC0 face vers le bas 7 Bac 7 HC0 face vers le bas 8 Bac 8 HC0 face vers le bas 50 HC0 face vers le haut 50 Bac latéral gauche /face vers le haut (HC0 non installé) HP LaserJet 5Si Mopier : –= value (#) bac de sortie de destination 0 Bac haut de l’imprimante (face vers le bas) 1 Bac 1 HC0 face vers le bas 2 Bac 2 HC0 face vers le bas 3 Bac 3 HC0 face vers le bas 4 Bac 4 HC0 face vers le bas 5 Bac 5 HC0 face vers le bas 50 HC0 face vers le haut 50 Bac latéral gauche /face vers le haut (HC0 non installé) 51 Bac d’agrafage Imprimante, traceur et programmation du sous–système de spoulage 4-81 Nombre d’exemplaires (LaserJet 5Si Mopier) La LaserJet 5Si Mopier prend en charge l’impression d’exemplaires en interne via l’indicateur –W. Cet indicateur diffère de l’indicateur –N pris en charge par le spouleur. Avec l’indicateur –N, les copies sont traitées sur la machine AIX, puis envoyées à l’imprimante une par une. Avec l’option –W sur la LaserJet 5Si Mopier, une seule copie du travail d’impression est envoyée à l’imprimante : les copies sont ensuite générées par l’imprimante. Le format de base est : –W # Imprimantes Hewlett–Packard LaserJet 8000 et 8500 Color Bacs de sortie Les imprimantes LaserJet 8500 Color et LaserJet 8000 de base proposent deux destinations : • Le bac de sortie supérieur où les impressions arrivent face vers le bas. • le bac de sortie latéral gauche où les impression arrivent face vers le haut, en ordre inverse. Si l’unité HC0 (High Capacity Output) en option est installée, les autres plateaux sont également disponibles. L’accès aux bacs de sortie s’effectue via l’indicateur (–=) de la commande qprt. Le tableau suivant indique les valeurs possibles et le bac de destination correspondant. LaserJet 8500 Color : 4-82 –= value (#) bac de sortie de destination 0 Bac haut de l’imprimante (face vers le bas) 1 Bac 1 HC0 face vers le bas 2 Bac 2 HC0 face vers le bas 3 Bac 3 HC0 face vers le bas 4 Bac 4 HC0 face vers le bas 5 Bac 5 HC0 face vers le bas 6 Bac 6 HC0 face vers le bas 7 Bac 7 HC0 face vers le bas 8 Bac 8 HC0 face vers le bas 50 Bac HC0 face vers le haut 50 Bac latéral gauche/face vers le haut (HC0 non installé) Imprimantes et impression Guide de l’utilisateur LaserJet 8000 : Nombre d’exemplaires –= value (#) bac de sortie de destination 0 Bac haut de l’imprimante (face vers le bas) 1 Bac 1 HC0 face vers le bas 2 Bac 2 HC0 face vers le bas 3 Bac 3 HC0 face vers le bas 4 Bac 4 HC0 face vers le bas 5 Bac 5 HC0 face vers le bas 6 Bac 6 HC0 face vers le bas 7 Bac 7 HC0 face vers le bas 8 Bac 8 HC0 face vers le bas 50 Bac HC0 face vers le haut 50 Bac latéral gauche/face vers le haut (HC0 non installé) 51 Bac d’agrafage Les imprimantes LaserJet 8000 et 8500 Color prennent en charge l’impression d’exemplaires en interne. Avec l’indicateur –W, une seule copie du travail d’impression est envoyée à l’imprimante et les autres copies sont générées par l’imprimante. Le format de base est : –W # Format de papier Spécifie le format du papier pour le travail d’impression –Q 1 Letter –Q 2 Legal –Q 4 A4 –Q 5 Exec –Q 8 A3 Imprimante, traceur et programmation du sous–système de spoulage 4-83 Lexmark 4227 Forms Printer Source du papier La sélection de la source du papier s’effectue via l’indicateur –u de la commande qprt. –u 1 tracteur 1 –u 2 tracteur 2 Les pages bannière et de fin utilisent la même source de papier que le travail d’impression. Nous vous conseillons de surveiller l’imprimante lorsque vous passez d’un tracteur à l’autre. Pas, police et qualité La sélection du pas d’impression est effectuée via l’indicateur –p pour le pas, l’indicateur –s pour le nom de la police et l’indicateur –q de la commande qprt pour la qualité. Voici quelques-unes des valeurs par défaut prises en charge : 10 pitch courier police qualité 1 ou brouillon Valeurs de polices valides : Nom de police –s brouillon rapide –s brouillon –s courier –s gothic Valeurs de qualité valides : Qualité (indicateur –q) 0 brouillon rapide 1 draft 2 qualité NLQ (near letter quality) Les pas d’impression valides sont 10, 12, 17 et 20. Remarques 1. Sélectionner brouillon ou brouillon rapide annule la police sélectionnée. 2. Les caractères gras sont pris en charge via l’indicateur –e et l’impression en gras. Les caractères italiques sont pris en charge via l’indicateur –k et l’impression en italique. Largeur de page 4-84 L’indicateur –w contrôle la largeur (en caractères) de la page imprimable. La valeur par défaut est 136. Imprimantes et impression Guide de l’utilisateur Lexmark Optra LaserPrinter Source du papier La sélection du papier source est prise en charge à la fois pour l’émulation PCL (R) 5 améliorée et pour l’émulation PostScript Level 2, via l’indicateur –u de la commande qprt. Il existe plusieurs sources d’entrée en option. Le numéro de la source d’entrée est identique pour PCL et pour PostScript : –u 0 alimentation manuelle –u 1 plateau 1 –u 2 plateau 2 –u 3 plateau 3 –u 4 chargeur ou chargeur 1 –u 5 chargeur 2 Par défaut, les pages bannière et de fin arrivent par le plateau du haut. Pour changer la valeur par défaut, modifiez la valeur des attributs uH et/ou uT respectivement, dans le fichier deux-points, en leur affectant la valeur de la source souhaitée (s0–S5). Lancez la commande lsvirprt. Format de papier La sélection du format du papier est prise en charge via l’un ou les deux indicateurs de la commande qprt, –O et –Q. L’indicateur –O contrôle s’il s’agit de papier simple ou d’enveloppes. La valeur 3 indique un format de papier et 4 un format d’enveloppe. Les enveloppes doivent être alimentées manuellement ou via le chargeur ou le chargeur 2. La valeur par défaut de –O est 3 (papier). La valeur par défaut de –Q est 1 (Letter) pour les formats de papier et Com 10 pour les formats d’enveloppe. Formats de papier (–0 3) Formats d’enveloppe (–0 4) –Q 1 Letter 7 3/4 Monarch –Q 2 Legal 9 (Com 9) –Q 3 B5 papier 10 (Com 10) –Q 4 A4 DL –Q 5 Executive C5 Type de papier –Q 6 A5 B5 Enveloppe –Q 7 Autre Enveloppe L’imprimante Optra prend en charge les types de papier : brut, normal (par défaut), transparents, étiquettes et cartes via le paramètre –y de la commande qprt ou l’attribut _y dans le fichier deux-points. –y 1 Brut –y 2 Normal (par défaut) –y 3 Transparents –y 4 Étiquettes –y 5 Cartes Imprimante, traceur et programmation du sous–système de spoulage 4-85 Résolution d’impression Pas d’impression L’imprimante Optra plus accepte les résolutions d’impression de 300, 600 et 1200 ppi, via l’indicateur –q de la commande qprt. La valeur par défaut est 600 ppi. –q 300 –q 600 –q 1200 La sélection du pas d’impression est prise en charge par l’émulation PCL 5 via les indicateurs –p pour le pas et –s pour le nom de la police de la commande qprt. Les valeurs de pas admises vont de 1 et 100 caractères au pouce (cpi) (valeurs entières). L’indicateur d’impression condensé, –K, n’est pas pris en charge. Nom de la police Pas d’impression –s courier –p (1 à 100) –s courier–bold –p (1 à 100) –s courier–italic –p (1 à 100) –s courier–bold italic –p (1 à 100) –s gothic –p (1 à 100) –s gothic–bold –p (1 à 100) –s gothic–italic –p (1 à 100) –s lineprinter –p 17 Remarque : Pour formater en ASCII d’autres styles de police, faites appel à l’utilitaire de cryptage AIX ou à la commande qprt avec les indicateurs –da, –s et –p vers une file d’attente PostScript. Pour les files d’attente PostScript, –p correspond à la taille de point et la liste valide des polices se trouve dans /usr/lib/ps/fontmap. Les tailles de point valides sont les entiers compris entre 1 et 1008. Par ailleurs, seul un pas de 17 est pris en charge pour le style lineprinter. Mode duplex 4-86 La fonction duplex en option est prise en charge via l’indicateur –Y de la commande qprt. –Y 0 simple –Y 1 duplex, reliure sur grand côté –Y 2 duplex, reliure sur petit côté Imprimantes et impression Guide de l’utilisateur Lexmark Optra Plus LaserPrinter Source du papier La sélection du papier source est prise en charge à la fois pour l’émulation PCL (R) 5 améliorée et pour l’émulation PostScript Level 2, via l’indicateur –u de la commande qprt. Il existe plusieurs sources d’entrée en option. Le numéro de la source d’entrée est identique pour PCL et pour PostScript : –u 0 alimentation manuelle –u 1 plateau 1 –u 2 plateau 2 –u 3 plateau 3 –u 4 chargeur ou chargeur 1 –u 5 chargeur 2 Par défaut, les pages bannière et de fin arrivent par le plateau du haut. Pour changer la valeur par défaut, modifiez la valeur des attributs uH et/ou uT respectivement, dans le fichier deux-points, en leur affectant la valeur de la source souhaitée (s0–S5). Lancez la commande lsvirprt. Format de papier Type de papier La sélection du format du papier est prise en charge via l’un ou les deux indicateurs de la commande qprt, –O et –Q. L’indicateur –O contrôle s’il s’agit de papier simple ou d’enveloppes. La valeur 3 indique un format de papier et 4 un format d’enveloppe. Les enveloppes doivent être alimentées manuellement ou via le chargeur ou le chargeur 2. La valeur par défaut de –O est 3 (papier). La valeur par défaut de –Q est 1 (Letter) pour les formats de papier et Com 10 pour les formats d’enveloppe. Formats de papier (–0 3) Formats d’enveloppe (–0 4) –Q 1 Letter 7 3/4 Monarch –Q 2 Legal 9 (Com 9) –Q 3 B5 papier 10 (Com 10) –Q 4 A4 DL –Q 5 Executive C5 –Q 6 A5 B5 Enveloppe –Q 7 Autre Enveloppe L’imprimante Optra Plus prend en charge les types de papier : brut, normal (par défaut), transparents, étiquettes et cartes via le paramètre –y de la commande qprt ou l’attribut _y dans le fichier deux-points. –y 1 Brut –y 2 Normal (par défaut) –y 3 Transparents –y 4 Étiquettes –y 5 Cartes Imprimante, traceur et programmation du sous–système de spoulage 4-87 Résolution d’impression Pas d’impression L’imprimante Optra Plus accepte les résolutions d’impression de 300, 600 et 1200 ppi, via l’indicateur –q de la commande qprt. La valeur par défaut est 600 ppi. –q 300 –q 600 –q 1200 La sélection du pas d’impression est prise en charge par l’émulation PCL 5 via les indicateurs –p pour le pas et –s pour le nom de la police de la commande qprt. Les valeurs de pas admises vont de 1 et 100 caractères au pouce (cpi) (valeurs entières). L’indicateur d’impression condensé, –K, n’est pas pris en charge. Nom de la police Pas d’impression –s courier –p (1 à 100) –s courier–bold –p (1 à 100) –s courier–italic –p (1 à 100) –s courier–bold italic –p (1 à 100) –s gothic –p (1 à 100) –s gothic–bold –p (1 à 100) –s gothic–italic –p (1 à 100) –s lineprinter –p 17 Remarque : Pour formater en ASCII d’autres styles de police, faites appel à l’utilitaire de cryptage AIX ou à la commande qprt avec les indicateurs –da, –s et –p vers une file d’attente PostScript. Pour les files d’attente PostScript, –p correspond à la taille de point et la liste valide des polices se trouve dans /usr/lib/ps/fontmap. Les tailles de point valides sont les entiers compris entre 1 et 1008. Par ailleurs, seul un pas de 17 est pris en charge pour le style lineprinter. Mode duplex 4-88 La fonction duplex en option est prise en charge via l’indicateur –Y de la commande qprt. –Y 0 simple –Y 1 duplex, reliure sur grand côté –Y 2 duplex, reliure sur petit côté Imprimantes et impression Guide de l’utilisateur Classement L’imprimante Optra Plus prend en charge en interne le classement d’exemplaires multiples d’un travail d’impression. Cette fonction est contrôlée par les indicateurs –W et –S de la commande qprt. –S ! collation off –S+ classement activé –S # nombre d’exemplaires Remarque : Cette fonction est indépendante de l’indicateur –N de la commande qprt. L’indicateur –N# envoie # fois le travail d’impression à l’imprimante. Avec –W#, le travail est envoyé une fois et imprimé # fois. Pages de séparation L’imprimante Optra Plus prend en charge en interne les pages de séparation. Cette fonction est contrôlée par l’indicateur –E de la commande qprt. –E 0 Sans –E Entre exemplaires –E 2 Entre travaux –E 3 Entre pages La source du papier est, par défaut, le chargeur. Pour changer cette valeur par défaut, l’attribut uS doit être modifié au niveau de l’imprimante virtuelle. Les valeurs valides pour uS sont les mêmes que celles de l’indicateur de source de papier –u, à ceci près que l’alimentation manuelle n’est pas une source admise. Remarque : Cette fonction est indépendante de l’indicateur –B de la commande qprt. Imprimante Lexmark Optra Color 1200 Source du papier La sélection de la source du papier est prise en charge à la fois pour l’émulation PCL 5 et pour le langage PostScript, via l’indicateur –u de la commande qprt. –u 0 alimentation manuelle –u 1 plateau 1 –u 2 plateau 2 –u 3 plateau 3 –u 4 chargeur multi–usage Par défaut, les pages bannière et de fin arrivent par le plateau 1. Pour changer la valeur par défaut, modifiez la valeur des attributs uH et/ou uT respectivement, dans le fichier deux–points, en leur affectant la valeur de la source souhaitée. Les valeurs autorisées sont les mêmes que pour l’indicateur –u. Il vous suffit d’éditer le fichier deux–points de l’imprimante virtuelle à l’aide de la commande ”chvirprt”. Imprimante, traceur et programmation du sous–système de spoulage 4-89 Format de papier La sélection du format de papier est assurée par les indicateurs de la commande qprt, –O et –Q. L’indicateur –O détermine s’il s’agit de papier ou d’enveloppes. La valeur 3 indique un format de papier et la valeur 4, un format d’enveloppe. Les valeurs 1 et 2 ont été omises par souci de compatibilité amont. Les cinq premiers formats de papier sont également numérotés afin de préserver la compatibilité amont. Si une valeur non valide est sélectionnée comme source d’entrée, elle est ignorée. Remarque : Les enveloppes doivent être alimentées manuellement ou via le chargeur. La valeur par défaut de –O est 3 (papier). La valeur par défaut de –Q est 1 (Letter) pour les formats de papier et Monarch pour les formats d’enveloppe. Formats de papier (–0 3) Formats d’enveloppes (–0 4) –Q 1 Letter 7 3/4 Monarch –Q 2 Legal 9 (Com 9) –Q 3 B5 10 (Com 10) –Q 4 A4 DL –Q 5 A5 C5 –Q 6 B4 B5 Enveloppe –Q 7 A3 Autre Enveloppe –Q 8 11 X 17 – Remarque : Le fichier d’imprimante (lexOptraC1200.pcl) pour PCL 5 adopte par défaut le format de papier Letter. Pour changer cette valeur par défaut, modifiez les valeurs des attributs s0–s3 dans le fichier, respectivement pour les attributs _u (source du papier). Par exemple, pour imposer le format Legal comme format par défaut pour le plateau 2, remplacez la valeur de l’attribut s2 par 2. REMARQUE SPECIALE : Pour les files d’attente PCL, si le format sélectionné ne figure pas dans la source d’entrée sélectionnée, une séquence de recherche sera mise en œuvre pour localiser le format demandé. Si le format est détecté, la source correspondante sera utilisée. Pour les files d’attente PostScript, si le format sélectionné ne figure pas dans la source d’entrée sélectionnée, l’imprimante invite l’utilisateur à charger le format de papier approprié dans la source sélectionnée. Le résultat peut alors se traduire par l’utilisation d’une source de papier inattendue ou l’affichage d’un message elliptique sur le panneau opérateur. Pour déterminer la réponse appropriée, reportez–vous au manuel. 4-90 Imprimantes et impression Guide de l’utilisateur Pas d’impression La sélection du pas d’impression est assurée par l’émulation PCL via l’indicateur –p pour le pas et –s pour le nom de la police. Les valeurs de pas admises vont de 1 à 100 caractères au pouce (cpi) (valeurs entières). L’indicateur d’impression condensé, –K, n’est pas pris en charge. Nom de la police Pas d’impression –s courier –p (1 à 100) –s courier–gras –p (1 à 100) –s courier–italique –p (1 à 100) –s courier–gras–italique –p (1 à 100) –s gothic –p (1 à 100) –s gothic–gras –p (1 à 100) –s gothic–italique –p (1 à 100) –s lineprinter –p 17 Remarque : Pour formater en ASCII d’autres styles de police, faites appel à l’utilitaire de cryptage AIX ou à la commande qprt avec les indicateurs –da, –s et –p vers une file d’attente Postscript. Pour les files d’attente Postscript, –p correspond à la taille de point et la liste valide des polices se trouve dans /usr/lib/ps/fontmap. Les tailles de point valides sont les entiers compris entre 1 et 1008. Par ailleurs, seul le pas 17 est pris en charge pour le style lineprinter. Imprimante, traceur et programmation du sous–système de spoulage 4-91 Classement En principe, l’option de ligne de commande –N permet de spécifier le nombre d’exemplaires souhaité. Cette méthode entraîne la soumission ou le placement en file d’attente sur le système d’impression de nombreux exemplaires du travail d’impression. Comme l’imprimante Optra Color 1200 prend en charge le classement d’exemplaires multiples en interne, un certain nombre d’options ont été ajoutées pour gérer cette fonction et le nombre d’exemplaires en interne. Cette fonctionnalité est limitée par la quantité de mémoire installée sur votre imprimante et par la taille du travail d’impression. L’option –W# détermine le nombre d’exemplaires de chaque page souhaité, # correspondant au nombre d’exemplaires. L’option –S [!/+] détermine le classement éventuel. La valeur par défaut est ! (pas de classement). Les principaux avantages des options –W et –S sont qu’elles préservent l’utilisation du sous–système d’imprimante et permettent de laisser l’imprimante gérer plusieurs copies au lieu d’envoyer # copies à l’imprimante. La combinaison des options –S! et –W# permet également d’effectuer successivement # exemplaires de chaque, si cela est souhaité. Vous noterez qu’il est possible d’utiliser simultanément –N et –W. Ceci se traduirait par l’exécution de –N travaux d’impression avec –W exemplaires de chaque page dans chaque travail. Pages de séparation 4-92 Les pages de séparation sont déterminées par l’indicateur –E. Les valeurs autorisées sont 0, 1, 2 et 3 qui correspondent respectivement à SANS, ENTRE COPIES, ENTRE TRAVAUX et ENTRE PAGES. La source du papier pour les pages de séparation est définie par l’attribut du fichier deux–points uS, qui est par défaut le PLATEAU 1. Les valeurs autorisées pour uS sont les mêmes que pour uH et uT, à ceci près que l’alimentation manuelle n’est pas admise. Pour modifier la valeur par défaut, l’attribut uS doit être modifié au niveau de l’imprimante virtuelle (voir les valeurs possibles dans les sources de papier ci–dessus). Imprimantes et impression Guide de l’utilisateur Imprimante Lexmark Optra Color 40 Source du papier La sélection de la source du papier est prise en charge à la fois pour l’émulation PCL 5 et pour le langage PostScript, via l’indicateur –u de la commande qprt. –u 0 alimentation manuelle –u 1 plateau 1 Format de papier La sélection du format de papier est assurée par les indicateurs de la commande qprt, –O et –Q. L’indicateur –O détermine s’il s’agit de papier ou d’enveloppes. La valeur 3 indique un format de papier et la valeur 4, un format d’enveloppe. Les valeurs 1 et 2 ont été omises par souci de compatibilité amont. Les cinq premiers formats de papier sont également numérotés afin de préserver la compatibilité amont. Si une valeur non valide est sélectionnée comme source d’entrée, elle est ignorée. Remarque : Les enveloppes sont accessibles à partir du plateau 1 ou de la source d’alimentation manuelle. La valeur par défaut de –O est 3 (papier). La valeur par défaut de –Q est 1 (Letter) pour les formats de papier et Monarch pour les formats d’enveloppe. Formats de papier (–0 3) Formats d’enveloppes (–0 4) –Q 1 Letter 7 3/4 Monarch –Q 2 Legal 9 (Com 9) –Q 3 B5 10 (Com 10) –Q 4 A4 DL –Q 5 Executive C5 –Q 6 A5 Enveloppe B5 –Q 7 Universal Autre Enveloppe Remarque : Le fichier d’imprimante (lexOptraC40.pcl) pour PCL 5 adopte par défaut le format de papier Letter. Pour changer cette valeur par défaut, modifiez les valeurs des attributs s0–s3 dans le fichier, respectivement pour les attributs _u (source du papier). Par exemple, pour imposer le format Legal comme format par défaut pour le plateau 2, remplacez la valeur de l’attribut s2 par 2. Remarque : Pour les files d’attente PCL, si le format sélectionné ne figure pas dans la source d’entrée sélectionnée, une séquence de recherche sera mise en œuvre pour localiser le format demandé. Si le format est détecté, la source correspondante sera utilisée. Pour les files d’attente PostScript, si le format sélectionné ne figure pas dans la source d’entrée sélectionnée, l’imprimante invite l’utilisateur à charger le format de papier approprié dans la source sélectionnée. Le résultat peut alors se traduire par l’utilisation d’une source de papier inattendue ou l’affichage d’un message elliptique sur le panneau opérateur. Pour déterminer la réponse appropriée, reportez–vous au manuel. Imprimante, traceur et programmation du sous–système de spoulage 4-93 Pas d’impression La sélection du pas d’impression est assurée par l’émulation PCL via l’indicateur –p pour le pas et –s pour le nom de la police. Les valeurs de pas admises vont de 1 à 100 caractères au pouce (cpi) (valeurs entières). L’indicateur d’impression condensé, –K, n’est pas pris en charge. Nom de la police Pas d’impression –s courier –p (1 à 100) –s courier–gras –p (1 à 100) –s courier–italique –p (1 à 100) –s courier–gras–italique –p (1 à 100) –s gothic –p (1 à 100) –s gothic–gras –p (1 à 100) –s gothic–italique –p (1 à 100) –s lineprinter –p 17 Remarque : Pour formater en ASCII d’autres styles de police, faites appel à l’utilitaire de cryptage AIX ou à la commande qprt avec les indicateurs –da, –s et –p vers une file d’attente Postscript. Pour les files d’attente Postscript, –p correspond à la taille de point et la liste valide des polices se trouve dans /usr/lib/ps/fontmap. Les tailles de point valides sont les entiers compris entre 1 et 1008. Par ailleurs, seul le pas 17 est pris en charge pour le style lineprinter. 4-94 Imprimantes et impression Guide de l’utilisateur Classement En principe, l’option de ligne de commande –N permet de spécifier le nombre d’exemplaires souhaité. Cette méthode entraîne la soumission ou le placement en file d’attente sur le système d’impression de nombreux exemplaires du travail d’impression. Comme l’imprimante Optra Color 40 prend en charge le classement d’exemplaires multiples en interne, un certain nombre d’options ont été ajoutées pour gérer cette fonction et le nombre d’exemplaires en interne. Cette fonctionnalité est limitée par la quantité de mémoire installée sur votre imprimante et par la taille du travail d’impression. L’option –W# détermine le nombre d’exemplaires de chaque page souhaité, # correspondant au nombre d’exemplaires. L’option –S [!/+] détermine le classement éventuel. La valeur par défaut est ! (pas de classement). Les principaux avantages des options –W et –S sont qu’elles préservent l’utilisation du sous–système d’imprimante et permettent de laisser l’imprimante gérer plusieurs copies au lieu d’envoyer # copies à l’imprimante. La combinaison des options –S! et –W# permet également d’effectuer successivement # exemplaires de chaque, si cela est souhaité. Vous noterez qu’il est possible d’utiliser simultanément –N et –W. Ceci se traduirait par l’exécution de –N travaux d’impression avec –W exemplaires de chaque page dans chaque travail. Pages de séparation Les pages de séparation sont déterminées par l’indicateur –E. Les valeurs autorisées sont 0, 1, 2 et 3 qui correspondent respectivement à SANS, ENTRE COPIES, ENTRE TRAVAUX et ENTRE PAGES. La source du papier pour les pages de séparation est définie par l’attribut du fichier deux–points uS, qui est par défaut le PLATEAU 1. Les valeurs autorisées pour uS sont les mêmes que pour uH et uT, à ceci près que l’alimentation manuelle n’est pas admise. Pour modifier la valeur par défaut, l’attribut uS doit être modifié au niveau de l’imprimante virtuelle (voir les valeurs possibles dans les sources de papier ci–dessus). Imprimante Lexmark Optra Color 45 Source du papier La sélection de la source du papier est prise en charge à la fois pour l’émulation PCL 5 et pour le langage PostScript, via l’indicateur –u de la commande qprt. –u 0 alimentation manuelle –u 1 plateau 1 Imprimante, traceur et programmation du sous–système de spoulage 4-95 Format de papier La sélection du format de papier est assurée par les indicateurs de la commande qprt, –O et –Q. L’indicateur –O détermine s’il s’agit de papier ou d’enveloppes. La valeur –O 3 indique un format de papier et la valeur 4, un format d’enveloppe. Les valeurs 1 et 2 ont été omises par souci de compatibilité amont. Les cinq premiers formats de papier sont également numérotés afin de préserver la compatibilité amont. Si une valeur non valide est sélectionnée comme source d’entrée, elle est ignorée. Remarque : Les enveloppes sont accessibles à partir du plateau 1 ou de la source d’alimentation manuelle. La valeur par défaut de –O est 3 (papier). La valeur par défaut de –Q est 1 (Letter) pour les formats de papier et Monarch pour les formats d’enveloppe. Formats de papier (–0 3) Formats d’enveloppes (–0 4) –Q 1 Letter 7 3/4 Monarch –Q 2 Legal 9 (Com 9) –Q 3 B5 10 (Com 10) –Q 4 A4 DL –Q 5 A5 C5 –Q 6 Executive B5 Enveloppe –Q 7 A3 Autre Enveloppe –Q 8 11 X 17 – –Q 9 Universal – Remarque : Le fichier d’imprimante (lexOptraC45.pcl) pour PCL 5 adopte par défaut le format de papier Letter. Pour changer cette valeur par défaut, modifiez les valeurs des attributs s0–s3 dans le fichier, respectivement pour les attributs _u (source du papier). Par exemple, pour imposer le format Legal comme format par défaut pour le plateau 2, remplacez la valeur de l’attribut s2 par 2. Remarque : Pour les files d’attente PCL, si le format sélectionné ne figure pas dans la source d’entrée sélectionnée, une séquence de recherche sera mise en œuvre pour localiser le format demandé. Si le format est détecté, la source correspondante sera utilisée. Pour les files d’attente PostScript, si le format sélectionné ne figure pas dans la source d’entrée sélectionnée, l’imprimante invite l’utilisateur à charger le format de papier approprié dans la source sélectionnée. Le résultat peut alors se traduire par l’utilisation d’une source de papier inattendue ou l’affichage d’un message elliptique sur le panneau opérateur. Pour déterminer la réponse appropriée, reportez–vous au manuel. 4-96 Imprimantes et impression Guide de l’utilisateur Pas d’impression La sélection du pas d’impression est assurée par l’émulation PCL via l’indicateur –p pour le pas et –s pour le nom de la police. Les valeurs de pas admises vont de 1 à 100 caractères au pouce (cpi) (valeurs entières). L’indicateur d’impression condensé, –K, n’est pas pris en charge. Nom de la police Pas d’impression –s courier –p (1 à 100) –scourier–gras –p (1 à 100) –scourier–italique –p (1 à 100) –scourier–gras–italique –p (1 à 100) –sgothic –p (1 à 100) –sgothic–gras –p (1 à 100) –sgothic–italique –p (1 à 100) –s lineprinter –p 17 Remarque : Pour formater en ASCII d’autres styles de police, faites appel à l’utilitaire de cryptage AIX ou à la commande qprt avec les indicateurs –da, –s et –p vers une file d’attente Postscript. Pour les files d’attente Postscript, –p correspond à la taille de point et la liste valide des polices se trouve dans /usr/lib/ps/fontmap. Les tailles de point valides sont les entiers compris entre 1 et 1008. Par ailleurs, seul le pas 17 est pris en charge pour le style lineprinter. Imprimante, traceur et programmation du sous–système de spoulage 4-97 4-98 Classement En principe, l’option de ligne de commande –N permet de spécifier le nombre d’exemplaires souhaité. Cette méthode entraîne la soumission ou le placement en file d’attente sur le système d’impression de nombreux exemplaires du travail d’impression. Comme l’imprimante Optra Color 45 prend en charge le classement d’exemplaires multiples en interne, un certain nombre d’options ont été ajoutées pour gérer cette fonction et le nombre d’exemplaires en interne. Cette fonctionnalité est limitée par la quantité de mémoire installée sur votre imprimante et par la taille du travail d’impression. L’option –W# détermine le nombre d’exemplaires de chaque page souhaité, # correspondant au nombre d’exemplaires. L’option –S [!/+] détermine le classement éventuel. La valeur par défaut est ! (pas de classement). Les principaux avantages des options –W et –S sont qu’elles préservent l’utilisation du sous–système d’imprimante et permettent de laisser l’imprimante gérer plusieurs copies au lieu d’envoyer # copies à l’imprimante. La combinaison des options –S! et –W# permet également d’effectuer successivement # exemplaires de chaque, si cela est souhaité. Vous noterez qu’il est possible d’utiliser simultanément –N et –W. Ceci se traduirait par l’exécution de –N travaux d’impression avec –W exemplaires de chaque page dans chaque travail. Pages de séparation Les pages de séparation sont déterminées par l’indicateur –E. Les valeurs autorisées sont 0, 1, 2 et 3 qui correspondent respectivement à SANS, ENTRE COPIES, ENTRE TRAVAUX et ENTRE PAGES. La source du papier pour les pages de séparation est définie par l’attribut du fichier deux–points uS, qui est par défaut le PLATEAU 1. Les valeurs autorisées pour uS sont les mêmes que pour uH et uT, à ceci près que l’alimentation manuelle n’est pas admise. Pour modifier la valeur par défaut, l’attribut uS doit être modifié au niveau de l’imprimante virtuelle (voir les valeurs possibles dans les sources de papier ci–dessus). Imprimantes et impression Guide de l’utilisateur Imprimante Lexmark Optra K 1220 Source du papier La sélection de la source du papier est prise en charge à la fois pour l’“émulation PCL (R) 5e améliorée” et pour l’“émulation PostScript (tm) Level 2” , via l’indicateur –u de la commande qprt. Plusieurs sources de papier sont possibles en option (consultez votre manuel pour savoir quelles sources ont été installées sur votre imprimante) Ces nombres s’appliquent que la source de papier ait été installée ou non. Si l’une d’elles est absente et que le numéro correspondant est choisi, la source utilisée sera la source par défaut définie dans le manuel de l’utilisateur. Le numéro de la source du papier est identique pour PCL et PostScript : –u 0 alimentation manuelle –u 1 plateau 1 –u 2 plateau 2 –u 3 plateau multi–usage Par défaut, les pages bannière et de fin arrivent par le plateau 1. Pour changer la valeur par défaut, modifiez la valeur des attributs uH et/ou uT respectivement, au niveau de l’imprimante virtuelle, en leur affectant la valeur de la source souhaitée. Utilisez à cet effet la commande ”chvirprt”. Les valeurs autorisées sont les mêmes que pour l’indicateur –u. Imprimante, traceur et programmation du sous–système de spoulage 4-99 Format de papier La sélection du format de papier est assurée par l’un ou les deux indicateurs de la commande qprt, –O et –Q. L’indicateur –O détermine s’il s’agit de papier ou d’enveloppes. La valeur 3 indique un format de papier et la valeur 4, un format d’enveloppe. Les valeurs 1 et 2 ont été omises par souci de compatibilité amont. Les enveloppes ne sont possibles qu’avec une alimentation manuelle, un chargeur d’enveloppes ou le plateau multiusage. La valeur par défaut de –Q est 1 (Letter) pour les formats de papier et 3 ou Com10 pour les formats d’enveloppe. Pour changer les valeurs par défaut, modifiez les attributs s0 – s7 respectivement pour chaque source d’alimentation valide. Comme l’alimentation manuelle et le plateau multi–usage acceptent papier et enveloppes, la valeur par défaut pour le papier correspond à la partie ”else” (%e1) et la valeur par défaut pour les enveloppes à la partie ”then” (%t3) de s0 et s7. Formats de papier (–0 3) Formats d’enveloppes (–0 4) –Q 1 Letter 7 3/4 Monarch –Q 2 Legal 9 (Com 9) –Q 3 B5 (JIS B5) 10 (Com 10) –Q 4 A4 DL –Q 5 Executive C5 –Q 6 A5 Enveloppe B5 –Q 7 Personnalisé (Universal) Autre Enveloppe Remarque : Pour les files d’attente PCL, si le format sélectionné ne figure pas dans la source d’entrée sélectionnée, une séquence de recherche sera mise en œuvre pour localiser le format demandé. Si le format est détecté, la source correspondante sera utilisée. Pour les files d’attente PostScript, si le format sélectionné ne figure pas dans la source d’entrée sélectionnée, l’imprimante invite l’utilisateur à charger le format de papier approprié dans la source sélectionnée. Le résultat peut alors se traduire par l’utilisation d’une source de papier inattendue ou l’affichage d’un message elliptique sur le panneau opérateur. Pour déterminer la réponse appropriée, reportez–vous au manuel. 4-100 Imprimantes et impression Guide de l’utilisateur Pas d’impression La sélection du pas d’impression est assurée par l’émulation PCL via l’indicateur –p pour le pas et –s pour le nom de la police. Les valeurs de pas admises vont de 1 à 100 caractères au pouce (cpi) (valeurs entières). L’indicateur d’impression condensé, –K, n’est pas pris en charge. Nom de la police Pas d’impression –s courier –p (1 à 100) –s courier–gras –p (1 à 100) –s courier–italique –p (1 à 100) –s courier–gras–italique –p (1 à 100) –s gothic –p (1 à 100) –s gothic–gras –p (1 à 100) –s gothic–italique –p (1 à 100) –s lineprinter –p 17 Remarque : Pour formater en ASCII d’autre styles de police, faites appel à l’utilitaire de cryptage AIX ou à la commande qprt avec l’indicateur –da vers une file d’attente Postscript. Par ailleurs, seul le pas 17 est pris en charge pour le style lineprinter. Par ailleurs, seul le pas 17 est pris en charge pour le style lineprinter. Imprimante, traceur et programmation du sous–système de spoulage 4-101 Classement En principe, l’option de ligne de commande –N permet de spécifier le nombre d’exemplaires souhaité. Cette méthode entraîne la soumission ou le placement en file d’attente sur le système d’impression de nombreux exemplaires du travail d’impression. Comme l’imprimante Optra K 1220 prend en charge le classement d’exemplaires multiples en interne, un certain nombre d’options ont été ajoutées pour gérer cette fonction et le nombre d’exemplaires en interne. Cette fonctionnalité est limitée par la quantité de mémoire installée sur votre imprimante et par la taille du travail d’impression. L’option –W# détermine le nombre d’exemplaires de chaque page souhaité, # correspondant au nombre d’exemplaires. L’option –S [!/+] détermine le classement éventuel. La valeur par défaut est ! (pas de classement). Les principaux avantages des options –W et –S sont qu’elles préservent l’utilisation du sous–système d’imprimante et permettent de laisser l’imprimante gérer plusieurs copies au lieu d’envoyer # copies à l’imprimante. La combinaison des options –S! et –W# permet également d’effectuer successivement # exemplaires de chaque, si cela est souhaité. Vous noterez qu’il est possible d’utiliser simultanément –N et –W. Ceci se traduirait par l’exécution de –N travaux d’impression avec –W exemplaires de chaque page dans chaque travail. Pages de séparation Les pages de séparation sont déterminées par l’indicateur –E. Les valeurs autorisées sont 0, 1, 2 et 3 qui correspondent respectivement à SANS, ENTRE COPIES, ENTRE TRAVAUX et ENTRE PAGES. La source du papier pour les pages de séparation est définie par l’attribut du fichier deux–points uS, qui est par défaut le PLATEAU 1. Les valeurs autorisées pour uS sont les mêmes que pour uH et uT, à ceci près que l’alimentation manuelle n’est pas admise. Pour modifier la valeur par défaut, l’attribut uS doit être modifié au niveau de l’imprimante virtuelle (voir les valeurs possibles dans les sources de papier ci–dessus). Lexmark Optra C Color LaserPrinter Impression de fichier couleur en mode d’émulation PCL 5 Pour imprimer des fichiers couleur, ou un travail quelconque préformaté en langage PCL, utilisez l’indicateur –dp de la commande qprt. Le programme dorsal AIX de l’imprimante passe alors en mode passe-système et vous devez l’utiliser chaque fois que vous imprimez à partir d’une application en émulation PCL. La file d’attente d’impression par défaut peut être modifiée en passe-système via l’attribut _d dans le fichier deux-points. Reportez-vous au manuel AIX Commands Reference, Volume 3 pour en savoir plus sur la commande lsvirprt. Source du papier 4-102 La sélection du papier source est prise en charge à la fois pour l’émulation PCL 5 et pour le langage PostScript, via l’indicateur –u de la commande qprt. PCL PostScript –u 1 Plateau du haut –u 1 Plateau du haut –u 2 Plateau du bas –u 2 Plateau du bas –u 3 chargeur –u 3 chargeur Imprimantes et impression Guide de l’utilisateur Format de papier La sélection du format de papier est prise en charge pour l’émulation PCL 5 via l’indicateur –Q de la commande qprt. Formats de papier Taille –Q 1 Letter (par défaut) –Q 2 Legal –Q 3 B5 –Q 4 A4 Pour changer le format par défaut, modifiez les attributs s1–s3 dans le fichier. Par exemple, pour définir A4 comme format de papier par défaut pour toutes les sources de papier, modifiez s1, s2, et s3 à 4. Les formats affectés respectivement aux plateaux du haut, du bas et au chargeur sont modifiés. Pas d’impression La sélection du pas d’impression est prise en charge par l’émulation PCL 5 via les indicateurs –p pour le pas et –s pour le nom de la police de la commande qprt. Les valeurs de pas admises vont de 1 et 100 caractères au pouce (cpi) (valeurs entières). L’indicateur d’impression condensé, –K, n’est pas pris en charge. Nom de la police Pas d’impression –s courier –p (1 à 100) –s courier–bold –p (1 à 100) –s courier–italic –p (1 à 100) –s courier–bold italic –p (1 à 100) –s gothic –p (1 à 100) –s gothic–bold –p (1 à 100) –s gothic–italic –p (1 à 100) –s lineprinter –p 17 Remarque : Pour formater en ASCII d’autres styles de police, faites appel à l’utilitaire de cryptage AIX ou à la commande qprt avec les indicateurs –da, –s et –p vers une file d’attente PostScript. Pour les files d’attente PostScript, –p correspond à la taille de point et la liste valide des polices se trouve dans /usr/lib/ps/fontmap. Les tailles de point valides sont les entiers compris entre 1 et 1008. Par ailleurs, seul un pas de 17 est pris en charge pour le style lineprinter. Imprimante, traceur et programmation du sous–système de spoulage 4-103 Classement L’imprimante Optra C prend en charge en interne le classement d’exemplaires multiples d’un travail d’impression. Cette fonction est contrôlée par les indicateurs –W et –S de la commande qprt. –S ! collation off –S+ classement activé –S+ nombre d’exemplaires Remarque : Cette fonction est indépendante de l’indicateur –N de la commande qprt. L’indicateur –N# envoie # fois le travail d’impression à l’imprimante. Avec –W#, le travail est envoyé une fois et imprimé # fois. Pages de séparation L’imprimante Optra C prend en charge en interne les pages de séparation. Cette fonction est contrôlée par l’indicateur –E de la commande qprt. –E 0 Sans –E 1 Entre exemplaires –E 2 Entre travaux –E 3 Entre pages La source du papier est, par défaut, le chargeur. Pour changer cette valeur par défaut, l’attribut uS doit être modifié au niveau de l’imprimante virtuelle. Les valeurs admises pour uS sont les mêmes que pour l’indicateur de la source du papier. Remarque : Cette fonction est indépendante de l’indicateur –B de la commande qprt. 4-104 Imprimantes et impression Guide de l’utilisateur Lexmark Optra E LaserPrinter Source du papier La sélection du papier source est prise en charge à la fois pour l’émulation PCL 5 et pour le langage PostScript, via l’indicateur –u de la commande qprt. PCL –u 1 alimentation manuelle –u 2 plateau du haut –u 3 plateau du bas Par défaut, les pages bannière et de fin arrivent par le plateau du haut. Pour changer la valeur par défaut, modifiez la valeur des attributs uH et/ou uT respectivement, dans le fichier deux-points, en leur affectant la valeur de la source souhaitée (s1–s3). Lancez la commande lsvirprt. Format de papier La sélection du format de papier est prise en charge pour l’émulation PCL 5 via les indicateurs –Q et –O de la commande qprt. Une valeur de 3 de l’indicateur –O indique du papier et une valeur de 4 des enveloppes. Les enveloppes ne sont pas admises dans le plateau 2. Formats de papier (–0 3) Formats d’enveloppe (–0 4) –Q 1 Letter 7 3/4 Monarch –Q 2 Legal 9 (Com 9) –Q 3 B5 papier 10 (Com 10) –Q 4 A4 DL –Q 5 Executive C5 –Q 6 A5 B5 Enveloppe –Q 7 Autre Enveloppe Remarque : Le fichier imprimante (optra_e.pcl) pour PCL 5 adopte par défaut le format de papier Letter. Pour changer le format par défaut, modifiez les attributs s1–s3 dans le fichier. Par exemple, pour définir A4 comme format de papier par défaut pour toutes les sources de papier, modifiez s1, s2, et s3 à 4. Les formats affectés respectivement aux plateaux du haut, du bas et au chargeur sont modifiés. Type de papier L’imprimante Optra E prend en charge les types de papier : brut, normal (par défaut), transparents, étiquettes et cartes via le paramètre –y de la commande qprt ou l’attribut _y dans le fichier deux-points. –y 1 Brut –y 2 Normal (par défaut) –y 3 Transparents –y 4 Étiquettes –y 5 Cartes Remarque : Ces valeurs ne s’appliquent qu’au papier et non aux enveloppes. Le plateau 2 n’admet que les valeurs brut et normal. Imprimante, traceur et programmation du sous–système de spoulage 4-105 Résolution d’impression L’imprimante Optra E accepte les résolutions d’impression de 300 et 600 ppi, via l’indicateur –q de la commande qprt. La valeur par défaut est 300 ppi. –q 300 600 –q Pas d’impression La sélection du pas d’impression est prise en charge par l’émulation PCL 5 via les indicateurs –p pour le pas et –s pour le nom de la police de la commande qprt. Les valeurs de pas admises vont de 1 et 100 caractères au pouce (cpi) (valeurs entières). L’indicateur d’impression condensé, –K, n’est pas pris en charge. Nom de la police Pas d’impression –s courier –p (1 à 100) –s courier–bold –p (1 à 100) –s courier–italic –p (1 à 100) –s courier–bold italic –p (1 à 100) –s gothic –p (1 à 100) –s gothic–bold –p (1 à 100) –s gothic–italic –p (1 à 100) –s lineprinter –p 17 Remarque : Pour formater en ASCII d’autres styles de police, faites appel à l’utilitaire de cryptage AIX ou à la commande qprt avec les indicateurs –da, –s et –p vers une file d’attente PostScript. Pour les files d’attente PostScript, –p correspond à la taille de point et la liste valide des polices se trouve dans /usr/lib/ps/fontmap. Les tailles de point valides sont les entiers compris entre 1 et 1008. Par ailleurs, seul un pas de 17 est pris en charge pour le style lineprinter. Nombre d’exemplaires de chaque page 4-106 L’indicateur –W permet à l’utilisateur de contrôler le nombre d’exemplaires de chaque générés par l’imprimante elle-même. Par exemple, si un travail de trois pages est soumis avec l’indicateur –W de la commande –qprt, 2 exemplaires de la page 1, suivis de 2 exemplaires de la page 2, suivis de 2 exemplaires de la page sont imprimés. La valeur par défaut est 1, la valeur maximale de 999. Imprimantes et impression Guide de l’utilisateur Lexmark Optra N LaserPrinter Source du papier La sélection du papier source est prise en charge à la fois pour l’émulation PCL (R) 5 améliorée et pour l’émulation PostScript Level 2, via l’indicateur –u de la commande qprt. Il existe plusieurs sources d’entrée en option (reportez-vous à la documentation de l’imprimante pour déterminer lesquelles sont installées). Les sources d’entrée en option s’appliquent quelles que soient celles qui sont installées. Si l’une n’est pas présente, c’est l’option par défaut qui s’appliquera. Le numéro de la source d’entrée est identique pour PCL et pour PostScript : –u 0 alimentation manuelle –u 1 plateau 1 –u 2 plateau 2 –u 3 plateau 3 –u 4 chargeur d’enveloppes –u 5 plateau multifonction Imprimante, traceur et programmation du sous–système de spoulage 4-107 Format de papier La sélection du format de papier est prise en charge via les indicateurs –Q et –O de la commande qprt. L’indicateur –O détermine s’il s’agit de papier ou d’enveloppes. La valeur 3 indique un format de papier et 4 un format d’enveloppe. Les valeurs 1 et 2 ont été sautées pour des raisons de compatibilité ascendante. Ces cinq formats de papier sont également numérotés pour des raisons de compatibilité ascendante. Si vous sélectionnez une valeur non admise pour la source d’entrée, elle est ignorée. La valeur par défaut de –O est 3 (papier). La valeur par défaut de –Q est 1 (Letter) pour les formats de papier et Monarch pour les formats d’enveloppe. Formats de papier (–0 3) Formats d’enveloppe (–0 4) –Q 1 Letter 7 3/4 Monarch –Q 2 Legal 9 (Com 9) –Q 3 B5 papier 10 (Com 10) –Q 4 A4 DL –Q 5 Executive C5 –Q 6 A5 B5 (enveloppe) –Q 7 B4 Autre enveloppe (MPT seulement) –Q 8 A3 –Q 9 Ledger (11x17) –Q 10 Personnalisé (11,69x17,69) Pour changer les valeurs par défaut, modifiez les attributs s0 – s5 pour chaque valeur d’entrée valide. Dans la mesure où l’alimentation manuelle, le chargeur d’enveloppes et le plateau multifonction prennent en charge à la fois les feuilles et les enveloppes, pour changer les valeurs par défaut, éditez s0, s4 ou s5. Pour ces trois éléments, la valeur par défaut pour les feuilles est la partie ”else” (%e1), et la valeur par défaut pour les enveloppes est a partie ”then” (%t3). Remarques : 1. Les enveloppes ne sont acceptées qu’en chargement manuel, ou via le chargeur d’enveloppes ou le plateau multifonction. 2. Les plateaux 1, 2 et 3 n’acceptent que des feuilles. 3. Le plateau multifonction (MPT) accepte les feuilles et les enveloppes. 4. Le plateau 1 accepte les formats –Q 1, 2, 4 et 7 (Letter, Legal, A4 et B4). 5. Les plateaux 2 et 3 acceptent les formats –Q 1, 2, 4, 7, 8, 9 (Letter, Legal, A4, B4, A3, Ledger). 6. Le plateau multifonction (MPT) accepte tous les formats de papier et d’enveloppes. 7. Seul le plateau multifonction accepte la taille d’enveloppe ”autre”. 8. Les valeurs par défaut de l’imprimante et du fichier deux-points sont Letter pour les États-Unis et A4 pour l’Europe pour le format de papier, et COM10 pour les États-Unis et DL pour l’Europe pour le format d’enveloppe. 4-108 Imprimantes et impression Guide de l’utilisateur 9. Si vous sélectionnez une valeur non admise pour la source d’entrée, une erreur est générée. 10.Si le format sélectionné ne se trouve pas dans la source d’alimentation sélectionnée (format incorrect ou vide), une séquence de recherche est utilisée pour trouver le format requis. Pour en savoir plus, reportez-vous à la documentation de votre imprimante. Pas d’impression La sélection du pas d’impression est prise en charge par l’émulation PCL 5 via les indicateurs –p pour le pas et –s pour le nom de la police de la commande qprt. Les valeurs de pas admises vont de 1 et 100 caractères au pouce (cpi) (valeurs entières). L’indicateur d’impression condensé, –K, n’est pas pris en charge. Nom de la police Pas d’impression –s courier –p (1 à 100) –s courier–bold –p (1 à 100) –s courier–italic –p (1 à 100) –s courier–bold italic –p (1 à 100) –s gothic –p (1 à 100) –s gothic–bold –p (1 à 100) –s gothic–italic –p (1 à 100) –s lineprinter –p 17 Remarque : Pour formater en ASCII d’autres styles de police, faites appel à l’utilitaire de cryptage AIX ou à la commande qprt avec les indicateurs –da, –s et –p vers une file d’attente PostScript. Pour les files d’attente PostScript, –p correspond à la taille de point et la liste valide des polices se trouve dans /usr/lib/ps/fontmap. Les tailles de point valides sont les entiers compris entre 1 et 1008. Par ailleurs, seul un pas de 17 est pris en charge pour le style lineprinter. Mode duplex La fonction duplex en option est prise en charge via l’indicateur –Y de la commande qprt. –Y 0 simple –Y 1 duplex, reliure sur grand côté –Y 2 duplex, reliure sur petit côté Imprimante, traceur et programmation du sous–système de spoulage 4-109 Classement et nombre d’exemplaires L’imprimante Optra N prend en charge en interne le classement d’exemplaires multiples d’un travail d’impression. Cette fonction est contrôlée par les indicateurs –W et –S de la commande qprt. –S ! collation off –S+ classement activé –W # nombre d’exemplaires Remarques : 1. Cette fonction est indépendante de l’indicateur –N de la commande qprt. L’indicateur –N# envoie # fois le travail d’impression à l’imprimante. Avec –W#, le travail est envoyé une fois et imprimé # fois. 2. Cette fonction est limitée par la taille de la mémoire installée dans l’imprimante et la taille du travail d’impression. Pages de séparation L’imprimante Optra N prend en charge en interne les pages de séparation. Cette fonction est contrôlée par l’indicateur –E de la commande qprt. –E 0 Sans –E 1 Entre exemplaires –E 2 Entre travaux –E 3 Entre pages La source de papier par défaut est le plateau 1. Pour changer la valeur par défaut, modifiez l’attribut uS dans l’imprimante virtuelle. Les valeurs valides de uS sont : uS 1 plateau 1 uS 2 plateau 2 uS 3 plateau 3 uS 4 chargeur d’enveloppes uS 5 plateau multifonction Remarque : Cette fonction est indépendante de l’indicateur –B de la commande qprt. Bac de sortie Le signe égal (=) est l’option ligne de commande pour spécifier la destination de la sortie. Les valeurs possibles sont les suivantes : 0 bac supérieur de l’imprimante 1 bac 1 du finisseur 2 bac 2 du finisseur 3 bac 3 du finisseur 50 bac latéral de l’imprimante Le plateau supérieur de l’imprimante 0 est le bac de sortie par défaut. Remarque : Si vous sélectionnez le bac latéral et que l’option finisseur est installée, la sortie est dirigée vers le bac actif. 4-110 Imprimantes et impression Guide de l’utilisateur Face vers le haut et face vers le bas Agrafage Décalage de travail L’indicateur –U contrôle si les feuilles arrivent dans le finisseur face vers le haut ou vers le bas. Remarque : Les feuilles réceptionnées dans le bac supérieur de l’imprimante sont toujours face vers le bas. La valeur + (vrai), valeur par défaut, indique face vers le bas. La valeur! (faux) indique face vers le haut. Si vous sélectionnez face vers le haut, l’agrafage (–y) et le décalage des travaux (–e) sont ignorés. L’option –y contrôle l’agrafage. Seuls certains formats de papier sont acceptés avec chaque valeur de cet indicateur. Il existe en outre plusieurs règles sur les quantités et les destinations. Pour en savoir plus sur tous les cas de figure, reportez-vous à la documentation de l’imprimante. Les valeurs possibles sont les suivantes : 0 pas d’agrafage (par défaut) 1 une agrafe (en haut à gauche) 2 deux agrafes (côté gauche) L’indicateur –e contrôle si la première page de chaque travail est décalée dans le bac du finisseur. La première page est décalée de 1,7 pouces vers l’avant du finisseur. La fonction de décalage est ignorée si l’agrafage est demandé. Les feuilles de séparation peuvent être sélectionnées indépendamment du décalage. Les valeurs possibles sont les suivantes : + décalage des travaux ACTIF décalage des travaux DESACTIVE (valeur par défaut) ! Lexmark Optra E310 LaserPrinter Rotation des pages La sélection de la rotation des pages est prise en charge pour l’émulation PCL 5 via l’indicateur –z de la commande qprt. –z 0 Portrait –z 1 Paysage Source du papier La sélection de la source du papier est prise en charge à la fois pour l’émulation PCL 5 améliorée et pour le langage PostScript Level 2, via l’indicateur –u de la commande qprt. Le numéro de la source du papier est identique pour PCL et PostScript : –u 0 alimentation manuelle –u 1 plateau 1 Par défaut, les pages bannière et de fin arrivent par le palteau du haut. Pour changer la valeur par défaut, modifiez la valeur des attributsuH et/ou uTrespectivement, dans le fichier deux–points, en leur affectant la valeur de la source souhaitée. Les valeurs autorisées sont les mêmes que pour l’indicateur –u. Il vous suffit d’éditer le fichier deux–points de l’imprimante virtuelle à l’aide de la commande chvirprt. Imprimante, traceur et programmation du sous–système de spoulage 4-111 Format de papier La sélection du format de papier est prise en charge via les indicateurs –O et –Q de la commande qprt. L’indicateur –O détermine s’il s’agit de papier ou d’enveloppes. La valeur –O 3 indique un format de papier et la valeur 4, un format d’enveloppe. Formats de papier (–0 3) Formats d’enveloppes (–0 4) –Q 1 Letter 7 3/4 Monarch –Q 2 Legal 9 (Com 9) –Q 3 B5 10 (Com 10) –Q 4 A4 DL –Q 5 Executive C5 –Q 6 A5 B5 Enveloppe –Q 7 Autre Enveloppe (MPT uniquement) Pour changer les valeurs par défaut, modifiez les valeurs des attributs s1, s3 dans le fichier deux–points lexOptraE310.pcl. La valeur par défaut pour le papier est 1 (Letter) et la valeur par défaut pour les enveloppes est 3 (Com 10). La valeur pour le papier correspond à la partie else (%e1) des attributs s1 et s3, tandis que la valeur pour les enveloppes correspond à la partie then (%t3). Type de papier L’imprimante Optra E310 prend en charge les types de papier BRUT, NORMAL (par défaut), TRANSPARENTS, ETIQUETTES et CARTES via le paramètre –y de la commande qprt ou l’attribut –y dans le fichier deux–points. Les valeurs possibles pour –y vont de 1 à 5 et sont présentées ci–dessous : –y 1 Brut –y 2 Normal –y 3 Transparents –y 4 Etiquettes –y 5 Cartes Remarque : Ces valeurs ne s’appliquent pas aux enveloppes. 4-112 Imprimantes et impression Guide de l’utilisateur Pas d’impression La sélection du pas d’impression est assurée par l’émulation PCL via l’indicateur –p pour le pas et –s pour le nom de la police de la commande qprt. Les valeurs de pas admises vont de 1 à 100 caractères au pouce (cpi) (valeurs entières). L’indicateur d’impression condensé, –K, n’est pas pris en charge. Nom de la police Pas d’impression –s courier –p (1 à 100) –s courier–gras –p (1 à 100) –s courier–italique –p (1 à 100) –s courier–gras–italique –p (1 à 100) –s gothic –p (1 à 100) –s gothic–gras –p (1 à 100) –s gothic–italique –p (1 à 100) –s lineprinter –p 17 Remarque : Pour formater en ASCII d’autres styles de police, faites appel à l’utilitaire de cryptage AIX ou à la commande qprt avec les indicateurs –da, –s et –p vers une file d’attente PostScript. Pour les files d’attente PostScript, –p correspond à la taille de point et la liste valide des polices se trouve dans /usr/lib/ps/fontmap. Les tailles de point valides sont les entiers compris entre 1 et 1008. Par ailleurs, seul le pas 17 est pris en charge pour le style lineprinter. Nombre d’exemplaires de chaque page L’indicateur –W de la commande qprt détermine le nombre d’exemplaires de chaque page qui seront imprimés. La valeur par défaut est de 1, la valeur maximale de 999. –w # nombre d’exemplaires Exemple : Si un travail de trois pages est soumis avec l’indicateur –W2 de la commande qprt, deux exemplaires de la page 1, suivis de deux exemplaires de la page 2, suivis de deux exemplaires de la page 3 sont imprimés, dans cet ordre. Imprimante, traceur et programmation du sous–système de spoulage 4-113 Lexmark Optra M410 LaserPrinter Rotation des pages La sélection de la rotation des pages est prise en charge pour l’émulation PCL 5e via l’indicateur –z de la commande qprt. –z 0 Portrait –z 1 Paysage Source du papier La sélection de la source du papier est prise en charge à la fois pour l’émulation PCL (R) 5e et pour l’émulation PostScript Level 2 , via l’indicateur –u de la commande qprt. Plusieurs sources de papier sont possibles en option (consultez votre manuel pour savoir quelles sources ont été installées sur votre imprimante) Ces nombres s’appliquent que la source de papier ait été installée ou non. Si l’une d’elles est absente et que le numéro correspondant est choisi, la source utilisée sera la source par défaut définie dans le manuel de l’utilisateur. Le numéro de la source du papier est identique pour PCL et PostScript : –u 0 alimentation manuelle –u 1 plateau 1 –u 2 plateau 2 –u 3 plateau multi–usage Par défaut, les pages bannière et de fin arrivent par le plateau 1. Pour changer la valeur par défaut, modifiez la valeur des attributs uH et/ou uT respectivement, au niveau de l’imprimante virtuelle, en leur affectant la valeur de la source souhaitée. Les valeurs autorisées sont les mêmes que pour l’indicateur –u. Il vous suffit d’éditer le fichier deux–points de l’imprimante virtuelle à l’aide de la commande chvirprt. 4-114 Imprimantes et impression Guide de l’utilisateur Format de papier La sélection du format de papier est assurée par l’un ou les deux indicateurs de la commande qprt, –O et –Q. L’indicateur –O détermine s’il s’agit de papier ou d’enveloppes. La valeur –O 3 indique un format de papier et la valeur 4, un format d’enveloppe. Les valeurs 1 et 2 ont été omises par souci de compatibilité amont. Les enveloppes ne sont possibles qu’avec une alimentation manuelle, un chargeur d’enveloppes ou le plateau multi–usage. La valeur par défaut de –Q est 1 (Letter) pour les formats de papier et 3 ou Com10 pour les formats d’enveloppe. Pour changer les valeurs par défaut, modifiez les attributs s0 – s7 respectivement pour chaque source d’alimentation valide. Comme l’alimentation manuelle et le plateau multi–usage acceptent papier et enveloppes, la valeur par défaut pour le papier correspond à la partie else (%e1) et la valeur par défaut pour les enveloppes à la partie then (%t3) de s0 et s7. Formats de papier (–O 3) Formats d’enveloppes (–O 4) –Q 1 Letter 7 3/4 Monarch –Q 2 Legal 9 (Com 9) –Q 3 B5 (JIS B5) 10 (Com 10) –Q 4 A4 DL –Q 5 Executive C5 –Q 6 A5 B5 Enveloppe –Q 7 Personnalisé (Universal) Autre Enveloppe Remarque : Pour les files d’attente PCL, si le format sélectionné ne figure pas dans la source d’entrée sélectionnée, une séquence de recherche sera mise en œuvre pour localiser le format demandé. Si le format est détecté, la source correspondante sera utilisée. Pour les files d’attente PostScript, si le format sélectionné ne figure pas dans la source d’entrée sélectionnée, l’imprimante invite l’utilisateur à charger le format de papier approprié dans la source sélectionnée. Le résultat peut alors se traduire par l’utilisation d’une source de papier inattendue ou l’affichage d’un message elliptique sur le panneau opérateur. Pour déterminer la réponse appropriée, reportez–vous au manuel. Imprimante, traceur et programmation du sous–système de spoulage 4-115 Pas d’impression La sélection du pas d’impression est assurée par l’émulation PCL 5 via l’indicateur –p pour le pas et –s pour le nom de la police de la commande qprt. Les valeurs de pas admises vont de 1 à 100 caractères au pouce (cpi) (valeurs entières). L’indicateur d’impression condensé, –K, n’est pas pris en charge. Nom de la police Pas d’impression –s courier –p (1 à 100) –s courier–gras –p (1 à 100) –s courier–italique –p (1 à 100) –s courier–gras–italique –p (1 à 100) –s gothic –p (1 à 100) –s gothic–gras –p (1 à 100) –s gothic–italique –p (1 à 100) –s lineprinter –p 17 Remarque : Pour formater en ASCII d’autre styles de police, faites appel à l’utilitaire de cryptage AIX ou à la commande qprtavec l’indicateur –da vers une file d’attente PostScript. Par ailleurs, seul le pas 17 est pris en charge pour le style lineprinter. 4-116 Classement En principe, l’option de ligne de commande –N permet de spécifier le nombre d’exemplaires souhaité. Cette méthode entraîne la soumission ou le placement en file d’attente sur le système d’impression de nombreux exemplaires du travail d’impression. Comme l’imprimante Optra 410 prend en charge le classement d’exemplaires multiples en interne, un certain nombre d’options ont été ajoutées pour gérer cette fonction et le nombre d’exemplaires en interne. Cette fonctionnalité est limitée par la quantité de mémoire installée sur votre imprimante et par la taille du travail d’impression. L’option –W# détermine le nombre d’exemplaires de chaque page souhaité, # correspondant au nombre d’exemplaires. L’option –S [!/+] détermine le classement éventuel. La valeur par défaut est ! (pas de classement). Les principaux avantages des options –W et –S sont qu’elles préservent l’utilisation du sous–système d’imprimante et permettent de laisser l’imprimante gérer plusieurs copies au lieu d’envoyer # copies à l’imprimante. La combinaison des options –S! et –W# permet également d’effectuer successivement # exemplaires de chaque, si cela est souhaité. Vous noterez qu’il est possible d’utiliser simultanément –N et –W. Ceci se traduirait par l’exécution de –N travaux d’impression avec –W exemplaires de chaque page dans chaque travail. Pages de séparation Les pages de séparation sont déterminées par l’indicateur –E. Les valeurs autorisées sont 0, 1, 2 et 3, qui correspondent respectivement à SANS, ENTRE COPIES, ENTRE TRAVAUX, et ENTRE PAGES. La source du papier pour la page de séparation est par défaut le PLATEAU 1 et elle est définie par l’attribut uS. Les valeurs autorisées pour uS sont les mêmes que pour les pages d’en–tête et de fin (uH et uT respectivement), à ceci près que l’alimentation manuelle n’est pas admise. Pour modifier la valeur par défaut, l’attribut uS doit être modifié au niveau de l’imprimante virtuelle (voir la commande chvirprt). Imprimantes et impression Guide de l’utilisateur Lexmark Optra Se LaserPrinter Rotation des pages La sélection de la rotation des pages est prise en charge pour l’émulation PCL 5e via l’indicateur –z de la commande qprt. –z 0 Portrait –z 1 Paysage Source du papier La sélection de la source du papier est prise en charge à la fois pour l’émulation PCL (R) 5e et pour l’émulation PostScript Level 2 , via l’indicateur –u de la commande qprt. Plusieurs sources de papier sont possibles en option (consultez votre manuel pour savoir quelles sources ont été installées sur votre imprimante) Ces nombres s’appliquent que la source de papier ait été installée ou non. Si l’une d’elles est absente et que le numéro correspondant est choisi, la source utilisée sera la source par défaut définie dans le manuel de l’utilisateur. Le numéro de la source du papier est identique pour PCL et PostScript : –u 0 alimentation manuelle –u 1 plateau 1 –u 2 plateau 2 –u 3 plateau 3 –u 4 plateau 4 –u 5 plateau 5 –u 6 chargeur d’enveloppes –u 7 plateau multi–usage Par défaut, les pages bannière et de fin arrivent par le plateau 1. Pour changer la valeur par défaut, modifiez la valeur des attributs uH et/ou uT respectivement, au niveau de l’imprimante virtuelle, en leur affectant la valeur de la source souhaitée. Les valeurs autorisées sont les mêmes que pour l’indicateur –u. Il vous suffit d’éditer le fichier deux–points de l’imprimante virtuelle à l’aide de la commande chvirprt. Imprimante, traceur et programmation du sous–système de spoulage 4-117 Format de papier La sélection du format de papier est prise en charge via les indicateurs –O et –Q de la commande qprt. L’indicateur –O détermine s’il s’agit de papier ou d’enveloppes. La valeur –O 3 indique un format de papier et la valeur 4, un format d’enveloppe. Les valeurs 1 et 2 ont été omises par souci de compatibilité amont. Les enveloppes ne sont possibles qu’avec une alimentation manuelle, un chargeur d’enveloppes ou le plateau multi–usage. La valeur par défaut de –Q est 1 (Letter) pour les formats de papier et 3 ou Com10 pour les formats d’enveloppe. Pour changer les valeurs par défaut, modifiez les attributs s0 – s7 respectivement pour chaque source d’alimentation valide. Comme l’alimentation manuelle et le plateau multi–usage acceptent papier et enveloppes, la valeur par défaut pour le papier correspond à la partie else (%e1) et la valeur par défaut pour les enveloppes à la partie then (%t3) de s0 et s7. Formats de papier (–O 3) Formats d’enveloppes (–O 4) –Q 1 Letter 7 3/4 Monarch –Q 2 Legal 9 (Com 9) –Q 3 B5 (JIS B5) 10 (Com 10) –Q 4 A4 DL –Q 5 Executive C5 –Q 6 A5 B5 Enveloppe –Q 7 Personnalisé (Universal) Autre Enveloppe Remarque : Pour les files d’attente PCL, si le format sélectionné ne figure pas dans la source d’entrée sélectionnée, une séquence de recherche sera mise en œuvre pour localiser le format demandé. Si le format est détecté, la source correspondante sera utilisée. Pour les files d’attente PostScript, si le format sélectionné ne figure pas dans la source d’entrée sélectionnée, l’imprimante invite l’utilisateur à charger le format de papier approprié dans la source sélectionnée. Le résultat peut alors se traduire par l’utilisation d’une source de papier inattendue ou l’affichage d’un message elliptique sur le panneau opérateur. Pour déterminer la réponse appropriée, reportez–vous au manuel. Type de papier 4-118 Les imprimantes Optra Se prennent en charge les types de papier suivants : Normal (par défaut), Brut, Transparents, Cartes, Etiquettes, Papier à en–tête, Pré–imprimés, Papiers colorés, Enveloppes (par défaut pour le chargeur d’enveloppes) et Type personnalisé x, où x peut aller de 1 à 6. Le fichier deux–points ne tente pas de définir les valeurs et utilise la définition de l’imprimante pour cette source de papier. L’utilisateur doit s’assurer que le type de papier adéquat a été chargé dans la source spécifiée. Imprimantes et impression Guide de l’utilisateur Pas d’impression La sélection du pas d’impression est assurée par l’émulation PCL 5 via l’indicateur –p pour le pas et –s pour le nom de la police de la commande qprt. Les valeurs de pas admises vont de 1 à 100 caractères au pouce (cpi) (valeurs entières). L’indicateur d’impression condensé, –K, n’est pas pris en charge. Nom de la police Pas d’impression –s courier –p (1 à 100) –s courier–gras –p (1 à 100) –s courier–italique –p (1 à 100) –s courier–gras–italique –p (1 à 100) –s gothic –p (1 à 100) –s gothic–gras –p (1 à 100) –s gothic–italique –p (1 à 100) –s lineprinter –p 17 Remarque : Pour formater en ASCII d’autre styles de police, faites appel à l’utilitaire de cryptage AIX ou à la commande qprtavec l’indicateur –da vers une file d’attente PostScript. Par ailleurs, seul le pas 17 est pris en charge pour le style lineprinter. Mode duplex La fonction duplex est prise en charge via l’indicateur –Y de la commandeqprt. Classement 0 simple 1 duplex, reliure sur grand côté 2 duplex, reliure sur petit côté En principe, l’option de ligne de commande –N permet de spécifier le nombre d’exemplaires souhaité. Cette méthode entraîne la soumission ou le placement en file d’attente sur le système d’impression de nombreux exemplaires du travail d’impression. Comme l’imprimante Optra Se prend en charge le classement d’exemplaires multiples en interne, un certain nombre d’options ont été ajoutées pour gérer cette fonction et le nombre d’exemplaires en interne. Cette fonctionnalité est limitée par la quantité de mémoire installée sur votre imprimante et par la taille du travail d’impression. L’option –W# détermine le nombre d’exemplaires de chaque page souhaité, # correspondant au nombre d’exemplaires. L’option –S [!/+] détermine le classement éventuel. La valeur par défaut est ! (pas de classement). Les principaux avantages des options –W et –S sont qu’elles préservent l’utilisation du sous–système d’imprimante et permettent de laisser l’imprimante gérer plusieurs copies au lieu d’envoyer # copies à l’imprimante. La combinaison des options –S! et –W# permet également d’effectuer successivement # exemplaires de chaque, si cela est souhaité. Vous noterez qu’il est possible d’utiliser simultanément –N et –W. Ceci se traduirait par l’exécution de –N travaux d’impression avec –W exemplaires de chaque page dans chaque travail. Imprimante, traceur et programmation du sous–système de spoulage 4-119 Pages de séparation Les pages de séparation sont déterminées par l’indicateur –E. Les valeurs autorisées sont 0, 1, 2 et 3, qui correspondent respectivement à SANS, ENTRE COPIES, ENTRE TRAVAUX, et ENTRE PAGES. La source du papier pour la page de séparation est par défaut le PLATEAU 1 et elle est définie par l’attribut uS. Les valeurs autorisées pour uS sont les mêmes que pour les pages d’en–tête et de fin (uH et uT respectivement), à ceci près que l’alimentation manuelle n’est pas admise. Pour modifier la valeur par défaut, l’attribut uS doit être modifié au niveau de l’imprimante virtuelle (voir la commande chvirprt). Bac de sortie Le signe égal (–=) est l’option ligne de command epermettant de spécifier la destination de la sortie. Les valeurs possibles sont les suivantes : 0 Bac standard 1 Bac 1 2 Bac 2 3 Bac 3 50 Bac actif Le bac de sortie par défaut est le bac standard (0). Notez que si le bac actif est sélectionné, l’imprimante sélectionnera le bac en fonction de l’état du détecteur de capacité des bacs de sortie et du paramètre de configuration des bacs dans le panneau opérateur dans le MENU PAPIER. Pour connaître le mode de réponse de l’imprimante, reportez–vous au manuel de votre imprimante. 4-120 Imprimantes et impression Guide de l’utilisateur Gamme Lexmark Optra T LaserPrinter Rotation des pages La sélection de la rotation des pages est prise en charge pour l’émulation PCL 5e via l’indicateur –z de la commande qprt. –z 0 Portrait –z 1 Paysage Source du papier La sélection de la source du papier est prise en charge à la fois pour l’émulation PCL (R) 5e et pour l’émulation PostScript Level 2 , via l’indicateur –u de la commande qprt. Plusieurs sources de papier sont possibles en option (consultez votre manuel pour savoir quelles sources ont été installées sur votre imprimante) Ces nombres s’appliquent que la source de papier ait été installée ou non. Si l’une d’elles est absente et que le numéro correspondant est choisi, la source utilisée sera la source par défaut définie dans le manuel de l’utilisateur. Le numéro de la source du papier est identique pour PCL et PostScript : –u 0 alimentation manuelle –u 1 plateau 1 –u 2 plateau 2 –u 3 plateau 3 –u 4 plateau 4 –u 5 plateau 5 –u 6 chargeur d’enveloppes –u 7 plateau multi–usage Par défaut, les pages bannière et de fin arrivent par le plateau 1. Pour changer la valeur par défaut, modifiez la valeur des attributs uH et/ou uT respectivement, au niveau de l’imprimante virtuelle, en leur affectant la valeur de la source souhaitée. Les valeurs autorisées sont les mêmes que pour l’indicateur –u. Il vous suffit d’éditer le fichier deux–points de l’imprimante virtuelle à l’aide de la commande chvirprt. Imprimante, traceur et programmation du sous–système de spoulage 4-121 Format de papier La sélection du format de papier est prise en charge via les indicateurs –O et –Q de la commande qprt. L’indicateur –O détermine s’il s’agit de papier ou d’enveloppes. La valeur –O 3 indique un format de papier et la valeur 4, un format d’enveloppe. Les valeurs 1 et 2 ont été omises par souci de compatibilité amont. Les enveloppes ne sont possibles qu’avec une alimentation manuelle, un chargeur d’enveloppes ou le plateau multi–usage. La valeur par défaut de –Q est 1 (Letter) pour les formats de papier et 3 ou Com10 pour les formats d’enveloppe. Pour changer les valeurs par défaut, modifiez les attributs s0 – s7 respectivement pour chaque source d’alimentation valide. Comme l’alimentation manuelle et le plateau multi–usage acceptent papier et enveloppes, la valeur par défaut pour le papier correspond à la partie else (%e1) et la valeur par défaut pour les enveloppes à la partie then (%t3) de s0 et s7. Formats de papier (–0 3) Formats d’enveloppes (–0 4) –Q 1 Letter 7 3/4 Monarch –Q 2 Legal 9 (Com 9) –Q 3 B5 (JIS B5) 10 (Com 10) –Q 4 A4 DL –Q 5 Executive C5 –Q 6 A5 B5 Enveloppe –Q 7 Personnalisé (Universal) Autre Enveloppe Remarque : Pour les files d’attente PCL, si le format sélectionné ne figure pas dans la source d’entrée sélectionnée, une séquence de recherche sera mise en œuvre pour localiser le format demandé. Si le format est détecté, la source correspondante sera utilisée. Pour les files d’attente PostScript, si le format sélectionné ne figure pas dans la source d’entrée sélectionnée, l’imprimante invite l’utilisateur à charger le format de papier approprié dans la source sélectionnée. Le résultat peut alors se traduire par l’utilisation d’une source de papier inattendue ou l’affichage d’un message elliptique sur le panneau opérateur. Pour déterminer la réponse appropriée, reportez–vous au manuel. Type de papier 4-122 Les imprimantes Optra T prennent en charge les types de papier suivants : Normal (par défaut), Brut, Transparents, Cartes, Etiquettes, Papier à en–tête, Pré–imprimés, Papiers colorés, Enveloppes (par défaut pour le chargeur d’enveloppes) et Type personnalisé x, où x peut aller de 1 à 6. Le fichier deux–points ne tente pas de définir les valeurs et utilise la définition de l’imprimante pour cette source de papier. L’utilisateur doit s’assurer que le type de papier adéquat a été chargé dans la source spécifiée. Imprimantes et impression Guide de l’utilisateur Pas d’impression La sélection du pas d’impression est assurée par l’émulation PCL via l’indicateur –p pour le pas et –s pour le nom de la police de la commande qprt. Les valeurs de pas admises vont de 1 à 100 caractères au pouce (cpi) (valeurs entières). L’indicateur d’impression condensé, –K, n’est pas pris en charge. Nom de la police Pas d’impression –s courier –p (1 à 100) –s courier–gras –p (1 à 100) –s courier–italique –p (1 à 100) –s courier–gras–italique –p (1 à 100) –s gothic –p (1 à 100) –s gothic–gras –p (1 à 100) –s gothic–italique –p (1 à 100) –s lineprinter –p 17 Remarque : Pour formater en ASCII d’autre styles de police, faites appel à l’utilitaire de cryptage AIX ou à la commande qprtavec l’indicateur –da vers une file d’attente PostScript. Par ailleurs, seul le pas 17 est pris en charge pour le style lineprinter. Mode duplex La fonction duplex est prise en charge via l’indicateur –Y de la commandeqprt. Classement 0 simple 1 duplex, reliure sur grand côté 2 duplex, reliure sur petit côté En principe, l’option de ligne de commande –N permet de spécifier le nombre d’exemplaires souhaité. Cette méthode entraîne la soumission ou le placement en file d’attente sur le système d’impression de nombreux exemplaires du travail d’impression. Comme l’imprimante Optra T prend en charge le classement d’exemplaires multiples en interne, un certain nombre d’options ont été ajoutées pour gérer cette fonction et le nombre d’exemplaires en interne. Cette fonctionnalité est limitée par la quantité de mémoire installée sur votre imprimante et par la taille du travail d’impression. L’option –W# détermine le nombre d’exemplaires de chaque page souhaité, # correspondant au nombre d’exemplaires. L’option –S [!/+] détermine le classement éventuel. La valeur par défaut est ! (pas de classement). Les principaux avantages des options –W et –S sont qu’elles préservent l’utilisation du sous–système d’imprimante et permettent de laisser l’imprimante gérer plusieurs copies au lieu d’envoyer # copies à l’imprimante. La combinaison des options –S! et –W# permet également d’effectuer successivement # exemplaires de chaque, si cela est souhaité. Vous noterez qu’il est possible d’utiliser simultanément –N et –W. Ceci se traduirait par l’exécution de –N travaux d’impression avec –W exemplaires de chaque page dans chaque travail. Imprimante, traceur et programmation du sous–système de spoulage 4-123 Pages de séparation Les pages de séparation sont déterminées par l’indicateur –E. Les valeurs autorisées sont 0, 1, 2 et 3, qui correspondent respectivement à SANS, ENTRE COPIES, ENTRE TRAVAUX, et ENTRE PAGES. La source du papier pour la page de séparation est par défaut le PLATEAU 1 et elle est définie par l’attribut uS. Les valeurs autorisées pour uS sont les mêmes que pour les pages d’en–tête et de fin (uH et uT respectivement), à ceci près que l’alimentation manuelle n’est pas admise. Pour modifier la valeur par défaut, l’attribut uS doit être modifié au niveau de l’imprimante virtuelle (voir la commande chvirprt). Bac de sortie Le signe égal (–=) est l’option ligne de command epermettant de spécifier la destination de la sortie. Les valeurs possibles sont les suivantes : 0 Bac standard 1 Bac 1 2 Bac 2 3 Bac 3 4 Bac 4 5 Bac 5 6 Bac 6 7 Bac 7 8 Bac 8 9 Bac 9 10 Bac 10 Le bac de sortie par défaut est le bac standard (0). 4-124 Imprimantes et impression Guide de l’utilisateur Lexmark Optra W810 LaserPrinter Rotation des pages La sélection de la rotation des pages est prise en charge pour l’émulation PCL 5 via l’indicateur –z de la commande qprt. –z 0 Portrait –z 1 Paysage Source du papier La sélection de la source du papier est prise en charge à la fois pour l’émulation PCL (R) 5 et pour l’émulation PostScript Level 2 , via l’indicateur –u de la commande qprt. Plusieurs sources de papier sont possibles en option (consultez votre manuel pour savoir quelles sources ont été installées sur votre imprimante) Ces nombres s’appliquent que la source de papier ait été installée ou non. Si l’une d’elles est absente et que le numéro correspondant est choisi, la source utilisée sera la source par défaut définie dans le manuel de l’utilisateur. Le numéro de la source du papier est identique pour PCL et PostScript : –u 0 alimentation manuelle –u 1 plateau 1 –u 2 plateau 2 –u 3 plateau 3 –u 4 plateau 4 Par défaut, les pages bannière et de fin arrivent par le plateau du haut. Pour changer la valeur par défaut, modifiez la valeur des attributsuH et/ou uTrespectivement, dans le fichier deux–points, en leur affectant la valeur de la source souhaitée. Les valeurs autorisées sont les mêmes que pour l’indicateur –u. Il vous suffit d’éditer le fichier deux–points de l’imprimante virtuelle à l’aide de la commande chvirprt. Imprimante, traceur et programmation du sous–système de spoulage 4-125 Format de papier La sélection du format de papier est prise en charge via l’indicateur –Q de la commande qprt. Les cinq premiers formats de papier sont également numérotés afin de préserver la compatibilité amont. Si une valeur non valide est sélectionnée comme source d’entrée, elle est ignorée. La valeur par défaut de –O est 3 (papier). La valeur par défaut de –Q est 1 (Letter) pour les formats de papier et Monarch pour les formats d’enveloppe. Formats de papier –Q 1 Letter –Q 2 Legal –Q 3 B5 Papier –Q 4 A4 –Q 5 Executive –Q 6 A5 –Q 7 B4 –Q 8 A3 –Q 9 Ledger (11x17) –Q 10 Universal (11,69x17,69) Pour changer les valeurs par défaut, modifiez les attributs s0 – s5 respectivement pour chaque source d’alimentation valide. Le format de papier par défaut correspond à la partie else (%e1). Remarques : 1. L’alimentation manuelle et le plateau 1 acceptent les formats de papier –Q 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (Letter, Legal, B4, A4, Executive, A5, B4, A3, 11x17, Universal). 2. Les plateaux 2, 3 et 4 acceptent les formats –Q 1, 2, 4, 7, 8, 9 (Letter, Legal, A4, B4, A3, 11x17). 3. L’imprimante (et ce fichier deux–points) adopte par défaut le format Letter pour les Etats–Unis et A4 pour l’Europe. 4. La sélection d’un format de papier non valide pour la source sélectionnée entraînera l’affichage d’un message d’erreur. 5. Si le format sélectionné ne figure pas dans la source d’entrée sélectionnée (qu’elle soit vide ou qu’elle contienne un autre format de papier), une séquence de recherche sera mise en œuvre pour localiser le format demandé. Reportez–vous au manuel de l’imprimante pour plus d’informations à ce propos. 4-126 Imprimantes et impression Guide de l’utilisateur Pas d’impression La sélection du pas d’impression est assurée par l’émulation PCL 5 via l’indicateur –p pour le pas et –s pour le nom de la police de la commande qprt. Les valeurs de pas admises vont de 1 à 100 caractères au pouce (cpi) (valeurs entières). L’indicateur d’impression condensé, –K, n’est pas pris en charge. Nom de la police Pas d’impression –s courier –p (1 à 100) –s courier–gras –p (1 à 100) –s courier–italique –p (1 à 100) –s courier–gras–italique –p (1 à 100) –s gothic –p (1 à 100) –s gothic–gras –p (1 à 100) –s gothic–italique –p (1 à 100) –s lineprinter –p 17 Remarque : Pour formater en ASCII d’autres styles de police, faites appel à l’utilitaire de cryptage AIX ou à la commande qprt avec les indicateurs –da, –s et –p vers une file d’attente PostScript. Pour les files d’attente PostScript, –p correspond à la taille de point et la liste valide des polices se trouve dans /usr/lib/ps/fontmap. Les tailles de point valides sont les entiers compris entre 1 et 1008. Par ailleurs, seul le pas 17 est pris en charge pour le style lineprinter. Mode duplex La fonction duplex est prise en charge via l’indicateur –Y de la commande qprt. La valeur par défaut est 0 ou mode simple. –y 0 simple –Y 1 duplex, reliure sur grand côté –Y 2 duplex, reliure sur petit côté Imprimante, traceur et programmation du sous–système de spoulage 4-127 Classement et nombre d’exemplaires L’imprimante Optra W810 prend en charge le classement d’exemplaires multiples en interne. Cette fonction est contrôlée par les indicateurs –W et –S de la commande qprt. –S! pas de classement –S+ classement activé –W # nombre d’exemplaires Remarques : 1. Cette fonction est indépendante de l’indicateur –N de la commande qprt. L’indicateur –N# déclenche l’envoi du travail d’impression à l’imprimante # fois. L’indicateur –W# envoie le travail d’impression une seule fois et # exemplaires en sont imprimés. 2. Cette fonctionnalité est limitée par la quantité de mémoire installée sur l’imprimante et par la taille du travail d’impression. Pages de séparation L’imprimante prend en charge la génération de pages de séparation en interne. Cette fonction est contrôlée par l’indicateur –E de la commande qprt. –E0 Sans –E1 Entre copies –E2 Entre travaux –E3 Entre pages La source d’alimentation du papier est par défaut le plateau 1. Pour la changer, modifiez l’attribut uS au niveau de l’imprimante virtuelle. Les valeurs acceptées pour uS sont les suivantes : uS 1 Plateau 1 uS 2 Plateau 2 uS 3 Plateau 3 uS 4 Plateau 4 Remarque : Cette fonction est indépendante de l’indicateur –B de la commande qprt. Finisseur : agrafage Finisseur : décalage 4-128 L’imprimante Optra W810 prend cette fonction en charge si le finisseur en option a été installé. Les valeurs acceptées pour y sont les suivantes : –y 0 Désactivé –y 1 Activé L’imprimante Optra W810 prend cette fonction en charge si le finisseur en option a été installé. Les valeurs acceptées pour e sont les suivantes : –e 0 Désactivé –e 1 Activé Imprimantes et impression Guide de l’utilisateur Perforage L’imprimante Optra W810 prend cette fonction en charge si le finisseur en option a été installé. Les valeurs acceptées pour o sont les suivantes : –o 0 Désactivé –o 1 Activé Bac de sortie Le signe égal (–=) est l’option ligne de commande permettant de spécifier la destination de la sortie. Les valeurs possibles sont les suivantes : 0 Bac standard 1 Bac 1 2 Bac 2 3 Bac 3 4 Bac 4 5 Bac 5 6 Bac 6 7 Bac 7 8 Bac 8 9 Bac 9 10 Bac 10 Le bac de sortie par défaut est le bac standard (0). Lexmark Plus Printer modèles 2380–3, 2381–3, 2390–3, 2391–3 Source du papier La sélection de la source du papier s’effectue via l’indicateur –u de la commande qprt. –u 1 tracteur 1 –u 2 tracteur 2 Les pages bannière et de fin utilisent la même source de papier que le travail d’impression. Nous vous conseillons de surveiller l’imprimante lorsque vous passez d’un tracteur à l’autre. Imprimante, traceur et programmation du sous–système de spoulage 4-129 Pas, police et qualité La sélection du pas d’impression est effectuée via l’indicateur –p pour le pas, l’indicateur –s pour le nom de la police et l’indicateur –q de la commande qprt pour la qualité. Voici quelques-unes des valeurs par défaut prises en charge : 10 pitch courier police qualité 1 ou brouillon Valeurs de polices valides : Nom de police –s brouillon rapide –s brouillon –s courier –s gothic –s prestige (239x seulement) –s presenter (239x seulement) –s orator (239x seulement) –s script (239x seulement) Valeurs de qualité valides : Qualité (indicateur –q) 0 brouillon rapide 1 draft 2 qualité NLQ (near letter quality) (238x seulement) 2 qualité letter (239x seulement) 3 qualité letter améliorée (239x seulement) Les valeurs de pas d’impression admises sont 10, 12, 17, 20, et 24 pour la 239x. Remarques : 1. Sélectionner brouillon ou brouillon rapide annule la police sélectionnée. 2. Les caractères gras sont pris en charge via l’indicateur –e et l’impression en gras. Les caractères italiques sont pris en charge via l’indicateur –k et l’impression en italique. Largeur de page 4-130 L’indicateur –w contrôle la largeur (en caractères) de la page imprimable. Plus Printer Valeur par défaut 2380 et 2390 80 2381 et 2391 136 Imprimantes et impression Guide de l’utilisateur OKI MICROLINE 801PS/+F, 801PSII/+F, 800PSIILT Les flot de données japonais PostScript et ASCII sont pris en charge. Les fichiers texte japonais ne peuvent pas être imprimés. Toutes les imprimantes série OKI MICROLINE sont connectées via des câbles RS–232C. Printronix P9012 Line Printer Seul le jeu de commandes Serial Matrix est pris en charge. Le jeu de commande P–series n’est pas pris en charge. QMS ColorScript 100 modèle 20 Printer L’imprimante QMS ColorScript 100 modèle 20 peut imprimer des fichiers PostScript couleur et des fichiers HPGL (Hewlett–Packard Graphics Language). L’émulateur HPGL est fourni avec l’imprimante sur une disquette DOS. Les fichiers ASCII peuvent également être imprimés via le flot de données PostScript. Pour imprimer des fichiers PostScript, n’indiquez pas de nom de file d’attente d’impression pour le flot de données HPGL lorsque vous définissez la file d’attente d’impression. Pour imprimer des fichiers HPGL, procédez comme suit : 1. Indiquez un nom de file d’attente d’impression pour le flot de données HPGL lorsque vous définissez la file d’attente. 2. Insérez la disquette 3–1/2 pouces intitulée HPGL Emulator dans l’unité de disquette. 3. Vérifiez que vous êtes utilisateur racine. 4. Pour copier les fichiers de l’émulateur HPGL de la disquette DOS dans le répertoire approprié, entrez : /usr/lib/lpd/pio/etc/pioqms100 –Q Lorsque les fichiers d’impression HPGL sont soumis à la file d’attente HPGL, le système télécharge l’émulateur HPGL sur l’imprimante et le sélectionne quand c’est nécessaire. Les fichiers PostScript peuvent également être soumis à la file d’attente d’impression HPGL. Les fichiers doivent commencer par la chaîne de deux caractères %! de sorte que le système puisse les identifier comme fichiers PostScript et non HPGL. Texas Instruments OmniLaser 2115 Page Printer La sélection automatique du flot de données de l’imprimante (PostScript, HP LaserJet+, Diablo 630, TI 855, Plotter) n’est pas prise en charge. Le flot de données doit être sélectionné manuellement, via le panneau de commande. Les fichiers ASCII peuvent également être imprimés via le flot de données PostScript. Seul le mode DP est pris en charge pour l’interface logicielle TI 855. Le mode WP n’est pas pris en charge. Chaque fois que vous mettez le contrôleur de l’imprimante sous tension ; entrez : splp –F! où lpx est le nom d’unité de l’imprimante, tel que lp0. Cette commande indique au système de télécharger à nouveau l’émulateur HPGL sur l’imprimante. Lorsque vous réamorcez le système, mettez l’imprimante hors puis sous tension pour la réinitialiser. Imprimante, traceur et programmation du sous–système de spoulage 4-131 Support de l’imprimante Le support requis pour chaque imprimante est fourni sous forme de module installable séparément. Pour afficher la liste de imprimantes dont le support est déjà installé sur votre machine, tapez : smit lssprt Pour installer le support d’autres imprimantes, tapez : smit printerinst Si votre imprimante n’est pas prise en charge, vous pouvez la configurer comme une imprimante prise en charge fonctionnellement semblable à la vôtre. Sinon, vous pouvez aussi configurer votre imprimante comme imprimante générique. Pour ce faire : 1. Sélectionnez Other comme fabricant ou comme modèle d’imprimante lorsque vous ajoutez une file d’attente pour l’imprimante. OU 2. Sélectionnez Other serial printer ou Other parallel printer lorsque vous ajoutez une définition d’unité imprimante pour l’imprimante. Imprimantes • Bull Compuprint 4/51 • Bull Compuprint 4/54 • Bull Compuprint 914 • Bull Compuprint 914 N • Bull Compuprint 922 • Bull Compuprint 923 • Bull Compuprint 924 • Bull Compuprint 924 N • Bull Compuprint 956 • Bull Compuprint 970 • Bull Compuprint 1070 • Bull Compuprint PageMaster 200 • Bull Compuprint PageMaster 201 • Bull Compuprint PageMaster 411 • Bull Compuprint PageMaster 413 • Bull Compuprint PageMaster 422 • Bull Compuprint PageMaster 721 • Bull Compuprint PageMaster 815 • Bull Compuprint PageMaster 825 • Bull Compuprint PageMaster 1015 • Bull Compuprint PageMaster 1021 • Bull Compuprint PageMaster 1025 • Bull Compuprint PageMaster 1625 • Bull PR–88 4-132 Imprimantes et impression Guide de l’utilisateur • Bull PR–88 VFU Handling • Bull PR–90 • Canon LASER SHOT LBP–A404PS/Lite • Canon LASER SHOT LBP–B406/S/D/E/G,A404/E,A304E • Dataproducts LZR 2665 Laser Printer • Dataproducts BP2000 Line Printer • HP 2500C Color Printer • HP LaserJet ll • HP LaserJet III • HP LaserJet IIISi • HP LaserJet 4, 4M • HP LaserJet 4Si, 4Plus, 4V, 4000 • HP LaserJet 5Si, 5Si MX • HP LaserJet 5Si Mopier • HP LaserJet 5000 D640 Printer • HP LaserJet 8100 Printer • HP LaserJet Color • HP Color LaserJet 4500 Printer • IBM 2380 Personal Printer II • IBM 2380 Plus (Modèle 2) • IBM 2381 Personal Printer II • IBM 2381 Plus (Modèle 2) • IBM 2390 Personal Printer II • IBM 2390 Plus (Modèle 2) • IBM 2391 Personal Printer II • IBM 2391 Plus (Modèle 2) • IBM 3112 Page Printer • IBM 3116 Page Printer • IBM 3812 Modèle 2 Page Printer • IBM 3816 Page Printer • IBM 4019 LaserPrinter • IBM 4029 LaserPrinter • IBM 4037 5E Printer • IBM 4039 LaserPrinter • IBM 4070 InkJet Printer • IBM 4072 ExecJet • IBM 4076 InkJet Printer • IBM 4079 Color JetPrinter • IBM 4201 modèle 2 Proprinter II Imprimante, traceur et programmation du sous–système de spoulage 4-133 • IBM 4201 modèle 3 Proprinter III • IBM 4202 modèle 2 Proprinter II XL • IBM 4202 modèle 3 Proprinter III XL • IBM 4207 modèle 2 Proprinter X24E • IBM 4208 modèle 2 Proprinter XL24E • IBM 4208 modèle 502 Proprinter XL24EK • IBM 4212 Proprinter 24P • IBM 4216 Personal Page Printer, modèle 031 • IBM 4216 modèle 510 • IBM 4224 Printer, modèles 301, 302, 3C2, 3E3 • IBM 4226 Printer • IBM 4234 Dot Band Printer, modèle 013 • IBM 5202 Quietwriter III • IBM 5204 Quickwriter • IBM 5327 modèle 011 • IBM 5572 modèle B02 • IBM 5573 modèle H02 • IBM 5575 modèle B02/F02/H02 • IBM 5577 modèle B02/F02/FU2/G02/H02/J02/K02 • IBM 5579 modèle H02/K02 • IBM 5584 modèle G01/H01 • IBM 5585 modèle H01 • IBM 5587 modèle G01/H01 • IBM 5589 modèle H01 • IBM 6180 Color Plotter • IBM 6182 Auto Feed Color Plotter • IBM 6184 Color Plotter • IBM 6185–1 Color Plotter • IBM 6185–2 Color Plotter • IBM 6186 Color Plotter • IBM 6252 Impactwriter • IBM 6262 Printer • IBM 7372 Color Plotter • IBM Network Color Printer • IBM Network Printer 12 • IBM Network Printer 17 • IBM Network Printer 24 • IBM InfoPrint 20 Printer • IBM InfoPrint 40 Printer 4-134 Imprimantes et impression Guide de l’utilisateur • Lexmark Optra LaserPrinter • Lexmark Optra Plus LaserPrinter • Lexmark Optra C Color LaserPrinter • Lexmark Optra E Color LaserPrinter • Lexmark Optra E310 Laser Printer • Lexmark Optra M410 Laser Printer • Lexmark Optra N Color LaserPrinter • Lexmark Optra Se Laser Printer • Lexmark Optra T Laser Printer Family • Lexmark Optra W810 Laser Printer • Lexmark ExecJet IIc • Lexmark ValueWriter 600 • Lexmark 2380 Plus Printer (modèle 3) • Lexmark 2381 Plus Printer (modèle 3) • Lexmark 2390 Plus Printer (modèle 3) • Lexmark 2391 Plus Printer (modèle 3) • Lexmark 4039 Plus LaserPrinter • Lexmark 4079 Color JetPrinter Plus • Lexmark 4227 Forms Printer • OKI MICROLINE 801PS/+F, 801PSII/+F, 800PSIILT • Printronix P9012 Line Printer • QMS ColorScript 100, modèle 20 • TI Omnilaser 2115 Page Printer Imprimante, traceur et programmation du sous–système de spoulage 4-135 Mode passe-système Imprimantes virtuelles et pilote d’unité imprimante peuvent tous deux opérer en mode passe-système ou en mode non passe-système. Le ”mode passe-système” signifie simplement que le flot de données est ”passé au travers du système” jusqu’à l’imprimante, octet par octet, sans modification. Le mode d’opération sélectionné pour un travail donné détermine son mode de traitement et même le fait qu’il soit ou non traité. Il est important de saisir la différence entre les deux modes, de connaître le mode actif et de savoir s’il peut être modifié. Mode passe-système du pilote d’unité de l’imprimante Le pilote d’unité de l’imprimante, /dev/lp0 par exemple, opère par défaut en mode non passe-système. Un utilisateur peut interroger ou modifier les règles d’exploitation de /dev/lp0 via la commande splp. Par exemple, voici les résultats de la commande splp lp0 sur un système équipé d’une imprimante IBM 4029 LaserPrinter définie comme lp0. Les résultats sont dirigés vers l’unité d’affichage spécifiée par la variable d’environnement TERM. device = /dev/lp0 (+ yes ! no) CURRENT FORMATTING PARAMETERS (ignored by qprt, lpr, and lp commands) Note: –p + causes the other formatting parameters to be ignored. –p ! pass–through? –c + send carriage returns? –l 64 page length (lines) –n + send line feeds? –w 80 page width (columns) –r + carriage rtn after line fee? –i 0 indentation (columns) –t + suppress tab expansion? –W ! wrap long lines? –b + send backspaces? –C ! convert to upper case? –f + send form feeds? CURRENT ERROR PROCESSING PARAMETERS –T 600 timeout value (seconds) CURRENT SERIAL INTERFACE PARAMETERS –B 19200baud rate –N ! enable parity? –P ! odd parity? –e ! return on error? –s 8 –S ! character size (bits) two stop bits? Le paramètre –p détermine si le pilote d’unité de l’imprimante, /dev/lp0, sera exploité par défaut en mode passe-système ; le mode d’exploitation peut être modifié pour un flot de données spécifique. Par défaut, la valeur du paramètre –p est ! ou no. Il est important de noter que la question posée par le paramètre –p est « Le mode d’exploitation est-il le mode passe-système ? » Si la valeur du paramètre –p est !, tous les autres paramètres de la liste sont honorés par le pilote d’unité pendant le traitement du flot de données. De même, si la valeur du paramètre –p est +, ou yes, tous les autres paramètres sont ignorés pendant le traitement du flot de données. Utiliser la commande splp pour changer les valeurs des paramètres du pilote d’unité de l’imprimante n’affecte pas les opérations du spouleur. Splp affecte des commandes telles que cat lorsqu’elles sont utilisées pour accéder directement au pilote d’unité, en passant outre le spouleur. Par exemple, la commande cat /etc/motd > /dev/lp0 4-136 Imprimantes et impression Guide de l’utilisateur ouvre /dev/lp0 et écrit le ”message du jour” directement sur l’imprimante. La sortie sur l’imprimante est formatée de façon semblable à l’exemple suivant : This is a test version of /etc/motd, used to demonstrate what happens when a printer device driver, such as /dev/lp0, is placed into or taken out of passthru mode. Printers will print either exactly what they are sent, if you set the job conditions up correctly, or, on the most current printers, you may be able to direct the printer to perform certain mappings for you. There are no carriage returns in this file, and the only blank li ne occurs immediately before this one. Notez que le paramètre –r dicte la correspondance de chaque saut de ligne avec un retour chariot et un saut de ligne si la valeur de –p est ! Cette correspondance est nécessaire dans la mesure où la plupart des systèmes d’exploitation UNIX n’utilisent que des sauts de ligne ; contrairement à DOS et à OS/2 ou d’autres systèmes d’exploitation, dans les systèmes UNIX, un saut de ligne implique un retour chariot. Cette particularité est sans incidence sur les éditeurs de texte et autres traitements de ce type, mais ne fonctionne pas avec les imprimantes. Les imprimantes n’impriment que les données qui leur sont envoyées. Lancer les deux commandes splp –p+ lp0 cat /etc/motd > /dev/lp0 résulte en l’impression d’un texte semblable au suivant This is a test version of /etc/motd, used to demonstrate what hap pens when a printer device driver, such as /dev/lp0, is placed into or taken out of passthru mode . Printers will print either exactly what they are sent, if you set the job conditions up correctly, or, on the most current prin ters, you may be able to direct the printer to perform certain mappings for you. There are no carriage returns in this file, and the only blank line occurs immediately before this one. Dans le premier exemple, tous les paramètres du pilote d’unité sont honorés. En particulier, la correspondance d’un saut de ligne avec un saut de ligne et un retour chariot est activée. Lorsque le pilote d’unité écrit des caractères sur l’imprimante physique, il envoie un retour chariot après chaque saut de ligne. Il honore également le paramètre de largeur de page. Dans le second exemple, le pilote d’unité se limite à écrire simplement chaque caractère d’un octet de /etc/motd sur l’imprimante physique, sans correspondance d’aucune sorte ni modification quelconque du flot de données. La plupart des imprimantes ASCII, courantes ou non, sont dotées de suffisamment d’intelligence pour prendre quelques décisions. A la fin de la première phrase de /etc/motd, le saut de ligne descend la tête d’impression d’une ligne ; aucun retour chariot ne l’amène à la marge gauche. Les quatre premières lettres du mot ”printer,” ”prin,” sont imprimées. A ce stade, l’imprimante (et non le pilote d’imprimante) détermine que la marge droite a été atteinte et effectue en conséquence un retour chariot, ramenant la tête d’impression à la marge gauche. L’impression se poursuit avec le caractère suivant du flot de données. Dans le second exemple, tant que vous n’appuyez pas sur le bouton de réinitialisation de l’imprimante, le travail d’impression n’est même pas lancé. Ceci est dû au fait que l’imprimante n’a pas reçu suffisamment de données (caractères) pour éjecter automatiquement une page, et qu’aucun saut de page ne lui a été envoyé pour provoquer cette éjection ; le paramètre –f du pilote d’unité est ignoré. Imprimante, traceur et programmation du sous–système de spoulage 4-137 Mode passe-système du filtre de formatage Une fois soumis au spouleur, un travail est éventuellement passé au filtre de formatage en vue de son traitement et de sa transmission au pilote d’unité de l’imprimante. Le filtre de formatage ouvre toujours le pilote d’unité de l’imprimante en mode passe-système. Les travaux soumis au spouleur, contrairement aux flots de données envoyés directement au pilote d’unité de l’imprimante, sont toujours traités ou modifiés par un filtre de formatage et non par le pilote d’unité de l’imprimante. Comme le pilote d’unité de l’imprimante, le filtre de formatage opère selon deux modes : passe-système et non passe-système. Là aussi, le mode d’opération sélectionné pour un travail donné détermine son mode de traitement et même le fait qu’il soit ou non traité. L’attribut _d dans une définition d’imprimante virtuelle (fichier deux-points assimilé) spécifie le type du flot de données en entrée pour la file d’attente associée à cette imprimante virtuelle. La définition d’imprimante virtuelle spécifie également le filtre de formatage pour ce type de flot de données en entrée. Lorsque le filtre de formatage est appelé pour traiter un travail, le processus qui exécute le filtre de formatage (pioformat) vérifie la valeur des attributs _d et décide si le filtre de formatage doit être appelé en mode passe-système. Si le mode passe-système est sélectionné, le filtre de formatage utilise simplement la sous-routine passthru() pour lire le flot d’entrée et l’envoie sans modification au pilote d’unité de l’imprimante. Si le mode passe-système n’est pas sélectionné, le filtre de formatage utilise la sous-routine lineout() pour traiter le flot de données en entrée ligne par ligne. Dans les deux cas, le pilote d’unité de l’imprimante est ouvert en écriture en mode passe-système et n’effectue aucun traitement du flot de données en sortie. Notez que les flots de données en entrée tels que PostScript sont passe-système par définition ; le traitement est effectué par l’interpréteur matériel Postscript sur l’imprimante. La plupart des paramètres du pilote d’unité de l’imprimante modifiables via la commande splp existent également dans le filtre de formatage. Ces paramètres sont stockés dans la version assimilée du fichier deux-points d’une imprimante virtuelle donnée. Par exemple, la correspondance entre les paramètres du pilote d’unité de l’imprimante et les paramètres des fichiers deux-points d’une file d’attente ASCII sur une IBM 4029 LaserPrinter est la suivante : pass–through? –p _d page length (lines) –l _l page width (columns) –w _w indentation (columns) –i _i wrap long lines? –W _L convert to uppercase? –C N/A send carriage returns? –c _x send linefeeds ? –n _x carriage rtn after linefeed –r _x suppress tab expansion? –t N/A send backspaces? –b N/A send formfeeds? –f _Z Les valeurs des paramètres de la colonne de droite peuvent être définis en permanence dans la définition de l’imprimante virtuelle. Ils peuvent également être remplacés au moment de la soumission d’un travail via certains indicateurs appliqués à la commande qprt ou à la commande enq. 4-138 Imprimantes et impression Guide de l’utilisateur Affichage, formatage ou modification des définitions d’imprimante virtuelle Une IBM 4029 LaserPrinter prend en charge quatre flots de données distincts. L’utilisateur racine peut utiliser la commande mkvirprt pour créer à la fois une file d’attente et une définition d’imprimante virtuelle pour chacun des quatre types de flot de données. L’utilisateur racine peut également, via la commande lsvirprt, afficher et modifier le fichier deux-points sous-jacent à la définition d’imprimante virtuelle. Pour un système sur lequel une file d’attente de chaque type est définie, lancer la commande lsvirprt entraîne l’affichage de la liste et des requêtes suivantes (les noms des files d’attente et des unités sont choisis par l’utilisateur racine au moment de la création de la file d’attente) : No. Queue Device Description 1 2 3 4 lxx lxx lxx lxx 4029 4029 4029 4029 asc gl pcl ps (IBM ASCII) (Plotter Emulation) (HP LaserJet II Emulation) (PostScript) Enter number from list above (press Enter to terminate): A partir de cette liste, l’utilisateur racine indique le numéro correspondant à l’imprimante virtuelle qu’il souhaite afficher, formater ou modifier. Les messages et invites suivants sont alors affichés : To To To To To LIST attributes, enter AttributeName1 ..(* for all attributes) CHANGE an attribute value, enter AttributeName=NewValue FORMAT and EDIT an attribute value, enter AttributeName~v EDIT the attribute file, enter ~v terminate, press Enter: A ce stade, il y a six options, dont l’une est d’appuyer simplement sur Entrée pour mettre fin à la commande lsvirprt. Les cinq autres sont plus intéressantes. • Tapez un astérisque (*) et appuyez sur Entrée pour afficher une liste de tous les attributs du fichier deux-points avec leurs descriptions (issues du catalogue de messages). • Entrez le nom d’un attribut et appuyez sur Entrée pour afficher ce seul attribut, avec sa description issue du catalogue de messages. • Entrez le nom d’un attribut, un = et une valeur, et appuyez sur Entrée pour affecter cette valeur à l’attribut. • Entrez ~v et appuyez sur Entrée pour ouvrir une session vi avec le fichier deux-points brut. • Entrez le nom d’un attribut, suivi immédiatement (sans espace) par ~v, et appuyez sur Entrée pour ouvrir une session vi avec une version formatée de l’attribut. Chacune de ces cinq options est traitée et décrite dans le contexte de la file d’attente asc et de la définition d’imprimante virtuelle associée, avec son fichier deux-points sous-jacent. Imprimante, traceur et programmation du sous–système de spoulage 4-139 Taper un astérisque (*) et appuyer sur Entrée affiche : Name __FLG _0 _1 _2 _3 _4 _5 _6 _7 _8 _9 _A _E _F _G _H _I _J _K _L _O _Q _S _U _V _W _X _Y _Z Description VALUES THAT MAY BE OVERRIDDEN WITH FLAGS ON THE COMMAND LINE (not used) (not used) (not used) (not used) (not used) (not used) (not used) (not used) (not used) (not used) stderr returned? 0: no; 1: yes, & pipelines; 2: yes, & values, pipelines Double–High Print. (!: no; +: yes) (not used) Font file name Page format (!: use only printable page +: use entire addressable area) Name To Replace Host Name On Burst Page Font ID (overrides pitch and type style) Restore the Printer at the End of the Print Job? (!: no; +: yes) (not used) Wrap Long Lines (!: no; +: yes) Type of Input Paper Handling (1: manual, 3: sheetfeed) Paper or Envelope Size For the Paper Source Selected By the –O and –u Flag Values (Refer to the s0, s1, s2, s3, and s4 attributes); Default value: %IwQ High speed printing Unidirectional printing Vertical printing Double–Wide Print (!: no; +: yes) Code Page Name For Print Data Stream (file with same name in dir. Duplex Output (0: Simplex 1: Duplex Long–Edge 2: Duplex Short–Edge) Issue Form Feed Between Copies & At Job End (!: no; +: yes) Value 1 ! + + 3 %IwQ ! IBM–850 0 + : La sortie est formatée par la commande pg, d’où le deux-points (:) au bas de l’écran. La sortie ci-dessus n’est que le premier écran. Les autres sont accessibles via les sous-commandes pg normales, mais ne sont pas indiquées ici pour ne pas allonger inutilement le texte. Cette sortie n’est que consultable : les attributs ne peuvent être modifiés. Entrer le nom d’un attribut, tel que _w (largeur de page en colonnes), et appuyer sur Entrée affiche un texte semblable à : Name _w To To To To To 4-140 Description Page Width (characters); Default Value: (value based on paper size specified with s0 – s5 attributes) Value LIST attributes, enter AttributeName1 ..(* for all attributes) CHANGE an attribute value, enter AttributeName=NewValue FORMAT and EDIT an attribute value, enter AttributeName~v EDIT the attribute file, enter ~v terminate, press Enter: Imprimantes et impression Guide de l’utilisateur Le nom de l’attribut s’affiche, avec sa description issue du catalogue de messages et sa valeur actuelle. L’invite est également réaffichée. Notez que vous n’avez pas à taper le trait de soulignement pour les attributs dont le nom commence par un trait de soulignement. Par exemple, les résultats ci-dessus peuvent être obtenus en tapant w et en appuyant sur Entrée. Cette sortie n’est que consultable : les attributs ne peuvent être modifiés. D’autres attributs peuvent être bien plus difficiles à interpréter sous cette forme. Par exemple, entrer ia à l’invite et appuyer sur Entrée affiche un texte semblable à : Name ia To To To To To Description ASCII Value %Ide/pioformat –@% Idd/%Imm –!%Idf/pi of5202 –l%IwL –w%I wW %f[begijpqstuvx yzEGIJLOQWXZ] %Uh LIST attributes, enter AttributeName1 ..(* for all attributes) CHANGE an attribute value, enter AttributeName=NewValue FORMAT and EDIT an attribute value, enter AttributeName~v EDIT the attribute file, enter ~v terminate, press Enter: Entrer le nom d’un attribut, un = et une valeur, et appuyer sur Entrée affecte cette valeur à l’attribut et affiche la nouvelle valeur. Par exemple, entrer _w=60 et appuyer sur Entrée, ou entrer w=60 et appuyer sur Entrée, affiche un texte semblable à : To To To To To LIST attributes, enter AttributeName1 ..(* for all attributes) CHANGE an attribute value, enter AttributeName=NewValue FORMAT and EDIT an attribute value, enter AttributeName~v EDIT the attribute file, enter ~v terminate, press Enter: Name _w To To To To To Description COLUMNS per page Value 60 LIST attributes, enter AttributeName1 ..(* for all attributes) CHANGE an attribute value, enter AttributeName=NewValue FORMAT and EDIT an attribute value, enter AttributeName~v EDIT the attribute file, enter ~v terminate, press Enter: La nouvelle valeur de w est affichée. (Cet exemple entraîne la définition permanente de la largeur de page pour cette file d’attente à 60 colonnes.) Imprimante, traceur et programmation du sous–système de spoulage 4-141 Entrer ~v et appuyer sur Entrée affiche un écran semblable à : :056:__FLG:: :625:CB:S[B]DyEn: :626:CC:S[C]DyEn: :627:CD:S[D]DyEn: :628:CE:S[E]DyEn: :629:CF:S[F]DyEn: :630:CG:S[G]DyEn: :622:Ca:DyS[G500]I[1810532]EnR[pioattr1.cat,1,631;(diag1) – do not print job; di splay main pipeline and pre–processing filter,(diag2) – do not pr int job; displa y all pipelines and filters,(display) – print job; display all pi pelines and fil ters,(ignore) – print job; ignore stderr produced by filters,(nor mal) – print jo b; exit if filters produce stderr=–a1,–a0\x27 \x27–A3,–a0\x27 \x2 7–A2,–a0\x27 \x 27–A0,–a0\x27 \x27–A1]:%?%G_a%t–a%I_a%e–a%I_a\x27 \x27–A%I_A%; :674:Cs:S[B005]I[1810500]EnC[_s,_p]R[%‘W0]:–s%I_s\x27 \x27–p%I_p :013:_A:DnEnR[0,1,2,3]:1 :789:_E:S[B020]I[1810501]%IWY:! :790:_G:S[E025]I[1810502]%IWY:! :621:_H:S[F350]I[1810503]Dy: :024:_I:Dn: :791:_J:S[C950]I[1810533]%IWY:+ :792:_K:Dn: :793:_L:S[D020]I[1810504]%IWY:+ :697:_O:DnEnR[1,3]:3 :683:_Q:S[E020]I[1810505]En%IW6:%IwQ :794:_W:S[B025]I[1810506]%IWY:! :795:_X:S[D030]I[1810507]EtL[/usr/bin/ls –1 /usr/lib/lpd/pio/tran s1 | /usr/bin/s ed ’/^850$/d’]V[%‘WX]:ISO8859–1 :808:_Y:Dn: :614:_Z:Dn%IWY:+ :063:_a:DnEnR[0,1]:0 :635:_b:S[D010]I[1810508]E#G[0..%?%G_l%{0}%=%t%e%G_l%G_t%–%{1}%–% d%;]:0 :658:_d:S[C925]I[1810509]EnL[%IW2]F1:a :615:_e:S[B010]I[1810510]%IWY:! :659:_f:S[C930]I[1810535]EtL[%IW3]F1V[%‘W7]Dy: :623:_g:S[C250]I[1810511]E#G[1..]:1 ”/var/spool/lpd/pio/@local/custom/asc:lp1” 318 lines, 15318 chara cters Comme indiqué à la dernière ligne de cet exemple, il s’agit d’une session vi avec la version brute, non formatée du fichier deux-points non assimilé de l’imprimante pour cette file d’attente. Si vous lancez une commande write dans cette session vi, la définition est assimilée par la commande piodigest et une nouvelle version du fichier deux-points assimilé de l’imprimante est créée. L’option la plus puissante de lsvirprt est de taper un nom d’attribut suivi de ~v. Par exemple, entrer ia~v et appuyer sur Entrée affiche un écran semblable à : ASCII ia = %Ide/pioformat –@%Idd/%Imm –!%Idf/piof5202 –l%IwL –w%IwW %f[ begijpqstuvxyzEGIJLOQWXZ] %Uh 4-142 Imprimantes et impression Guide de l’utilisateur %Ide INCLUDE: (Directory Containing Miscellaneous Modules) ’/pioformat –@’ %Idd INCLUDE: (Directory Containing Digested Data Base Fil es) ’/’ %Imm INCLUDE: (File Name Of (Digested) Data Base; Init. By ”piodigest” (mt.md.mn.mq:mv)) ’ –!’ %Idf INCLUDE: (Directory Containing Loadable Formatter Rou tines) ’/piof5202 –l’ %IwL INCLUDE: (Page Length In Chars, Using Length From Dat a Base (used in pipelines)) ’ –w’ %IwW INCLUDE: (Page Width In Characters, Using Width From Data Base (used in pipelines)) ’ ’ %f[begijpqstuvxyzEGIJLOQWXZ] For Each Flag x on Command Line: –xArgument” –> OUTPUT ’ ’ %Uh Indicate to piobe: Pass the Following Attributes to s ubsequent printer commands /tmp/asc:lp1.ia” 24 lines, 1001 characters Comme indiqué à la dernière ligne de cet exemple, il s’agit encore une fois d’une session vi, mais là la définition d’attribut a été formatée et annotée. Ici l’utilisateur racine peut modifier la définition d’attribut ; s’il lance une commande write dans cette session vi, la définition est assimilée par la commande piodigest et une nouvelle version du fichier deux-points assimilé de l’imprimante est créée. L’exemple formaté est divisé en trois. La première partie est le ia=, suivi de la définition de l’attribut échelonnée horizontalement. La deuxième partie est constituée des annotations à droite de la session vi, commentaires qui décrivent la fonction de chaque séquence d’échappement du fichier deux-points de l’imprimante. La troisième partie est constituée des séquences d’échappement formatées du fichier deux-points de l’imprimante, alignées sur la marge gauche de la session vi. Ces séquences d’échappement ont également un composant de formatage horizontal ; les indentations permettent de clarifier le flux des instructions if–then–else, imbriquées ou non. Les deux premières parties peuvent être éditées, mais les modifications sont sans effet, aussi est-il inutile de les effectuer. Toute modification à la définition initiale de l’attribut ou aux annotations est ignorée par piodigest si vous écrivez le fichier. Dans la troisième partie, la définition formatée de l’attribut peut être éditée. Si cette partie est éditée et écrite, piodigest émet un message d’erreur en cas d’erreur de syntaxe. Comme avec tous les langages de programmation, vous pouvez faire des erreurs de logique, mais pas de syntaxe. Pour des exemples concrets de modification des fichiers deux-points de l’imprimante, reportez-vous à ”Modification des attributs mi, mp et _d sur une file d’attente PostScript”, page 4-144. Imprimante, traceur et programmation du sous–système de spoulage 4-143 Modification des attributs mi, mp et _d sur une file d’attente PostScript Les attributs du flot de données en entrée stockent les pipelines des différents types de flots de données en entrée. The definition for a generic Postscript printer on a system running AIX Version 3.2.5 has four input data stream pipelines: ia (extended ASCII), in (troff), ip (passthru), and is (PostScript). L’attribut _d du fichier deux-points contrôle lequel des quatre pipelines de traitement du flot de données en entrée est utilisé par défaut. La valeur par défaut de _d sur une file d’attente PostScript générique est s (PostScript), de sorte que le pipeline défini par is est utilisé. Soumettre un travail ASCII non PostScript à une file d’attente PostScript avec une définition d’imprimante virtuelle PostScript générique entraîne la simple disparition du travail. L’utilisateur racine peut modifier les attributs mi, mp et _d dans la définition d’imprimante virtuelle, de sorte que le programme dorsal de la file d’attente puisse déterminer le type de fichier (PostScript ou ASCII non PostScript) et définir en conséquence l’environnement d’impression. L’attribut mi utilise des caractères simples, séparés par des virgules, pour nommer les types de flots de données en entrée. L’attribut mp utilise des chaînes, séparées par des virgules, pour identifier les types de flots de données en entrée. Il y a un appariement entre chaque caractère de mi et les chaînes de mp. La valeur par défaut de mi pour une imprimante virtuelle PostScript générique est s. La valeur par défaut de mp est %%!; les deux premiers caractères d’un fichier PostScript sont %! (N’oubliez pas que les séquences d’échappement du fichier deux-points de l’imprimante commencent toutes par un % aussi, pour utiliser un % littéral dans une définition d’attribut, faites-le précéder d’un autre %.) L’imprimante virtuelle interprète tous les fichiers commençant par %! comme étant de type de flot de données s, et utilise le pipeline is. Les fichiers ASCII non PostScript ne commençant pas par %!, ils ne sont pas imprimés par cette file d’attente. Pour activer l’impression ASCII sur cette file d’attente, l’utilisateur racine peut faire appel à lsvirprt pour modifier les attributs référencés, comme suit : • mi=a,s • mp=,%%! • _d=%mi Utilisez lsvirprt pour sélectionner la file d’attente PostScript générique. L’invite suivante s’affiche : To To To To To LIST attributes, enter AttributeName1 ..(* for all attributes) CHANGE an attribute value, enter AttributeName=NewValue FORMAT and EDIT an attribute value, enter AttributeName~v EDIT the attribute file, enter ~v terminate, press Enter: A l’invite : • Tapez mi=a,s et appuyez sur Entrée. • Tapez mp=,%%! et appuyez sur Enter. • Tapez d=%mi et appuyez sur Entrée. Une fois chaque attribut redéfini, la nouvelle valeur de l’attribut est affichée, suivie de l’invite. Cette opération définit un appariement du type de flot de données en entrée a (ASCII étendu) avec n’importe quelle chaîne, du type s (PostScript) avec la chaîne %!. Les flots de données en entrée ne commençant pas par %! sont traités par le pipeline ia, et tous les flots de données en entrée ne commençant pas par %! sont traités par le pipeline is. 4-144 Imprimantes et impression Guide de l’utilisateur Remarque : Avec une imprimante virtuelle PostScript générique non modifiée comme ci-dessus, il est possible d’imprimer des fichiers ASCII non PostScript en indiquant un autre type de flot de données en entrée à partir de la ligne de commande. Par exemple, l’indicateur d de qprt peut être utilisé comme suit : qprt –Pqueue_name –da /etc/motd Cette commande demande que le fichier /etc/motd soit imprimé sur la file d’attente queue_name et que le flot de données en entrée soit traité comme ASCII (pipeline ia utilisé). Imprimante, traceur et programmation du sous–système de spoulage 4-145 Utilisation des fichiers deux-points de l’imprimante par piobe piobe peut générer des sorties de diagnostic. Un exemple spécifique de cette sortie de diagnostic est utilisé dans ce qui suit pour examiner : • Comment piobe utilise les fichiers deux-points de l’imprimante. • Comment les séquences d’échappement du fichier deux-points de l’imprimante sont évaluées pour résoudre les chemins d’accès. • Comment les séquences d’échappement du fichier deux-points de l’imprimante sont évaluées pour résoudre la longueur de page. • Comment les séquences d’échappement du fichier deux-points de l’imprimante sont évaluées pour résoudre la largeur de page. La discussion est complexe, destinée aux lecteurs désireux de comprendre le fonctionnement des séquences d’échappement du fichier deux-points à un niveau bas, parce qu’ils souhaitent, par exemple, écrire leur propre fichier deux-points pour une imprimante unique non prise en charge. Avant de poursuivre, vous devez avoir assimilé le contenu des sections suivantes : • Séquences d’échappement du fichier deux-points de l’imprimante, page 4-14 • Affichage, formatage et modification des définitions d’imprimantes virtuelles, page 4-139 La commande suivante se sert de l’indicateur/argument –a1 pour demander des données de diagnostic au programme dorsal piobe. Le reste de la commande spécifie que le travail est traité par la file d’attente asc, que trois exemplaires du fichier /etc/motd doivent être imprimés, en Courier 12 points, pivoté de 90 degrés, que le travail doit être prétraité par le filtre pr, et que tous les messages générés par le travail doivent être envoyés à l’utilisateur qui a soumis le travail. qprt –a1 –Pasc –fp –z1 –p12 –scourier –C –N3 /etc/motd Lancer cette commande génère un courrier semblable au suivant, adressé à l’utilisateur qui a lancé la commande : Message from qdaemon: =====> MESSAGE FROM PRINT JOB 31 (/etc/motd) <===== 0782–034 Below is the preview information requested with the –a1 flag. No files will be printed. PRINTER: [devices.cat,71,66;IBM 4029 LaserPrinter] (ASCII) FLAG VALUES: a=1, b=0, d=a, e=!, f=p, g=1, h=, i=0, j=1, l=48, p=12, q=, s=cou rier, t=0, u=1, v=6, w=128, x=2, y=!, z=1, A=1, B=nn, C=+, E=!, G=!, H=, I=, J=+, L=+, N=3, O=3, P=ascx:lxx, Q=1, W=!, X=ISO8859–1, Z=+ PIPELINE OF FILTERS: /usr/bin/pr –l48 –w128 /etc/motd | /usr/lib/lpd/pio/etc/pioformat –@/var/spool/lpd/pio/@local/ddi/ibm4029.asc.lp1.asc:lp1 –!/usr/lib/lpd/pio/fmtrs/piof5202 –l48 –w128 –p12 –scourier –z1 4-146 Imprimantes et impression Guide de l’utilisateur Le courrier précise plusieurs éléments : • L’imprimante physique utilisée. • Les valeurs des indicateurs relatifs à cette file d’attente de spouleur. • Le pipeline de filtres exécutés. Les valeurs des indicateurs utilisés sur la ligne de commande, a1, Pasc, fp, z1, p12, scourier, C et N3, se trouvent dans la section FLAG VALUES du courrier. Le plus intéressant se trouve dans la section PIPELINE OF FILTERS. Cette section indique le pipeline de filtres déterminé par piobe et construit par le shell. Le filtre pr prétraite le travail d’impression (/etc/motd) et envoie la sortie à pioformat, le pilote de formatage indépendant de l’unité. Examinons à présent comment piobe se sert de la définition d’imprimante virtuelle associée à la file d’attente asc du spouleur. Le fichier deux-points (qui contient la définition d’imprimante virtuelle pour cette file d’attente) se sert de l’attribut ia pour spécifier le pipeline du flot de données en entrée (la section PIPELINE OF FILTERS ci-dessus) pour les travaux ASCII. La valeur de ia pour cette file d’attente est : %Ide/pioformat –@%Idd/%Imm –!%Idf/piof5202 –l%IwL –w%IwW %f[begijpqstuvxyzEGIJLOQWXZ] %Uh Vous pouvez lancer la commande lsvirprt pour formater ia de sorte qu’il apparaisse comme suit : %Id INCLUDE: (Directory Containing Miscellaneous Modules) ’/pioformat –@’ %Idd INCLUDE: (Directory Containing Digested Data Base Files) ’/’ %Imm INCLUDE: (File Name Of (Digested) Data Base; Init. By ”piodigest” (mt.md.mn.mq:mv)) ’ –!’ %Idf INCLUDE: (Directory Containing Loadable Formatter Routines) ’/piof5202 –l’ %IwL INCLUDE: (Page Length In Chars, Using Length From Data Base (used in pipelines)) ’ –w’ %IwW INCLUDE: (Page Width In Characters, Using Width From Data Base (used in pipelines)) ’ ’ %f[begijpqstuvxyzEGIJLOQWXZ] For Each Flag x on Command Line:”–xArgument” –> OUTPUT ’ ’ %Uh Indicate to piobe: Pass the Following Attributes to subsequent printer commands %Id se résout en /usr/lib/lpd/pio/etc, le répertoire contenant les modules divers. ’/pioformat –@’ est ajouté, sans apostrophes, à la chaîne précédente, qui devient /usr/lib/lpd/pio/etc/pioformat, également appelée chemin d’accès complet au pilote du programme de formatage. Le –@ qui suit pioformat est un indicateur de la commande pioformat qui, dans ce cas, spécifie le chemin d’accès complet du fichier base de données assimilé auquel accéder. Imprimante, traceur et programmation du sous–système de spoulage 4-147 La valeur de l’indicateur –@ est spécifiée par la concaténation de %Idd, ’/’ et %Imm. La valeur de %Idd est définie dans le fichier deux-points comme %I@5/ddi. @5 est une variable automatique dont la valeur est /var/spool/lpd/pio/@local, de sorte que %Idd se résout en /var/spool/lpd/pio/@local/ddi. ’/’, sans apostrophes, est ajouté à ce chemin.%Imm est défini dans le fichier deux-points comme mt.md.mn.mq.mv, cinq autres attributs d’imprimante virtuelle. Ces cinq attributs définissent : • mt – Type de l’imprimante • md – Type du flot de données en sortie • mn – Nom de l’unité • mq – Nom de file d’attente (nom d’une strophe de file d’attente dans /etc/qconfig) • mv – Nom d’imprimante virtuelle (nom d’une strophe d’unité correspondante dans /etc/qconfig) Ces attributs de fichier d’imprimante virtuelle sont initialisés par la commande piodigest au moment de la création de la file d’attente et de l’imprimante virtuelle. La combinaison des cinq attributs est unique dans la base de données de l’imprimante virtuelle. Pour cette file d’attente, la valeur de mt.md.mn.mq.mv est ibm4029.asc.lp1.asc.lp1. Ainsi la valeur de l’indicateur –@ pour pioformat devient /var/spool/lpd/pio/@local/ddi/ibm4029.asc.lp1.asc.lp1, le chemin d’accès complet au fichier base de données assimilé définissant l’imprimante virtuelle associée à cette file d’attente (asc). ’–!’ est un second indicateur de pioformat, spécifiant le chemin d’accès complet au programme de formatage indépendant de l’unité à charger, lier et piloter au moment de l’exécution, par le pilote de formatage, pioformat. C’est à ce stade que vous pouvez voir quand et comment s’établit la connexion entre deux modules à l’exécution. La valeur de l’indicateur –! est spécifiée par la concaténation du reste des séquences d’échappement du fichier deux–points de l’imprimante, indiquées dans la forme formatée de l’attributia, commençant par%Idf et ’/piof5202 –l’. La valeur de %Idf est définie dans le fichier deux-points comme %I@4/fmtrs. @4 est une variable automatique dont la valeur est /usr/lib/lpd/pio, de sorte que %Idf se résout en /usr/lib/lpd/pio/fmtrs. ’piof5202 –l’, sans guillemet simple, est associé à cette chaîne pour que la valeur de l’indicateur –! à ce point devienne /usr/lib/lpd/pio/fmtrs/piof5202 –l. –l est un indicateur de piof5202, le programme de formatage de l’unité d’un flot de données ASCII sur une imprimante IBM 4029 LaserPrinter, spécifiant la largeur de la page en terme de nombre de caractères. Le calcul de l’argument de l’indicateur –l, %IwL, est décrit à la section ”Calcul de la longueur de page via les séquences d’échappement du fichier deux-points de l’imprimante”, page 4-149. 4-148 Imprimantes et impression Guide de l’utilisateur Calcul de la longueur de page à l’aide des séquences d’échappement du fichier deux-points de l’imprimante Le fichier deux-points de l’imprimante pour une file d’attente ASCII sur une IBM 4029 LaserPrinter définit la longueur de page, en ligne, via l’attribut de travail wL. Obtenir une valeur numérique pour wL suppose l’évaluation des références imbriquées dans la définition de wL. Tel que formaté par la commande lsvirprt, wL est défini comme suit : Page Length In Chars, Using Length From Data Base (used in pipelines) wL = %?%Cl%t%f!l%e%I_l%; %? %Cl %f!l OUTPUT %e %I_l %; <IF> PUSH: (1 If –l Flag on Command Line; Otherwise 0) %t <THEN> For Each Flag x on Command Line: ”–xArgument” –> <ELSE> INCLUDE: (LINES per page) <END> Le %Cl vérifie si l’indicateur l a été spécifié sur la ligne de commande ; si oui, un 1 est poussé sur la pile, sinon un 0 est poussé sur la pile. Dans ce cas, l’indicateur l n’a pas été spécifié sur la ligne de commande, un 0 est donc poussé sur la pile. Le %t recherche une valeur vraie (non nulle) sur la pile, et s’il n’en trouve pas, exécute le module %e (else) %I_l. _l est défini comme %IwX, indiqué ci-dessous tel que formaté par la commande lsvirprt. Default Page Length (lines) wY = %?%G_z%{1}%&%t%GwJ%e%GwK%;%G_v%*%{300}%/%d %G_z %{1} %& %GwJ %e %GwK %; %G_v %* %{300} %/ %d %? PUSH: PUSH: PUSH: %t PUSH: <IF> (Page ORIENTATION) (Integer Constant 1) (pop2 & pop1) –– Bitwise AND <THEN> (Primary Page Width (–z 0) or Secondary Page Length (–z1), in pels) <ELSE> PUSH: (Primary Page Length (–z 0) or Secondary Page Width (–z1), in pels) <END> PUSH: (LINE DENSITY (lines per inch)) PUSH: (pop2 * pop1) PUSH: (Integer Constant 300) PUSH: (pop2 / pop1) POP –> ASCII String –> OUTPUT Le calcul de _l commence en poussant la valeur de _z, orientation de la page, sur la pile. La commande de soumission de travail utilisée dans cet exemple, qprt –a1 –Pasc –fp –zl –p12 –scourier –C –N3 /etc/motd, spécifie une valeur de z égale à 1, de sorte qu’un 1 est poussé sur la pile. Le %{1} pousse un autre 1 sur la pile, après quoi le %& écarte les deux valeurs du haut (les deux 1) de la pile et effectue un AND au niveau du bit avec les deux valeurs. Le résultat du AND au niveau du bit, un 1, est poussé sur la pile. Remarque : Le test est un AND au niveau du bit et non un simple test d’égalité car les valeurs admises de l’indicateur z sont 0, 1, 2 et 3, correspondant au nombre admis de rotations de 90 degrés applicables à une page imprimée. Le %t suivant trouve un 1 sur la pile et la clause ”then”, %GwJ, est ainsi résolue avant qu’un autre travail ne résolve _l. Imprimante, traceur et programmation du sous–système de spoulage 4-149 Tel que formaté par la commande lsvirprt, wJ est défini comme suit : Primary Page Width (–z 0) or Secondary Page Length (–z1), in pels wJ = %G_Q%Pq%?%GWu%{3}%<%t%?%gq%{1}%=%t%{2400}%e%gq%{2}%=%t%{2400 }%e%gq%{3}%=%t%{1999}%e%gq%{4}%=%t%{2330}%e%{2025}%;%e%?%gq%{1}%= %t%{1012}%e%gq%{2}%=%t%{1012}%e%gq%{3}%=%t%{1087}%e%gq%{4}%=%t%{1 149}%e%gq%{5}%=%t%{1763}%e%{1928}%;%;%d %G_Q %Pq PUSH: (PAPER SIZE override for input paper source) POP –> Internal Variable q %? <IF> %GWu PUSH: (Calculate value for paper source based on _ O and _u.) %{3} PUSH: (Integer Constant 3) %< PUSH: (pop2 < pop1 ?) %t <THEN> %? <IF> %gq PUSH: (Internal Variable q) %{1} PUSH: (Integer Constant 1) %= PUSH: (pop2 = pop1 ?) %t <THEN> %{2400} PUSH: (Integer Constant 2400) %e <ELSE> %gq PUSH: (Internal Variable q) %{2} PUSH: (Integer Constant 2) %= PUSH: (pop2 = pop1 ?) %t <THEN> %{2400} PUSH: (Integer Constant 2400) %e <ELSE> %gq PUSH: (Internal Variable q) %{3} PUSH: (Integer Constant 3) %= PUSH: (pop2 = pop1 ?) %t <THEN> %{1999} PUSH: (Integer Constant 1999) %e <ELSE> %gq PUSH: (Internal Variable q) %{4} PUSH: (Integer Constant 4) %= PUSH: (pop2 = pop1 ?) %t <THEN> %{2330} PUSH: (Integer Constant 2330) %e <ELSE> %{2025} PUSH: (Integer Constant 2025) %; <END> %e <ELSE> %? <IF> %gq PUSH: (Internal Variable q) %{1} PUSH: (Integer Constant 1) %= PUSH: (pop2 = pop1 ?) %t <THEN> %{1012} PUSH: (Integer Constant 1012) %e <ELSE> %gq PUSH: (Internal Variable q) %{2} PUSH: (Integer Constant 2) %= PUSH: (pop2 = pop1 ?) %t <THEN> %{1012} PUSH: (Integer Constant 1012) %e <ELSE> %gq PUSH: (Internal Variable q) %{3} PUSH: (Integer Constant 3) %= PUSH: (pop2 = pop1 ?) %t <THEN> %{1087} PUSH: (Integer Constant 1087) %e <ELSE> %gq PUSH: (Internal Variable q) %{4} PUSH: (Integer Constant 4) 4-150 Imprimantes et impression Guide de l’utilisateur %= %; %d PUSH: (pop2 = pop1 ?) %t <THEN> %{1149} PUSH: (Integer Constant 1149) %e <ELSE> %gq PUSH: (Internal Variable q) %{5} PUSH: (Integer Constant 5) %= PUSH: (pop2 = pop1 ?) %t <THEN> %{1763} PUSH: (Integer Constant 1763) %e <ELSE> %{1928} PUSH: (Integer Constant 1928) %; <END> <END> POP –> ASCII String –> OUTPUT Le calcul de wJ commence en poussant la valeur de _Q, la taille de papier de remplacement pour la source d’entrée du papier, sur la pile. La valeur de _Q est définie comme %IwQ. Tel que formaté par la commande lsvirprt, wQ est défini comme suit : Paper or Envelope Size For the Paper Source Selected By the –O and –u Flag Values (Refer to the s0, s1, s2, s3, and s4 attributes) wQ= %?%GWu%{0}%=%t%Gs0%e%GWu%{1}%=%t%Gs1%e%GWu%{2}%=%t%Gs2%e%GWu%{3}% =%t%Gs3%e%Gs4%;%d %? <IF> %GWu PUSH: (Calculate value for paper source based on _O and _u.) %{0} PUSH: (Integer Constant 0) %= PUSH: (pop2 = pop1 ?) %t <THEN> %Gs0 PUSH: (PAPER SIZE for manual paper feed) %e <ELSE> %GWu PUSH: (Calculate value for paper source based on _O and _u.) %{1} PUSH: (Integer Constant 1) %= PUSH: (pop2 = pop1 ?) %t <THEN> %Gs1 PUSH: (PAPER SIZE for tray 1 (upper)) %e <ELSE> %GWu PUSH: (Calculate value for paper source based on _O and _u.) %{2} PUSH: (Integer Constant 2) %= PUSH: (pop2 = pop1 ?) %t <THEN> %Gs2 PUSH: (PAPER SIZE for tray 2 (lower)) %e <ELSE> %GWu PUSH: (Calculate value for paper source based on _O and _u.) %{3} PUSH: (Integer Constant 3) %= PUSH: (pop2 = pop1 ?) %t <THEN> %Gs3 PUSH: (ENVELOPE SIZE for envelope feeder) %e <ELSE> %Gs4 PUSH: (ENVELOPE SIZE for manual envelope feed) %; <END> %d POP –> ASCII String –> OUTPUT Le calcul de wQ commence en poussant la valeur de Wu sur la pile. Tel que formaté par la commande lsvirprt, Wu est défini comme suit : Calculate value for paper source based on _O and _u. Wu = %?%CO%t%?%G_O%{1}%=%t%?%Cu%t%?%G_u%{2}%>%t%{4}%e%{0}%;%e%{0}%;%e% G_u%;%e%G_u%;%d Imprimante, traceur et programmation du sous–système de spoulage 4-151 %? <IF> PUSH: (1 If –O Flag on Command Line; Otherwise 0) %t <THEN> %? <IF> %G_O PUSH: (Type of INPUT PAPER HANDLING (backward compatibility purpose only)) %{1} PUSH: (Integer Constant 1) %= PUSH: (pop2 = pop1 ?) %t <THEN> %? <IF> %Cu PUSH: (1 If –u Flag on Command Line; Otherwise 0) %t <THEN> %? <IF> %G_u PUSH: (Input PAPER SOURCE) %{2} PUSH: (Integer Constant 2) %> PUSH: (pop2 > pop1 ?) %t <THEN> %{4} PUSH: (Integer Constant 4) %e <ELSE> %{0} PUSH: (Integer Constant 0) %; <END> %e <ELSE> %{0} PUSH: (Integer Constant 0) %; <END> %e <ELSE> %G_u PUSH: (Input PAPER SOURCE) %; <END> %e <ELSE> %G_u PUSH: (Input PAPER SOURCE) %; <END> %d POP –> ASCII String –> OUTPUT %CO Le calcul de la valeur de Wu commence par l’évaluation de %CO, lequel pousse un 1 sur la pile si l’indicateur O a été spécifié sur la ligne de commande, un 0 sinon. La commande de soumission de travail utilisée dans cet exemple n’a pas utilisé l’indicateur O, un 0 est donc poussé sur la pile. Le %t suivant, trouvant un 0 sur la pile, saute les 23 lignes suivantes des séquences d’échappement du fichier deux-points de l’imprimante et évalue la clause %e (else) sur la quatrième ligne à partir du bas de la forme formatée de l’attribut Wu. La clause else est %G_u, laquelle pousse la valeur de _u, source de papier en entrée, sur la pile. La valeur par défaut de _u pour cette imprimante virtuelle est 1, un 1 est donc poussé sur la pile. Le %; suivant met fin au %? d’origine. La dernière séquence d’échappement, %d, écarte la valeur du haut (un 1) de la pile et la renvoie, en format ASCII, au calcul en cours de wQ. Le 1 renvoyé au calcul en cours de wQ est la valeur de Wu, et est poussé sur la pile. Le %{0} suivant pousse un 0 sur la pile. %=écarte les deux valeurs du haut (un 0 et un1) de la pile, examine si elles sont égales et, si non, pousse un 0 sur la pile. Le %t suivant trouve le 0 et donc saute le %Gs0 et évalue à la place la clause %e (else). Wu (un 1) est de nouveau poussé sur la pile. Le %{1} pousse un autre 1 sur la pile. Le %= écarte à nouveau les deux valeurs du haut (deux 1) de la pile, examine si elles sont égales et, si oui, pousse un 1 sur la pile. Le %t suivant trouve le 1 et évalue donc le %Gs1. L’attribut s1 est un nombre représentant la taille de papier pour le plateau 1, le plateau supérieur, et sa valeur par défaut dans la définition d’imprimante virtuelle est 1. Ce 1 est poussé sur la pile. Toutes les séquences d’échappement du fichier deux-points de l’imprimante, sauf la dernière, de l’évaluation de wQ sont sautées. Le %d écarte la valeur du haut (un 1) de la pile et la renvoie, en format ASCII, au calcul en cours de wJ. 4-152 Imprimantes et impression Guide de l’utilisateur Le 1 renvoyé au calcul en cours de wJ est la valeur de _Q, et est poussé sur la pile. Il est immédiatement écarté de la pile et stocké dans la variable interne q. Wu, déjà déterminé être 1, est poussé à nouveau sur la pile. %{3} pousse un 3 sur la pile, puis le %< écarte les deux valeurs du haut de la pile et vérifie si la seconde valeur écartée est inférieure à la première. 1 est inférieur à 3, un 1 est donc poussé sur la pile. Le %t trouve le 1 et entre en conséquence dans la séquence if–then–else–then–else–then–else... à la recherche d’un entier à apparier avec la valeur de la taille de papier calculée pour _Q. Le %gq récupère la valeur stockée de _Q dans la variable interne q, et la pousse sur la pile. Le %{1} pousse un autre 1 sur la pile. Le %= écarte les deux valeurs du haut (deux 1) de la pile, examine si elles sont égales et, si oui, pousse un 1 sur la pile. Le %t trouve le 1 et évalue le %{2400}, lequel pousse un 2400 sur la pile. Le calcul de wJ passe en séquence sur toutes, sauf la dernière ligne, les séquences d’échappement restantes du fichier deux-points de l’imprimante définissant wJ. La dernière séquence d’échappement, %d, écarte la valeur du haut, 2400, de la pile et la renvoie, en format ASCII, au calcul en cours de wY. Le 2400 renvoyé au calcul en cours de wY est la valeur de wJ, et est poussé sur la pile. Le %GwK de cette clause ”else” est sauté et le %; met fin à la séquence if–then–else. Le %G_v récupère la densité de ligne (en lignes au pouce), 6, et le pousse sur la pile. Le %* écarte les deux valeurs du haut (un 6 et un2400) de la pile, les multiplie et pousse le résultat (14400) sur la pile. Le %{300} pousse un 300 sur la pile. Le %/ écarte les deux valeurs du haut (un 14000 et un 300) de la pile, divise la seconde valeur écartée de la pile par la première, et pousse le résultat (48) sur la pile. Le %d écarte la valeur du haut (48) de la pile et la renvoie au calcul en cours de wL. Le 48 renvoyé au calcul en cours de wL est la valeur de _l. La valeur de wL a été référencée à l’origine dans la détermination de la valeur de l’attribut ia, le pipeline du flot de données en entrée pour les travaux ASCII. Le nombre 48 remplace le %IwL dans cette détermination, de sorte que la valeur de l’indicateur –! de pioformat devient /usr/lib/lpd/pio/fmtrs/piof5202 –l48. Le –148 peut être vu dans le message de diagnostic d’origine de piobe à la base de cette discussion ; il fait partie de la section PIPELINE OF FILTERS du courrier envoyé par qdaemon pour le compte de piobe. Le calcul de la valeur associée à l’indicateur –w de piof5202, est décrit à la section ”Calcul de la largeur de page via les séquences d’échappement du fichier deux-points de l’imprimante”, page 4-159. La figure Calcul de la longueur de page décrit les opérations de piles (décrites plus haut) utilisées pour obtenir une valeur numérique finale de longueur de page (en lignes). Les étapes numérotées suivantes correspondent aux nombres à gauche des colonnes dans la figure, et donnent une description pas à pas de l’évaluation des séquences d’échappement du fichier deux-points de l’imprimante qui définissent la longueur de page, en lignes, pour cette file d’attente donnée (asc), le fichier deux-points et la ligne de commande. Imprimante, traceur et programmation du sous–système de spoulage 4-153 %d 34 33 2400 32 39 38 48 %t %d 31 1 %= 23 %/ 30 1 %{1} 22 %{300} 29 1 %gq 21 %* 28 %t 20 1 %= %d 1 %Gs1 37 300 36 14400 35 6 %G_v 27 1 %< 19 1 %{1} 7 2400 %GwJ 26 3 %{3} 18 1 %GWu %t 25 1 %GWu 17 24 %Pq 16 %GwQ %G_Q 6 5 1 %& 2 48 %I_l 4 1 %{1} 9 1 0 %Cl 3 1 %G_z 8 wL %{2400} _l 1 %t %t 14 0 %= 13 15 0 %{0} 12 10 1 %GWu 11 wJ wQ %d 1 %G_u %t 0 %CO Wu Calcul de la longueur de page 1. %Cl – Pousse un 0 sur la pile, dans la mesure où l’indicateur l n’a pas été utilisé sur la ligne de commande. 2. %I_l – Appelle l’évaluation de _l. 3. %G_z – Pousse un 1 sur la pile. 4. %{1} – Pousse un 1 sur la pile. 5. %& – Écarte les deux valeurs du haut (deux 1) de la pile, effectue un AND au niveau du bit sur les deux valeurs et pousse le 1 résultant sur la pile. 6. %t – Écarte le 1 de la pile et, dans la mesure où il s’agit d’une valeur VRAIE (non nulle), appelle l’évaluation de %GwJ. La pile _l est désormais vide. 7. %GwJ – Appelle l’évaluation de wJ. 8. %G_Q – Appelle l’évaluation de wQ. 9. %GwQ – Appelle l’évaluation de GWu. 10.%GWu – Appelle l’évaluation de Wu. 11. %CO – Pousse un 0 sur la pile, dans la mesure où l’indicateur O n’a pas été utilisé sur la ligne de commande. 12.%t – Écarte le 0 de la pile et dans la mesure où il s’agit d’une valeur FAUSSE (zéro), appelle l’évaluation de %G_u. La pile appelée Wu est maintenant vide. 13.%G_u – Pousse un 1 sur la pile. 14.%d – Écarte le 1 de la pile et le renvoie, en format ASCII, au calcul en cours de wQ. 15.%{0} – Pousse un 0 sur la pile. 16.%= – Écarte le 0 et le 1 de la pile, compare s’ils sont égaux et pousse le 0 résultant sur la pile. 17.%t – Écarte le 0 de la pile et, dans la mesure où il s’agit d’une valeur FAUSSE (nulle), appelle l’évaluation de %GwU. 4-154 Imprimantes et impression Guide de l’utilisateur 18.%GWu – Cette valeur est déjà connue, un 1 est donc poussé sur la pile. 19.%{1} – Pousse un 1 sur la pile. 20.%= – Écarte les deux 1 de la pile, compare s’ils sont égaux et pousse le 1 résultant sur la pile. 21.%t – Écarte le 1 de la pile et, dans la mesure où il s’agit d’une valeur VRAIE (non nulle), appelle l’évaluation de %Gs1. 22.%Gsl – Pousse un 1 sur la pile. 23.%d – Écarte le 1 de la pile et le renvoie, en format ASCII, au calcul en cours de wJ. 24.%Pq – Écarte le 1 de la pile et le stocke dans la variable interne q. 25.%GWu – Cette valeur est déjà connue, un 1 est donc poussé à nouveau sur la pile. 26.%{3} – Pousse un 3 sur la pile. 27.%< – Écarte le 3 et le 1 de la pile et, 1 étant inférieur à 3, pousse un 1 sur la pile. 28.%t – Écarte le 1 de la pile et, dans la mesure où il s’agit d’une valeur VRAIE (non nulle), appelle l’évaluation de %gq. 29.%gq – Pousse la valeur de la variable interne q, un 1, sur la pile. 30.%{1} – Pousse un 1 sur la pile. 31.%= – Écarte les deux 1 de la pile, compare s’ils sont égaux et pousse le 1 résultant sur la pile. 32.%t – Écarte le 1 de la pile et, dans la mesure où il s’agit d’une valeur VRAIE (non nulle), appelle l’évaluation de %{2400}. 33.%{2400} – Pousse un 2400 sur la pile. 34.%d – Écarte le 2400 de la pile et le renvoie, en format ASCII, au calcul en cours de _l. 35.%G_v – Pousse un 6 sur la pile. 36.%* – Écarte le 6 et le 2400 de la pile, les multiplie et pousse le 14400 résultant sur la pile. 37.%{300} – Pousse un 300 sur la pile. 38.%/ – Écarte le 300 et le 14400 de la pile, divise14400 par 300 et pousse le 48 résultant sur la pile. 39.%d – Écarte le 48 de la pile et le renvoie, en format ASCII, au calcul en cours de ia, le pipeline du flot de données en entrée pour les travaux ASCII. Fonctionnement de la pile de langages décrivant la longueur de page Pour aller au-delà de la description mécanique de ce qui se passe lorsque piobe résout les références à %lWL, voici quelques éléments permettant de comprendre pourquoi la logique des séquences d’échappement du fichier deux-points de l’imprimante fonctionne. Les références techniques des imprimantes IBM LaserPrinter série 4029 contiennent une figure et un tableau qui décrivent les zones imprimables et non imprimables d’une page, ainsi que les dimensions du papier et des enveloppes, en pels, pour les tailles standard de papier et d’enveloppe. Par exemple, la zone imprimable sur une page de 8,5 x 11 pouces (largeur par longueur) est de 2400 x 3200 pels (largeur par longueur). Notez que si la page est pivotée de 90 ou 270 degrés pour une impression paysage, les dimensions sont permutées et deviennent 3200 x 2400 pels (largeur par longueur). Imprimante, traceur et programmation du sous–système de spoulage 4-155 L’évaluation de %IwL commence par la vérification de l’utilisation de l’indicateur l sur la ligne de commande ; si oui, aucun calcul n’est effectué. La valeur demandée sera utilisée. (ce qui ne garantit qu’elle fonctionnera.) Si l’indicateur l n’a pas été spécifié sur la ligne de commande, piobe doit alors déterminer la longueur de page dans l’environnement actuel du travail, comme défini par les autres indicateurs de la ligne de commande et par les valeurs par défaut du fichier deux-points. Le premier élément vérifié dans l’évaluation de _l (longueur de page) est l’orientation de la page (_z). Comme indiqué plus haut, pivoter la page par un multiple impair de 90 degrés permute les dimensions de la page. En examinant l’instruction if–then–else au début de la définition de wY, vous pouvez constater que la valeur de _z est un commutateur qui contrôle lequel de wJ ou de wK sera utilisé pour la longueur de page. Si la page est orientée en portrait, wK est la longueur. Si la page est orientée en paysage, wJ est la longueur. Une fois résolue la longueur de page en pels, le reste des séquences d’échappement dans la définition de wY ne prend plus en compte que la densité verticale de lignes lors de la conversion du nombre de pels en nombre de lignes. wJ est sélectionné car la page est orientée en paysage. Ainsi ce que nous savons jusqu’ici est que les dimensions ont été permutées, mais toujours pas ce que sont réellement ces dimensions. L’évaluation de wJ commence par la récupération de la valeur (le cas échéant) de l’utilisation de l’indicateur Q sur la ligne de commande, qui est une valeur dépendante de l’imprimante demandant une taille de papier spécifique. Si l’indicateur Q a été spécifié sur la ligne de commande, cette valeur est utilisée pour sélectionner la longueur du papier en pels, sinon la valeur de Q est déterminée en évaluant Wu, qui est une valeur pour la source du papier basée sur les attributs _O (type de gestion du papier en entrée) et _u (source du papier en entrée). Notez que _Q est défini comme %IwQ, dont la définition commence par %IWu. Si Q n’a pas été utilisé sur la ligne de commande, l’évaluation de Wu détermine que l’indicateur O n’a pas été utilisé non plus, et exécute donc la clause else de l’instruction if–then–else extérieure dans la définition de Wu, renvoyant la valeur par défaut du fichier deux–points de _u, 1, à l’évaluation de wQ. Dans la mesure où cette opération est d’autant plus complexe que l’est l’imbrication des séquences d’échappement pour l’évaluation de _l, mieux vaut étudier de près la logique définissant Wu. Conservez à l’esprit les définitions et les valeurs admises de O, u et Q, à savoir : • O – type de gestion du papier en entrée – 1 (manuelle), 2 (papier en continu), 3 (alimentation feuille à feuille) – feuille à feuille par défaut. • u – source du papier en entrée – 1 (principal), 2 (secondaire), 3 (enveloppe) – principal par défaut. • Q – taille du papier pour la source en entrée – les valeurs dépendent de l’imprimante – définies par la combinaison de O et de u. Les séquences d’échappement définissant Wu stipulent : • Cas 1 : Si l’indicateur O n’a pas été utilisé sur la ligne de commande, renvoie la valeur par défaut du fichier deux-points pour _u. Par exemple, si l’utilisateur n’a pas spécifié de type de gestion de papier en entrée, renvoie la source du papier en entrée (à partir de la ligne de commande ou la valeur par défaut issue du fichier deux-points) à l’évaluation de %IwQ. • Cas 2 : Si l’indicateur O a été utilisé sur la ligne de commande, mais que sa valeur est autre que 1 renvoie la valeur par défaut du fichier deux-points pour _u. Par exemple, si l’utilisateur a spécifié un type de gestion du papier autre que manuelle, renvoie la source du papier en entrée (à partir de la ligne de commande ou la valeur par défaut issue du fichier deux-points) à l’évaluation de %IwQ. 4-156 Imprimantes et impression Guide de l’utilisateur • Cas 3 : Si l’indicateur O a été spécifié sur la ligne de commande et que sa valeur est 1, et que l’indicateur u n’a pas été utilisé sur la ligne de commande, renvoie un 0. Par exemple, si l’utilisateur a spécifié une gestion manuelle du papier, mais n’a pas spécifié la source du papier en entrée, renvoie un 0 à l’évaluation de %IwQ. • Cas 4 : Si l’indicateur O a été spécifié sur la ligne de commande et que sa valeur est 1, et que l’indicateur u a été utilisé sur la ligne de commande et que sa valeur est inférieure à 2, renvoie un 0. Par exemple, si l’utilisateur a spécifié une gestion manuelle du papier, ainsi que le bac principal ou secondaire, renvoie un 0 à l’évaluation de %IwQ. • Cas 5 : Si l’indicateur O a été spécifié sur la ligne de commande et que sa valeur est 1, et que l’indicateur u a été utilisé sur la ligne de commande et que sa valeur est supérieure à 2, renvoie un 4. Par exemple, si l’utilisateur a spécifié une gestion manuelle du papier, ainsi que le bac d’enveloppe, renvoie un 4 à l’évaluation de %IwQ. La définition de wQ est une instruction if–then–else–then–else–then–else–then–else qui compare à répétition la valeur de Wu aux entiers 0, 1, 2 et 3, à la recherche d’une correspondance. La correspondance sélectionne la valeur des attributs s0, s1, s2, s3 ou s4, respectivement (s4 est sélectionné s’il n’y a pas d’autre correspondance). Les élément définis par ces attributs sont les suivants : • s0 – taille de papier pour alimentation manuelle • s1 – taille de papier pour plateau 1 (supérieur) • s2 – taille de papier pour plateau 2 (inférieur) • s3 – taille d’enveloppe pour le chargeur d’enveloppe • s4 – taille d’enveloppe pour l’alimentation manuelle d’enveloppes Dans la définition d’imprimante virtuelle pour une file d’attente ASCII sur une imprimante IBM 4029 LaserPrinter, il existe seulement deux valeurs uniques pour ces cinq attributs : s0, s1 et s2 valent tous 1, tandis que s3 et s4 valent tous deux 3. En examinant les séquences d’échappement, vous pouvez constater que la définition de wJ est composée d’une instruction if–then–else extérieure. Les éléments if et else de cette instruction contiennent tous deux une chaîne d’instructions if–then–else–then–else... La valeur de Wu (valeur de la source de papier, basée sur O et u) détermine l’élément if ou else de l’instruction extérieure exécuté ; si Wu est égal 1 ou 2 (inférieur à 3), l’élément if est exécuté, sinon c’est l’élément else. C’est au moment de la détermination finale de wJ que la longueur de page, en pels, est fixée. L’élément if de l’instruction if–then–else extérieure définissant wJ sélectionne une valeur de pel dans une plage de tailles de papier hors enveloppes ; l’élément else de l’instruction if–then–else extérieure sélectionne une valeur de pel dans une plage de tailles d’enveloppes. Wu contrôle l’élément de l’instruction if–then–else exécuté, mais, une fois l’élément if ou else choisi, c’est la valeur de Q qui entraîne la sélection d’une valeur de pel. Les cinq cas ci-dessus fonctionnent comme suit : Cas 1 : La valeur u indiquée sur la ligne de commande ou la valeur par défaut issue du fichier deux-points (1, plateau principal) est renvoyée à l’évaluation de wQ. Les séquences d’échappement restantes dans la définition de wQ testent la valeur de Wu et sélectionnent l’une des valeurs de s0, s1, s2, s3 ou s4. Cette valeur est à son tour renvoyée à l’évaluation de wJ. Si u est égal à 1 ou à 2, Q est égal à 1 (taille de papier non enveloppe). Si u est égal à 3, Q est égal à 3 (taille enveloppe). A la reprise de l’évaluation de wJ, une valeur de u égale à 1 ou à 2 dirige le processus vers l’élément if de l’instruction if–then–else extérieure, et la valeur de Q, 1, sélectionne une longueur de page de 2400 pels. Une valeur u égale à 3 dirige le processus vers l’élément else de l’instruction if–then–else extérieure, et la valeur Q, 3, sélectionne une longueur d’enveloppe de 1087 pels. Cas 2 : Identique au cas 1. Imprimante, traceur et programmation du sous–système de spoulage 4-157 Cas 3 : L’utilisateur a spécifié une gestion manuelle du papier sur la ligne de commande, mais n’a pas spécifié une source de papier, de sorte que Wu est affecté de la valeur 0, et que cette valeur est renvoyée à l’évaluation de wQ. Le 0 entraîne l’affectation à wQ de la valeur s0 (taille de papier pour une alimentation manuelle, un 1). A la reprise de l’évaluation de wJ, une valeur de u égale à 0 dirige le processus vers l’élément if de l’instruction if–then–else extérieure, et la valeur de Q, 1 (s0), sélectionne une longueur de page de 2400 pels. Cas 4 : L’utilisateur a spécifié une gestion manuelle de l’alimentation papier sur la ligne de commande et a également utilisé l’indicateur u pour spécifier la source de papier (principale ou secondaire – mais en aucun cas d’enveloppes). Comme dans le cas 3, une longueur de page de 2400 pels est sélectionnée. Cas 5 : L’utilisateur a spécifié une gestion manuelle du papier sur la ligne de commande, et a également spécifié une source de papier enveloppe, de sorte que Wu est affecté de la valeur 4, et que cette valeur est renvoyée à l’évaluation de wQ. Le 4 entraîne l’affectation à wQ de la valeur s4 (taille de papier pour une alimentation manuelle en enveloppe, un 3). A la reprise de l’évaluation de wJ, une valeur de u égale à 4 dirige le processus vers l’élément else de l’instruction if–then–else extérieure, et la valeur de Q, 3, sélectionne une longueur de page de 1087 pels. Notre exemple est le cas 1 : ni l’indicateur O, ni l’indicateur u n’ont été spécifiés sur la ligne de commande, Wu est dons affecté de la valeur 1, la valeur par défaut _u pour ce fichier deux-points. A la reprise de l’évaluation de wQ, la correspondance a lieu sur s1, et un 1 est renvoyé à l’évaluation de wJ. Une valeur u égale à 1 dirige le processus vers l’élément if de l’instruction if–then–else extérieure, et la valeur Q, 1, sélectionne une longueur de page de 2400 pels. Cette valeur est renvoyée à l’évaluation de _l. La raison des séquences d’échappement restantes du fichier deux-points de l’imprimante définissant _l est que s’il y a 2400 pels disponibles (verticalement), et que nous voulons six lignes au pouce et que la résolution de l’imprimante est de 300 pels au pouce, 48 lignes peuvent être imprimés sur une page. La valeur 48 est renvoyée à l’évaluation de ia. Voilà à la base l’origine du –148 dans la section PIPELINE OF FILTERS. 4-158 Imprimantes et impression Guide de l’utilisateur Calcul de la largeur de page à l’aide des séquences d’échappement du fichier deux-points de l’imprimante Le fichier deux-points de l’imprimante pour une file d’attente ASCII sur une IBM 4029 LaserPrinter définit la largeur de page, en caractères, via l’attribut de travail wW. Tel que formaté par la commande lsvirprt, wW est défini comme suit : Page Width In Characters, Using Width From Data Base (used in pipelines) wW = %?%Cw%t%f!w%e%I_w%; %? %Cw %f!w OUTPUT %e %I_w %; <IF> PUSH: (1 If –w Flag on Command Line; Otherwise 0) %t <THEN> For Each Flag x on Command Line: ”–xArgument” –> <ELSE> INCLUDE: (COLUMNS per page) <END> Le %Cw vérifie si l’indicateur w a été spécifié sur la ligne de commande ; si oui, un 1 est poussé sur la pile, sinon un 0 est poussé sur la pile. Dans ce cas, l’indicateur w n’a pas été spécifié sur la ligne de commande, un 0 est donc poussé sur la pile. Le %t recherche une valeur vraie (non nulle) sur la pile, et s’il n’en trouve pas, exécute le module %e (else) %I_w. _w est défini comme %IwX, indiqué ci-dessous tel que formaté par la commande lsvirprt. Default Page Width (characters) wX = %?%G_z%{1}%&%t%GwK%e%GwJ%;%?%G_p%{17}%=%t%{171}%e%G_p%{10}%*%;%*% ?%G_W%t%{6000}%e%{3000}%;%/%d Imprimante, traceur et programmation du sous–système de spoulage 4-159 %? <IF> PUSH: (Page ORIENTATION) PUSH: (Integer Constant 1) PUSH: (pop2 & pop1) –– Bitwise AND %t <THEN> %GwK PUSH: (Primary Page Length (–z 0) or Secondary Page Width (–z 1), in pels) %e <ELSE> %GwJ PUSH: (Primary Page Width (–z 0) or Secondary Page Length (–z 1), in pels) %; <END> %? <IF> %G_p PUSH: (PITCH (characters per inch)) %{17} PUSH: (Integer Constant 17) %= PUSH: (pop2 = pop1 ?) %t <THEN> %{171} PUSH: (Integer Constant 171) %e <ELSE> %G_p PUSH: (PITCH (characters per inch)) %{10} PUSH: (Integer Constant 10) %* PUSH: (pop2 * pop1) %; <END> %* PUSH: (pop2 * pop1) %? <IF> %G_W PUSH: (DOUBLE–WIDE print?) %t <THEN> %{6000} PUSH: (Integer Constant 6000) %e <ELSE> %{3000} PUSH: (Integer Constant 3000) %; <END> %/ PUSH: (pop2 / pop1) %d POP –> ASCII String –> OUTPUT %G_z %{1} %& Le calcul de _w commence en poussant la valeur de _z, orientation de la page, sur la pile. La commande de soumission de travail utilisée dans cet exemple, qprt –a1 –Pasc –fp –p12 –scourier –C –N3 /etc/motd, spécifie une valeur de z égale à 1, de sorte qu’un 1 est poussé sur la pile. Le %{1} pousse un autre 1 sur la pile, après quoi le %& écarte les deux valeurs du haut (les deux 1) de la pile et effectue un AND au niveau du bit avec les deux valeurs. Le résultat du AND au niveau du bit, un 1, est poussé sur la pile. Remarque : Le test est un AND au niveau du bit et non un simple test d’égalité car les valeurs admises de l’indicateur z sont 0, 1, 2 et 3, correspondant au nombre admis de rotations de 90 degrés applicables à une page imprimée. Le %t suivant trouve une valeur vraie (non nulle) sur la pile et la clause ”then” %GwK est ainsi résolue avant qu’un autre travail ne résolve _w. Tel que formaté par la commande lsvirprt, wK est défini comme suit : Primary Page Length (–z 0) or Secondary Page Width (–z 1), in pels wK = %G_Q%Pq%?%GWu%{3}%<%t%?%gq%{1}%=%t%{3200}%e%gq%{2}%=%t%{4100}%e%g q%{3}%=%t%{2935}%e%gq%{4}%=%t%{3407}%e%{3050}%;%e%?%gq%{1}%=%t%{2 150}%e%gq%{2}%=%t%{2562}%e%gq%{3}%=%t%{2750}%e%gq%{4}%=%t%{2498}% e%gq%{5}%=%t%{2604}%e%{2852}%;%;%d %G_Q %Pq %GWu _O and _u.) %{3} 4-160 PUSH: (PAPER SIZE override for input paper source) POP –> Internal Variable q %? <IF> PUSH: (Calculate value for paper source based on PUSH: (Integer Constant 3) Imprimantes et impression Guide de l’utilisateur %< PUSH: (pop2 < pop1 ?) <THEN> <IF> %gq PUSH: (Internal Variable q) %{1} PUSH: (Integer Constant 1) %= PUSH: (pop2 = pop1 ?) %t <THEN> %{3200} PUSH: (Integer Constant 3200) <ELSE> %gq PUSH: (Internal Variable q) %{2} PUSH: (Integer Constant 2) %= PUSH: (pop2 = pop1 ?) %t <THEN> %{4100} PUSH: (Integer Constant 4100) <ELSE> %gq PUSH: (Internal Variable q) %{3} PUSH: (Integer Constant 3) %= PUSH: (pop2 = pop1 ?) %t <THEN> %{2935} PUSH: (Integer Constant 2935) <ELSE> %gq PUSH: (Internal Variable q) %{4} PUSH: (Integer Constant 4) %= PUSH: (pop2 = pop1 ?) %t <THEN> %{3407} PUSH: (Integer Constant 3407) <ELSE> %{3050} PUSH: (Integer Constant 3050) <END> <ELSE> %? <IF> %gq PUSH: (Internal Variable q) %{1} PUSH: (Integer Constant 1) %= PUSH: (pop2 = pop1 ?) %t <THEN> %{2150} PUSH: (Integer Constant 2150) <ELSE> %gq PUSH: (Internal Variable q) %{2} PUSH: (Integer Constant 2) %= PUSH: (pop2 = pop1 ?) %t <THEN> %{2562} PUSH: (Integer Constant 2562) <ELSE> %gq PUSH: (Internal Variable q) %{3} PUSH: (Integer Constant 3) %= PUSH: (pop2 = pop1 ?) %t <THEN> %{2750} PUSH: (Integer Constant 2750) <ELSE> %gq PUSH: (Internal Variable q) %{4} PUSH: (Integer Constant 4) %= PUSH: (pop2 = pop1 ?) %t <THEN> %{2498} PUSH: (Integer Constant 2498) <ELSE> %gq PUSH: (Internal Variable q) %{5} PUSH: (Integer Constant 5) %= PUSH: (pop2 = pop1 ?) %t <THEN> %{2604} PUSH: (Integer Constant 2604) <ELSE> %{2852} PUSH: (Integer Constant 2852) <END> <END> %t %? %e %e %e %e %; %e %e %e %e %e %e %; %; Imprimante, traceur et programmation du sous–système de spoulage 4-161 %d POP –> ASCII String –> OUTPUT Le calcul de wK commence en poussant la valeur de _Q, la taille de papier de remplacement pour la source d’entrée du papier, sur la pile. La valeur de _Q est définie comme %IwQ. A ce stade de calcul de Wk, nous en sommes exactement où nous étions lors du calcul de wJ, c’est-à-dire à tenter de déterminer une valeur pour wQ et Wu. Dans le contexte d’une commande de soumission d’un travail unique, les valeurs finales de wQ et Wu ne seront pas modifiées simplement parce qu’une valeur finale a été demandée à partir d’un autre calcul d’attribut. Aussi allons-nous utiliser les valeurs précédemment calculées de 1 pour wQ et de 1 pour Wu. Le 1 renvoyé au calcul en cours de wK est la valeur de _Q, et est poussé sur la pile. Il est immédiatement écarté de la pile et stocké dans la variable interne q. Wu, déjà déterminé être 1, est poussé à nouveau sur la pile. %{3} pousse un 3 sur la pile, puis le %< écarte les deux valeurs du haut (un 3 et un 1) de la pile et vérifie si la seconde valeur écartée est inférieure à la première. 1 est inférieur à 3, un 1 est donc poussé sur la pile. Le %t trouve le 1 et entre en conséquence dans la séquence if–then–else–then–else–then–else... à la recherche d’un entier à apparier avec la valeur de la taille de papier calculée pour _Q. Le %gq récupère la valeur stockée de _Q dans la variable interne q, et la pousse sur la pile. Le %{1} pousse un 1 sur la pile. Le %= écarte les deux valeurs du haut (deux 1) de la pile, examine si elles sont égales et, si oui, pousse un 1 sur la pile. Le %t trouve le 1 et évalue le %{3200}, lequel pousse un 3200 sur la pile. Le calcul de wK passe en séquence sur tout sauf la dernière ligne des séquences d’échappement restantes du fichier deux-points de l’imprimante définissant wK. La dernière séquence d’échappement, %d, écarte la valeur du haut, 3200, de la pile et la renvoie, en format ASCII, au calcul en cours de wX. Le 3200 renvoyé au calcul en cours de wX est la valeur de wK, et est poussé sur la pile. Le %GwJ de cette clause ”else” est sauté et le %; met fin à la séquence if–then–else. A ce stade du calcul de wJ, le reste des définitions d’attributs dépendent de facteurs affectant la longueur de page (en lignes), tels que la densité verticale des lignes. Dans la calcul de la largeur de page, toutefois, ce qui nous intéresse, c’est le pas d’impression et la sélection ou non de l’impression double largeur. La séquence d’échappement suivante évaluée est %G_p. Cette opération récupère la valeur de l’attribut _p, qui définit le pas en caractères par pouce pour cette file d’attente. La valeur par défaut pour cette file d’attente est 10, mais la ligne de commande utilisée dans cet exemple spécifie un pas de 12 (–p12), un 12 est donc poussé sur la pile. Le %{17} pousse un 17 sur la pile. Le %= écarte les deux valeurs du haut (un 17 et un 12) de la pile, examine si elles sont égales et, si non, pousse un 0 sur la pile. Le %t trouve le 0 (valeur fausse) et la clause ”else” suivante est évaluée.Le %G_p pousse à nouveau un 12 sur la pile. Le %{10} pousse un 10 sur la pile. Le %* écarte les deux valeurs du haut (un 12 et un10) de la pile, les multiplie et pousse le 120 résultant sur la pile. Le %; met fin à cette séquence if–then–else. Le %* suivant écarte les deux valeurs du haut (un 120 et un 3200) de la pile, les multiplie et pousse le 384000 résultant sur la pile. Le %G_W récupère la valeur de _W et la pousse sur la pile ; _W est une question de type oui (1) ou non (0) concernant l’impression double largeur. La valeur par défaut est 0 et nous n’avons pas remplacé cette valeur via la ligne de commande, aussi un 0 est–il poussé sur la pile. Le %t trouve le 0 et exécute donc la clause ”else”. Le %{3000} pousse un 3000 sur la pile. Le %; met fin à cette séquence if–then–else. Le %/ suivant écarte les deux valeurs du haut (un 3000 et un 384000) de la pile, divise la seconde valeur par la première et pousse le 128 résultant sur la pile. Le %d écarte la valeur du haut, 128, de la pile et la renvoie, en format ASCII, au calcul en cours de wW. 4-162 Imprimantes et impression Guide de l’utilisateur Le 128 renvoyé au calcul en cours de wW est la valeur de _w. La valeur de wW a été référencée à l’origine dans la détermination de la valeur de l’attribut ia, le pipeline du flot de données en entrée pour les travaux ASCII. Le nombre 128 remplace le %IwW dans cette détermination, de sorte que la valeur de l’indicateur –! de pioformat devient /usr/lib/lpd/pio/fmtrs/piof5202 –l48 –w128. Le –w128 peut être vu dans le message de diagnostic d’origine de piobe à la base de cette discussion ; il fait partie de la section PIPELINE OF FILTERS du courrier envoyé par qdaemon pour le compte de piobe. La figure Calcul de la largeur de page décrit les opérations de piles (décrites plus haut) utilisées pour obtenir une valeur numérique finale de largeur de page (en caractères). Les étapes numérotées suivantes correspondent aux nombres à gauche des colonnes dans la figure, et donnent une description pas à pas de l’évaluation des séquences d’échappement du fichier deux-points de l’imprimante qui définissent la largeur de page, en caractères, pour cette file d’attente donnée (asc), le fichier deux-points et la ligne de commande. %d 47 46 128 %/ 45 3000 %{3000} %t 44 43 42 0 %G_w 384000 %* 3200 41 120 %* 33 40 10 %{10} 32 %G_p 31 1 %= 23 %t 30 1 %{1} 22 %= 29 1 %gq 21 39 12 38 37 0 %t %d 1 %Gs1 %t %t 20 1 %< 19 1 %{1} 26 3 %{3} 18 1 %GWu %t 25 1 %GWu 17 24 %Pq 16 %GwQ %G_Q 36 17 %{17} 35 12 %G_p 27 7 3200 %GwK 5 1 %& 2 128 %I_w 4 1 %{1} 9 1 0 %Cw 3 1 %G_z 8 _w %{3200} 1 28 6 wW %d 34 1 wK %= %t 14 0 %= 13 15 0 %{0} 12 10 1 %GWu 11 wQ %d 1 %G_u %t 0 %CO Wu Calcul de la largeur de page 1. %Cw – Pousse un 0 sur la pile, dans la mesure où l’indicateur w n’a pas été utilisé sur la ligne de commande. 2. %I_w – Appelle l’évaluation de _w. 3. %G_z – Pousse un 1 sur la pile. 4. %{1} – Pousse un 1 sur la pile. 5. %& – Ecarte les deux valeurs du haut (deux 1) de la pile, effectue un AND au niveau du bit sur les deux valeurs et pousse le 1 résultant sur la pile. Imprimante, traceur et programmation du sous–système de spoulage 4-163 6. %t – Ecarte le 1 de la pile et, dans la mesure où il s’agit d’une valeur VRAIE (non nulle), appelle l’évaluation de %GwK. 7. %GwK – Appelle l’évaluation de wK. 8. %G_Q – Appelle l’évaluation de _Q. 9. %GwQ – Appelle l’évaluation de wQ. 10.%GWu – Appelle l’évaluation de Wu. 11. %CO – Pousse un 0 sur la pile, dans la mesure où l’indicateur O n’a pas été utilisé sur la ligne de commande. 12.%t – Ecarte le 0 de la pile et dans la mesure où il s’agit d’une valeur FAUSSE (zéro), appelle l’évaluation de %G_u. La pile appelée Wu est maintenant vide. 13.%G_u – Pousse un 1 sur la pile. 14.%d – Ecarte le 1 de la pile et le renvoie, en format ASCII, au calcul en cours de wQ. 15.%{0} – Pousse un 0 sur la pile. 16.%= – Ecarte le 0 et le 1 de la pile, compare s’ils sont égaux et pousse le 0 résultant sur la pile. 17.%t – Ecarte le 0 de la pile et, dans la mesure où il s’agit d’une valeur FAUSSE (nulle), appelle l’évaluation de %GWu. 18.%GWu – Cette valeur est déjà connue, un 1 est donc poussé sur la pile. 19.%{1} – Pousse un 1 sur la pile. 20.%= – Ecarte les deux 1 de la pile, compare s’ils sont égaux et pousse le 1 résultant sur la pile. 21.%t – Ecarte le 1 de la pile et, dans la mesure où il s’agit d’une valeur VRAIE (non nulle), appelle l’évaluation de %Gs1. 22.%Gsl – Pousse un 1 sur la pile. 23.%d – Ecarte le 1 de la pile et le renvoie, en format ASCII, au calcul en cours de wK. 24.%Pq – Ecarte le 1 de la pile et le stocke dans la variable interne q. 25.%GWu – Cette valeur est déjà connue, un 1 est donc poussé sur la pile. 26.%{3} – Pousse un 3 sur la pile. 27.%< – Ecarte les deux valeurs de haut de la pile (un 3 et un 1) et, 1 étant inférieur à 3, pousse un 1 sur la pile. 28.%t – Ecarte le 1 de la pile et, dans la mesure où il s’agit d’une valeur VRAIE (non nulle), appelle l’évaluation de %pq. 29.%pq – Pousse la valeur de la variable interne q, un 1, sur la pile. 30.%{1} – Pousse un 1 sur la pile. 31.%= – Ecarte les deux valeurs (deux 1) de la pile, compare s’ils sont égaux et pousse le 1 résultant sur la pile. 32.%t – Ecarte le 1 de la pile et, dans la mesure où il s’agit d’une valeur VRAIE (non nulle), appelle l’évaluation de %{3200}. 33.%{3200} – Pousse un 3200 sur la pile. 34.%d – Ecarte le 3200 de la pile et le renvoie, en format ASCII, au calcul en cours de _w. 35.%G_p – Pousse un 12 sur la pile. 36.%{17} – Pousse un 17 sur la pile. 4-164 Imprimantes et impression Guide de l’utilisateur 37.%= – Ecarte les deux valeurs du haut (un 17 et un 12) de la pile, examine si elles sont égales et pousse le 0 résultant sur la pile. 38.%t – Ecarte le 0 de la pile et, dans la mesure où il s’agit d’une valeur FAUSSE (nulle), appelle l’évaluation de %G_p. 39.%G_p – Pousse un 12 sur la pile. 40.%{10} – Pousse un 10 sur la pile. 41.%* – Ecarte les deux valeurs du haut (un 120 et un 12) de la pile, les multiplie et pousse le 384000 résultant sur la pile. 42.%* – Ecarte les deux valeurs du haut (un 120 et un 3200) de la pile, les multiplie et pousse le 384000 résultant sur la pile. 43.%G_w – Pousse un 0 sur la pile. 44.%t – Ecarte le 0 de la pile et, dans la mesure où il s’agit d’une valeur FAUSSE (nulle), appelle l’évaluation de %{3000}. 45.%{3000} – Pousse un 3000 sur la pile. 46.%/ – Ecarte les deux valeurs du haut (un 3000 et un 384000) de la pile, divise la seconde valeur par la première et pousse le 128 résultant sur la pile. 47.%d – Ecarte le 128 de la pile et le renvoie, en format ASCII, au calcul en cours de ia, le pipeline du flot de données en entrée pour les travaux ASCII. Fonctionnement de la pile de langages décrivant la largeur de page Pour aller au-delà de la description mécanique de ce qui se passe lorsque piobe résout les références à %wW, voici quelques éléments permettant de comprendre pourquoi la logique des séquences d’échappement du fichier deux-points de l’imprimante fonctionne. Les références techniques des imprimantes IBM LaserPrinter série 4029 contiennent une figure et un tableau qui décrivent les zones imprimables et non imprimables d’une page, ainsi que les dimensions du papier et des enveloppes, en pels, pour les tailles standard de papier et d’enveloppe. Par exemple, la zone imprimable sur une page de 8,5 x 11 pouces (largeur par longueur) est de 2400 x 3200 pels (largeur par longueur). Notez que si la page est pivotée de 90 ou 270 degrés pour une impression paysage, les dimensions sont permutées et deviennent 3200 x 2400 pels (largeur par longueur). L’évaluation de %IwW commence par la vérification de l’utilisation de l’indicateur w sur la ligne de commande ; si oui, aucun calcul n’est effectué. La valeur demandée sera utilisée. (ce qui ne garantit qu’elle fonctionnera.) Si l’indicateur w n’a pas été spécifié sur la ligne de commande, piobe doit alors déterminer la largeur de page dans l’environnement actuel du travail, comme défini par les autres indicateurs de la ligne de commande et par les valeurs par défaut du fichier deux-points. Le premier élément vérifié dans l’évaluation de _w (largeur de page) est l’orientation de la page (_z). Comme indiqué plus haut, pivoter la page par un multiple impair de 90 degrés permute les dimensions de la page. En examinant l’instruction if–then–else au début de la définition de wK, vous pouvez constater que la valeur de _z est un commutateur qui contrôle lequel de wJ ou de wK sera utilisé pour la largeur de page. Si la page est orientée en portrait, wJ est la largeur. Si la page est orientée en paysage, wK est la largeur. Une fois résolue la largeur de page en pels, le reste des séquences d’échappement dans la définition de wK ne prend plus en compte que le pas et la largeur des caractères (double ou non) lors de la conversion du nombre de pels en nombre de caractères. Imprimante, traceur et programmation du sous–système de spoulage 4-165 wK est sélectionné car la page est orientée en paysage. Ainsi ce que nous savons jusqu’ici est que les dimensions ont été permutées, mais toujours pas ce que sont réellement ces dimensions. L’évaluation de wK commence par la récupération de la valeur (le cas échéant) de l’utilisation de l’indicateur Q sur la ligne de commande, qui est une valeur dépendante de l’imprimante demandant une taille de papier spécifique. Si l’indicateur Q a été spécifié sur la ligne de commande, cette valeur est utilisée pour sélectionner la largeur du papier en pels, sinon la valeur de Q est déterminée en évaluant Wu, qui est une valeur pour la source du papier basée sur les attributs _O (type de gestion du papier en entrée) et _u (source du papier en entrée). Notez que _Q est défini comme %IwQ, dont la définition commence par %IWu. Si Q n’a pas été utilisé sur la ligne de commande, l’évaluation de Wu détermine que l’indicateur O n’a pas été utilisé non plus, et exécute donc la clause else de l’instruction if–then–else extérieure dans la définition de Wu, renvoyant la valeur par défaut du fichier deux–points de _u, 1, à l’évaluation de wQ. Dans la mesure où cette opération est d’autant plus complexe que l’est l’imbrication des séquences d’échappement pour l’évaluation de _w, mieux vaut étudier de près la logique définissant Wu. Conservez à l’esprit les définitions et les valeurs admises de O, u et Q, à savoir : • O – type de gestion du papier en entrée – 1 (manuelle), 2 (papier en continu), 3 (alimentation feuille à feuille) – feuille à feuille par défaut. • u – source du papier en entrée – 1 (principal), 2 (secondaire), 3 (enveloppe) – principal par défaut. • Q – taille du papier pour la source en entrée – les valeurs dépendent de l’imprimante – définies par la combinaison de O et de u. Les séquences d’échappement définissant Wu stipulent : • Cas 1 : Si l’indicateur O n’a pas été utilisé sur la ligne de commande, renvoie la valeur par défaut du fichier deux-points pour _u. Par exemple, si l’utilisateur n’a pas spécifié de type de gestion de papier en entrée, renvoie la source du papier en entrée (à partir de la ligne de commande ou la valeur par défaut issue du fichier deux-points) à l’évaluation de %IwQ. • Cas 2 : Si l’indicateur O a été utilisé sur la ligne de commande, mais que sa valeur est autre que 1, renvoie la valeur par défaut du fichier deux-points pour _u. Par exemple, si l’utilisateur a spécifié un type de gestion du papier autre que manuelle, renvoie la source du papier en entrée (à partir de la ligne de commande ou la valeur par défaut issue du fichier deux-points) à l’évaluation de %IwQ. • Cas 3 : Si l’indicateur O a été spécifié sur la ligne de commande et que sa valeur est 1, et que l’indicateur u n’a pas été utilisé sur la ligne de commande, renvoie un 0. Par exemple, si l’utilisateur a spécifié une gestion manuelle du papier, mais n’a pas spécifié la source du papier en entrée, renvoie un 0 à l’évaluation de %IwQ. • Cas 4 : Si l’indicateur O a été spécifié sur la ligne de commande et que sa valeur est 1, et que l’indicateur u a été utilisé sur la ligne de commande et que sa valeur est inférieure à 2, renvoie un 0. Par exemple, si l’utilisateur a spécifié une gestion manuelle du papier, ainsi que le bac principal ou secondaire, renvoie un 0 à l’évaluation de %IwQ. • Cas 5 : Si l’indicateur O a été spécifié sur la ligne de commande et que sa valeur est 1, et que l’indicateur u a été utilisé sur la ligne de commande et que sa valeur est supérieure à 2, renvoie un 4. Par exemple, si l’utilisateur a spécifié une gestion manuelle du papier, ainsi que le bac d’enveloppe, renvoie un 4 à l’évaluation de %IwQ. 4-166 Imprimantes et impression Guide de l’utilisateur La définition de wQ est une instruction if–then–else–then–else–then–else–then–else qui compare à répétition la valeur de Wu aux entiers 0, 1, 2 et 3, à la recherche d’une correspondance. La correspondance sélectionne la valeur des attributs s0, s1, s2, s3 ou s4, respectivement (s4 est sélectionné s’il n’y a pas d’autre correspondance). Les élément définis par ces attributs sont les suivants : • s0 – taille de papier pour alimentation manuelle • s1 – taille de papier pour plateau 1 (supérieur) • s2 – taille de papier pour plateau 2 (inférieur) • s3 – taille d’enveloppe pour le chargeur d’enveloppe • s4 – taille d’enveloppe pour l’alimentation manuelle d’enveloppes Dans la définition d’imprimante virtuelle pour une file d’attente ASCII sur une imprimante IBM 4029 LaserPrinter, il existe seulement deux valeurs uniques pour ces cinq attributs : s0, s1 et s2 valent tous 1, tandis que s3 et s4 valent tous deux 3. En examinant les séquences d’échappement, vous pouvez constater que la définition de wK est composée d’une instruction if–then–else extérieure. Les éléments if et else de cette instruction contiennent tous deux une chaîne d’instructions if–then–else–then–else... La valeur de Wu (valeur de la source de papier, basée sur O et u) détermine l’élément if ou else de l’instruction extérieure exécuté ; si Wu est égal 1 ou 2 (inférieur à 3), l’élément if est exécuté, sinon c’est l’élément else. C’est au moment de la détermination finale de wK que la largeur de page, en pels, est fixée. Cas 1 : La valeur u indiquée sur la ligne de commande ou la valeur par défaut issue du fichier deux-points (1, plateau principal) est renvoyée à l’évaluation de wQ. Les séquences d’échappement restantes dans la définition de wQ testent la valeur de Wu et sélectionnent l’une des valeurs de s0, s1, s2, s3 ou s4. Cette valeur est à son tour renvoyée à l’évaluation de wK. Si u est égal à 1 ou à 2, Q est égal à 1 (taille de papier non enveloppe). Si u est égal à 3, Q est égal à 3 (taille enveloppe). A la reprise de l’évaluation de wK, une valeur de u égale à 1 ou à 2 dirige le processus vers l’élément if de l’instruction if–then–else extérieure, et la valeur de Q, 1, sélectionne une largeur de page de 3200 pels. Une valeur u égale à 3 dirige le processus vers l’élément else de l’instruction if–then–else extérieure, et la valeur Q, 3, sélectionne une largeur d’enveloppe de 2750 pels. Cas 2 : Identique au cas 1. Cas 3 : L’utilisateur a spécifié une gestion manuelle du papier sur la ligne de commande, mais n’a pas spécifié une source de papier, de sorte que Wu est affecté de la valeur 0, et que cette valeur est renvoyée à l’évaluation de wQ. Le 0 entraîne l’affectation à wQ de la valeur s0 (taille de papier pour une alimentation manuelle, un 1). A la reprise de l’évaluation de wK, une valeur de u égale à 0 dirige le processus vers l’élément if de l’instruction if–then–else extérieure, et la valeur de Q, 1 (s0), sélectionne une largeur de page de 3200 pels. Cas 4 : L’utilisateur a spécifié une gestion manuelle de l’alimentation papier sur la ligne de commande et a également utilisé l’indicateur u pour spécifier la source de papier (principale ou secondaire – mais en aucun cas d’enveloppes). Comme dans le cas 3, une largeur de page de 3200 pels est sélectionnée. Cas 5 : L’utilisateur a spécifié une gestion manuelle du papier sur la ligne de commande, et a également spécifié une source de papier enveloppe, de sorte que Wu est affecté de la valeur 4, et que cette valeur est renvoyée à l’évaluation de wQ. Le 4 entraîne l’affectation à wQ de la valeur s4 (taille de papier pour une alimentation manuelle en enveloppe, un 3). A la reprise de l’évaluation de wK, une valeur de u égale à 4 dirige le processus vers l’élément else de l’instruction if–then–else extérieure, et la valeur de Q, 3, sélectionne une largeur de page de 2498 pels. Imprimante, traceur et programmation du sous–système de spoulage 4-167 • Notre exemple est le cas 1 : ni l’indicateur O, ni l’indicateur u n’ont été spécifiés sur la ligne de commande, Wu est dons affecté de la valeur 1, la valeur par défaut _u pour ce fichier deux-points. A la reprise de l’évaluation de wQ, la correspondance a lieu sur s1, et un 1 est renvoyé à l’évaluation de wK. Une valeur u égale à 1 dirige le processus vers l’élément if de l’instruction if–then–else extérieure, et la valeur Q, 1, sélectionne une largeur de page de 3200 pels. Cette valeur est renvoyée à l’évaluation de _w. La raison des séquences d’échappement restantes du fichier deux-points de l’imprimante définissant _w est que s’il y a 3200 pels disponibles (horizontalement), et que nous voulons 12 caractères au pouce et que la résolution de l’imprimante est de 300 pels au pouce, 128 caractères peuvent être imprimés sur la largeur de la page. Le pas et la résolution de l’imprimante sont tous deux multipliés par 10 pour prendre en compte la possibilité de spécifier un pas de 17. Un pas de 17 est en réalité égal à 17,1 : multiplier le numérateur et le dénominateur par 10 permet de tenir compte du 0,1 pour le calcul définitif de la largeur de page. La valeur 128 est renvoyée à l’évaluation de ia. Voilà à la base l’origine du –128 dans la section PIPELINE OF FILTERS. 4-168 Imprimantes et impression Guide de l’utilisateur Pages d’en-tête et de fin d’un travail du spouleur Les pipelines qui génèrent les pages d’en-tête et de fin sont définis par les attributs d’administration du système sh (pages d’en-tête) et st (pages de fin). L’impression des pages d’en-tête et de fin sont des processus distincts des travaux d’impression du spouleur qu’ils accompagnent, même s’ils ne sont pas affichés en réponse aux requêtes d’état des files d’attente. Pipelines des pages d’en-tête et de fin Ci-dessous se trouve l’attribut sh utilisé pour définir le pipeline de génération et d’impression de la page d’en-tête pour une file d’attente ASCII étendue sur une IBM 4029 LaserPrinter. L’attribut est indiqué tel que formaté par la commande lsvirprt. Pour en savoir plus, reportez-vous à ”Affichage, formatage et modification des définitions d’imprimantes virtuelles ”, page 4-139. Pipeline pour la page d’en–tête sh = %Ide/pioburst %F[H] %Idb/H.ascii | %Ide/pioformat –@%Idd/%Imm –!%Idf/piof52 02 –L! –J! %IsH –u%IuH %Ide INCLUDE: (Directory Containing Miscellaneous Modules) ’/pioburst ’ %F[H] If ”–H] Argument” on Command Line, ”–# Argument” –> OUTPUT ’ ’ %Idb INCLUDE: (Directory Containing Header and Trailer Text Files) ’/H.ascii | ’ %Ide INCLUDE: (Directory Containing Miscellaneous Modules) ’/pioformat –@’ %Idd INCLUDE: (Directory Containing Digested Data Base Files) ’/’ %Imm INCLUDE: (File Name Of (Digested) Data Base; Init. By ”piodigest” (mt.md.mn.mq:mv)) ’ –!’ %Idf INCLUDE: (Directory Containing Loadable Formatter Routines) ’/piof5202 –L! –J! ’ %IsH INCLUDE: (FORMATTING FLAGS for header page) ’ –u’ %IuH INCLUDE: (Input PAPER TRAY for header page) Pendant le traitement du travail du spouleur, la valeur de l’attribut sh est déterminée être : /usr/lib/lpd/pio/etc/pioburst /usr/lib/lpd/pio/burst/H.ascii | /usr/lib/lpd/pio/etc/pioformat –@/var/spool/lpd/pio/@local/ddi/ibm4029.asc.lp1.asc:lp1 –!/usr/lib/lpd/pio/fmtrs/piof5202 –L! –J! –u1 Imprimante, traceur et programmation du sous–système de spoulage 4-169 pioburst traite le modèle de page d’en-tête et ajoute (par pipe) la sortie au programme de formatage indépendant de l’unité, pioformat, qui à son tour charge la version assimilée du fichier deux-points de cette imprimante virtuelle (l’argument de l’indicateur –@) et le programme de formatage indépendant de l’unité, piof5202 (argument de l’indicateur –! Il existe trois indicateurs pour piof5202 : 1. –L! – Les lignes longues ne doivent pas passer à la ligne. 2. –J! – L’imprimante doit être restaurée dans l’état où elle se trouvait avant l’impression de la page d’en-tête. 3. –u1 – La page d’en-tête doit provenir du plateau d’alimentation 1. La valeur de la définition de st est semblable à la valeur de la définition de sh. Pages d’en-tête personnalisées L’utilisateur racine peut créer des pages d’en-tête personnalisées pour les utilisateurs en modifiant la définition de l’attribut sh. Dans la mesure où les processus du spouleur ont accès à l’environnement de l’utilisateur ayant soumis le travail au spouleur, l’utilisateur racine peut modifier la partie de la définition de l’attribut sh qui spécifie le modèle de page d’en-tête à traiter. Par exemple, le H.ascii dans la définition précédente spécifie le modèle de page d’en-tête à traiter et à imprimer. Il peut être remplacé par la variable d’environnement utilisateur de votre choix, telle que $MYHEADER, comme illustré ci-après. %Ide INCLUDE: (Directory Containing Miscellaneous Modules) ’/pioburst ’ %F[H] If ”–H] Argument” on Command Line, ”–# Argument” –> OUTPUT ’ ’ %Idb INCLUDE: (Directory Containing Header and Trailer Text Files) ’/$MYHEADER | ’ %Ide INCLUDE: (Directory Containing Miscellaneous Modules) ’/pioformat –@’ %Idd INCLUDE: (Directory Containing Digested Data Base Files) ’/’ %Imm INCLUDE: (File Name Of (Digested) Data Base; Init. By ”piodigest” (mt.md.mn.mq:mv)) ’ –!’ %Idf INCLUDE: (Directory Containing Loadable Formatter Routines) ’/piof5202 –L! –J! ’ %IsH INCLUDE: (FORMATTING FLAGS for header page) ’ –u’ %IuH INCLUDE: (Input PAPER TRAY for header page) Pour permettre à l’utilisateur susan d’obtenir des pages d’en-tête personnalisées avec cette file d’attente, l’utilisateur racine peut procéder comme suit : • cp /usr/lib/lpd/pio/burst/H.ascii /usr/lib/lpd/pio/burst/H.susan • Editez H.susan selon le souhait de Susan dans les pages d’en-tête. • Définissez la variable d’environnement MYHEADER de l’environnement Susan en lui donnant la valeur H.susan. (par exemple, dans le shell Korn, utilisez export MYHEADER=H.susan). 4-170 Imprimantes et impression Guide de l’utilisateur Lorsque l’utilisateur susan soumet un travail à cette file d’attente, la référence de l’attribut sh à un modèle de page d’en-tête se résout en /usr/lib/lpd/pio/burst/H.susan, et l’utilisateur susan reçoit une page d’en-tête personnalisée. Le problème avec ce scénario est que la variable d’environnement MYHEADER doit être définie pour toute personne qui utilise le file d’attente associée à cette imprimante virtuelle, sinon l’imprimante virtuelle ne peut résoudre la référence à /usr/lib/lpd/pio/burst/$MYHEADER. Une erreur en résulte si $MYHEADER est indéfini ; le travail sera peut-être imprimé, mais la page d’en-tête sera au mieux recyclable. Pour éviter le problème de définir un MYHEADER pour toute personne utilisant cette file d’attente, vous pouvez intégrer quelques éléments de code shell dans la définition de l’attribut sh pour examiner l’environnement utilisateur avant la création du pipeline de la page d’en-tête. Voici une méthode possible. Pipeline pour la page d’en–tête sh = { if test X”$MYHEADER” = X ; then %Ide/pioburst %F[H] %Idb/H.ascii | %Ide/pioformat –@%Idd/%Imm –!%Idf/piof5202 –L! –J! %IsH –u%IuH; else %Ide/pioburst %F[H] %Idb/$MYHEADER | %Ide/pioformat –@%Idd/%Imm –!%Idf/piof5202 –L! –J! %IsH –u%IuH; fi; } ’{ if test X”$MYHEADER” = X ; then ’ %Ide INCLUDE: (Directory Containing Miscellaneous Modules) ’/pioburst ’ %F[H] If ”–H] Argument” on Command Line, ”–# Argument” –> OUTPUT ’ ’ %Idb INCLUDE: (Directory Containing Header and Trailer Text Files) ’/H.ascii | ’ %Ide INCLUDE: (Directory Containing Miscellaneous Modules) ’/pioformat –@’ %Idd INCLUDE: (Directory Containing Digested Data Base Files) ’/’ %Imm INCLUDE: (File Name Of (Digested) Data Base; Init. By ”piodigest” (mt.md.mn.mq:mv)) ’ –!’ %Idf INCLUDE: (Directory Containing Loadable Formatter Routines) ’/piof5202 –L! –J! ’ %IsH INCLUDE: (FORMATTING FLAGS for header page) ’ –u’ %IuH INCLUDE: (Input PAPER TRAY for header page) ’; else ’ %Ide INCLUDE: (Directory Containing Miscellaneous Modules) ’/pioburst ’ %F[H] If ”–H] Argument” on Command Line, ”–# Argument” –> OUTPUT ’ ’ %Idb INCLUDE: (Directory Containing Header and Trailer Text Files) ’/$MYHEADER | ’ %Ide INCLUDE: (Directory Containing Miscellaneous Modules) ’/pioformat –@’ %Idd INCLUDE: (Directory Containing Digested Data Base Files) ’/’ %Imm INCLUDE: (File Name Of (Digested) Data Base; Init. Imprimante, traceur et programmation du sous–système de spoulage 4-171 By ”piodigest” (mt.md.mn.mq:mv)) ’ –!’ %Idf INCLUDE: (Directory Containing Loadable Formatter Routines) ’/piof5202 –L! –J! ’ %IsH INCLUDE: (FORMATTING FLAGS for header page) ’ –u’ %IuH INCLUDE: (Input PAPER TRAY for header page) ’; fi; } ’ La définition du st d’origine est répétée deux fois dans la nouvelle définition de st. Le code shell vérifie si MYHEADER est défini ; si MYHEADER n’est pas défini, le modèle de page d’en-tête H.ascii est utilisé, sinon le modèle de page d’en-tête $MYHEADER est utilisé. 4-172 Imprimantes et impression Guide de l’utilisateur Modification de l’attribut mo d’imprimante virtuelle Toutes les définitions d’imprimante virtuelle contiennent un attribut mo. L’attribut mo spécifie la chaîne de commande pour appeler le programme d’interface du pilote d’unité. Le programme d’interface du pilote d’unité est le dernier processus du pipeline de traitement du flot des données en entrée et, dans le cas de files d’attente d’un spouleur local avec piobe comme programme dorsal, est généralement pioout. Il est appelé programme d’interface du pilote d’unité car, en tant que dernier processus du pipeline, il ouvre généralement le pilote d’unité en écriture pour y écrire le flot de données traité. Pour en savoir plus, reportez-vous à la figure Flot de données des travaux d’impression, page 3-13 et le texte qui s’y rapporte. Une des caractéristiques intéressantes du spouleur AIX est qu’il est conçu pour que l’utilisateur racine puisse remplacer des éléments du pipeline de traitement du flot de données en entrée par du code utilisateur. Dans cette section, nous présenterons un exemple de redéfinition de l’attribut mo, dont la valeur par défaut est le chemin d’accès complet de pioout, en chemin d’accès complet à un programme de livraison écrit par l’utilisateur. Reportez-vous également à ”Présentation du traitement dorsal ”, page 3-12. Gestion non prise en charge, serveurs de terminaux adressables IP Supposons que vous disposiez d’un serveur de terminal adressable IP, raccordé à votre réseau Ethernet. Le serveur de terminal est doté d’un certain nombre de ports asynchrones auxquels vous pouvez raccorder des terminaux ASCII, des modems, des imprimantes et autres unités asynchrones. Supposons de plus que le fournisseur du serveur de terminal vous ait fourni un programme, appelé ts_print, dont les propriétés sont les suivantes : • Il lit à partir de stdin. • Il accepte un indicateur –A pour spécifier une adresse IP. • Il accepte un indicateur –P pour spécifier un numéro de port. (Précisons que ce scénario n’est pas spécialement hypothétique.) Pour illustrer ceci par un exemple concret, supposons que vous êtes équipé d’une imprimante IBM 4029 LaserPrinter que vous souhaitez raccorder au port 11 du serveur de terminal et que l’adresse IP du serveur de terminal est 9.19.129.101. Votre objectif est de disposer d’une file d’attente sur un serveur d’impression auquel les utilisateurs puissent soumettre des travaux ASCII et les imprimer sur le 4029 sur le serveur de terminal. Bien que vous puissiez utiliser ts_print à partir de la ligne de commande, vous préférez utiliser les capacités de filtrage du programme de formatage, pour ce qui concerne la manipulation à la fois du mode de l’imprimante et du flot des données en entrée. Un autre objectif est de fournir à l’imprimante un accès série réel. Il y a plusieurs façons d’atteindre ces objectifs. Le plus simple consiste à créer une file d’attente ASCII locale sur un fichier normal, et non sur un fichier spécial caractère dans le répertoire /dev. Une fois créées la file d’attente et l’imprimante virtuelle associée, vous pouvez modifier l’imprimante virtuelle pour utiliser ts_print. Pour initier le processus de création de file d’attente, tapez le raccourci SMIT smit mkquedev. Un menu semblable au suivant s’affiche : Add a Print Queue Move cursor to desired item and press Enter. Use arrow keys to scroll. Imprimante, traceur et programmation du sous–système de spoulage 4-173 # ATTACHMENT TYPE local remote xstation ascii hpJetDirect file other DESCRIPTION Printer Attached to Local Host Printer Attached to Remote Host Printer Attached to Xstation Printer Attached to ASCII Terminal Network Printer (HP JetDirect) File (in /dev directory) User Defined Backend Sélectionnez l’option file, puis un type d’imprimante. Une fois sélectionné IBM 4029 LaserPrinter (ou l’imprimante correspondant à votre configuration), indiquez le nom d’un fichier existant dans le répertoire /dev. C’est le fichier dans lequel sont écrits les travaux traités soumis à la file d’attente que vous créez. Vous pouvez nommer le fichier à votre guise, sous réserve de respecter les conventions d’appellation AIX. Il semble raisonnable de créer un fichier destiné exclusivement à être la cible des files d’attente de fichier. Par exemple, l’utilisateur racine peut lancer la commande touch /dev/lxx pour créer le fichier lxx dans le répertoire /dev. Une fois que vous avez donné un nom au fichier dans le répertoire /dev, choisissez un nom de file d’attente pour chaque flot de données en entrée pris en charge par le type d’imprimante sélectionné précédemment. Dans cet exemple, supposons que la file d’attente ASCII a été nommée asc. Une entrée semblable à la suivante apparaît dans /etc/qconfig : asc: device = lxx lxx: file = /dev/lxx header = never trailer = never access = both backend = /usr/lib/lpd/piobe Tout travail d’impression soumis à la file d’attente asc du spouleur est traité par le pipeline défini par piobe. Le flot de données traité est écrit dans /dev/lxx. Ce qui n’est pas ce que vous souhaitiez. Dans la mesure où l’objectif est que ts_print écrive la sortie sur le port 11 du serveur de terminal, il ne doit même pas y avoir un fichier associé à cette file d’attente. A cet effet, éditez la nouvelle strophe paire dans /etc/qconfig et changez la valeur du paramètre file en FALSE, comme suit : asc: device = lxx lxx: file = FALSE header = never trailer = never access = both backend = /usr/lib/lpd/piobe Si vous utilisez la file d’attente dans cet état, vous ne trouverez rien d’écrit dans un fichier ni d’imprimé nulle part, sauf éventuellement des messages d’erreur. Lorsque qdaemon place le programme dorsal, piobe, en mode exécution, il passe à piobe un descripteur de fichier ouvert, basé sur la valeur du paramètre file dans /etc/qconfig. Lorsque cette valeur est définie à FALSE, le descripteur de fichier n’est pas passé. Le destinataire et l’utilisateur éventuels du descripteur de fichier est le programme (quel qu’il soit) pointé par l’attribut mo. Le programme par défaut pointé par l’attribut mo est pioout et, lorsque des travaux sont placés sur la file d’attente dans cet état, pioout ne détient pas de valeur valide pour stdout, et le travail traité disparaît simplement. 4-174 Imprimantes et impression Guide de l’utilisateur A ce stade, vous pouvez utiliser lsvirprt pour sélectionner la définition d’imprimante virtuelle asc pour la modifier. Une invite semblable à la suivante s’affiche : To LIST attributes, enter AttributeName1 ... (* for all attributes) To CHANGE an attribute value, enter AttributeName=NewValue To FORMAT and EDIT an attribute value, enter AttributeName~v To EDIT the attribute file, enter ~v To terminate, press Enter: En supposant que le programme ts_print est installé dans /usr/bin, entrez, à l’invite : mo=/usr/bin/ts_print –A 9.19.129.101 –P 11 Les travaux soumis à la file d’attente asc sont désormais traités comme des travaux locaux mais, à la fin du pipeline, le programme ts_print envoie le flot de données en sortie vers le port 11 sur le serveur de terminal, au lieu que pioout l’envoie vers un pilote d’unité. En général, l’attribut mo dans la définition d’imprimante virtuelle pour une file d’attente dont le programme dorsal est piobe, peut être redéfinie pour envoyer un flot de données traité vers n’importe quel fichier ou unité choisi par l’utilisateur, sous réserve que vous soyez capable d’écrire le code correspondant. Imprimante, traceur et programmation du sous–système de spoulage 4-175 Filtres Les définitions d’imprimantes virtuelles, sous AIX version 3.2.5 et sous AIX version 4, contiennent des attributs de filtres prédéfinis et ouverts (non définis) ; AIX version 4 offre un ensemble d’attributs plus riche. Par exemple, une file d’attente ASCII sous AIX version 4 sur une IBM 4029 LaserPrinter offre les attributs de filtre suivants : • filtres f1, f2, f3, f4 et f5 – ouvert, définis par l’utilisateur • filtre fb – bidi pour l’hébreu et l’arabe. • filtre fc – cifplot • filtre fd – TeX (DVI) • filtre ff – FORTRAN • filtre fg – plot • filtre fl – passthru • filtre fn – ditroff • filtre fp – pr • filtre fv Raster image Une définition d’imprimante virtuelle similaire version 3.2.5 offre les attributs de filtre suivants : • filtres fc, fd, ff, fg, fl, fn, ft, fv – ouverts, définis par l’utilisateurs • filtre fp – pr Les filtres constituent les premiers programmes du pipeline de traitement du flot de données en entrée défini par piobe qui ont l’occasion de manipuler sélectivement le flot de données. Vous pouvez sélectionner un filtre particulier sur la ligne de commande sur la base d’un travail, ou le sélectionner de façon permanente en modifiant la définition d’imprimante virtuelle. La commande qprt utilise l’indicateur –f pour sélectionner un filtre particulier sur la base d’un travail. L’argument de l’indicateur –f est la deuxième lettre du nom de deux lettres désignant l’attribut du filtre dans la définition d’imprimante virtuelle. Par exemple, pour sélectionner le filtre pr pour un travail sur une file d’attente ASCII nommée asc sur une IBM 4029 LaserPrinter, vous pouvez lancer la commande : qprt –Pasc –fp /etc/motd L’attribut de filtre qui sélectionne le filtre pr est appelé fp, de sorte que l’argument de l’indicateur –f est simplement p, la seconde lettre. Pour sélectionner de façon permanente le filtre pr, utilisez lsvirprt pour éditer la définition d’imprimante virtuelle et donner à l’attribut _f la valeur p. L’attribut _f sélectionne un filtre qui sera utilisé pour prétraiter tous les travaux soumis à la file d’attente associée à cette définition d’imprimante virtuelle. Dans la mesure où lp, lpr et qprt ne sont que des commandes frontales de la commande enq, le véritable point d’entrée au spouleur, vous supposez que enq doit accepter l’indicateur –f. Or, si vous lancez la commande enq avec l’indicateur –f, vous recevez un message d’erreur ; enq n’accepte pas l’indicateur –f. Il s’agit d’une situation où la technique précédemment décrite de montage de /bin/echo sur /bin/enq révèle son utilité. L’utilisateur racine peut émettre ces commandes à partir d’une invite shell : 1. mount /bin/echo /bin/enq 2. qprt –Pasc –fp /etc/motd 3. umount /bin/enq 4-176 Imprimantes et impression Guide de l’utilisateur Une fois lancée la seconde commande, le texte suivant apparaît sur l’unité d’affichage définie par votre variable d’environnement TERM : –P asc –o –f –o p /etc/motd Il s’agit des arguments que qprt a tenté de passer à enq. Vous les voyez affichés car qprt a trouvé echo et non enq. La commande suivante équivaut à la commande indiquée à l’étape 2 ci-dessus : enq –P asc –o –f –o p /etc/motd L’option –o spécifie que les indicateurs spécifiques du programme dorsal doivent être passés à ce programme. L’option –o peut être considérée comme un passage libre au travers de la vérification syntaxique qui a lieu avant que la commande enq ne construise un fichier de description de travail et ne notifie qdaemon de l’existence d’un nouveau travail. Pour poursuivre cette discussion annexe sur l’indicateur –o avant de revenir aux filtres proprement dits, supposons que vous vouliez définir une file d’attente qui imprime une plage de lignes d’un fichier ASCII. Par exemple, supposons que vous avez consulté /usr/lpp/bos/README et que vous souhaitez en imprimer 35 lignes pour les télécopier à quelqu’un ou les conserver à titre de référence. Vous pouvez éditer /etc/qconfig et ajouter les lignes suivantes : partial: device = partial partial: file = FALSE backend = /usr/bin/partial Le fichier /usr/bin/partial peut être un script shell propriété de root.printq et les droits 755. Son contenu peut être semblable à : #!/bin/ksh BEGIN=$1 END=$2 let DIFF=END–BEGIN+1 FILE=$3 /usr/bin/head –${END} ${FILE} | tail –${DIFF} | /usr/bin/qprt –Pasc Notez que la version 3.2.5, head et tail sont dans /usr/ucb, et non dans /usr/bin, et que qprt est dans /bin, et non dans /usr/bin. Pour imprimer les lignes 189 à 223 de /usr/lpp/bos/README, vous pouvez utiliser la file d’attente partial comme suit : qprt –Ppartial –o 189 –o 223 /usr/lpp/bos/README A l’exécution du programme dorsal, BEGIN est affecté de la valeur 189, END est affecté de la valeur 223 et DIFF est affecté de la valeur 35, qui est le nombre des lignes choisies. FILE est affecté de la valeur /usr/lpp/bos/README. La commande head tronque /usr/lpp/bos/README immédiatement après la dernière ligne demandée. La sortie est ajoutée (par pipe) à la commande tail, qui sélectionne les 35 dernières lignes du fichier tronqué et les ajoute à qprt, lequel récupère l’entrée de stdin. qprt soumet les lignes à la file d’attente asc. Imprimante, traceur et programmation du sous–système de spoulage 4-177 Filtre de correspondance entre saut de ligne et retour chariot et saut de ligne Nombre d’utilisateurs ont acquis ou écrit des applications qui préparent des flots de données pour qu’ils viennent remplir les blancs de formulaires, factures, etc., préimprimés. Imprimer ces flots de données suppose un contrôle précis de l’imprimante physique. Il est fréquent que le pipeline de traitement du travail créé par piobe insère ou supprime des données du flot d’origine de sorte que les données en sortie ne sont plus imprimées à la bonne position du formulaire préimprimé. L’utilisateur racine a souvent accès à lsvirprt pour donner à l’attribut _d la valeur p dans la définition d’imprimante virtuelle. Sur une file d’attente ASCII sur une IBM 4029 LaserPrinter, cette opération entraîne piobe à sélectionner le pipeline ip pour traiter le travail. Le pipeline ip est destiné à l’impression passe-système, ce qui signifie que les filtres de formatage se servent de la routine passthru() simplement pour passer le flot de données en entrée par l’imprimante sans modification. Cela élimine souvent les problèmes de contrôle de l’imprimante rencontrés, mais en crée d’autres. Lorsque le filtre du programme de formatage opère en mode passe-système, la correspondance entre saut de ligne en retour chariot et saut de ligne est désactivée. Les formulaires ne sont toujours pas imprimés correctement. En supposant que l’application n’autorise pas l’insertion de retour chariot dans le flot de données, vous pouvez remédier au problème par le biais d’un simple filtre, comme suit : #include <stdio.h> main(int argc, char **argv) { int ch ; while (EOF != (ch = fgetc(stdin))) { switch (ch) { case 10: fputc(ch,stdout) ; fputc(0x0D,stdout) ; break ; default: fputc(ch,stdout) ; break ; } } } Compilez ce programme et nommez-le cr_mapper. et installez-le à un endroit accessible, /usr/lib/lpd, par exemple. Attribuez-lui la propriété de root.printq et les droits 555. En supposant que vous disposez d’une file d’attente ASCII appelée asc sur une IBM 4029 LaserPrinter, vous pouvez, sous AIX 4, utiliser lsvirprt pour sélectionner la file d’attente asc puis formater l’attribut de filtre f1. Un message semblable au suivant s’affiche : User defined filter 1 f1 = L’attribut f1 ayant par défaut une valeur nulle, la définition est creuse. Editez l’attribut f1 de sorte que sa définition apparaisse comme suit : User defined filter 1 f1 = ’/usr/lib/lpd/cr_mapper’ Lorsque vous sauvegardez la nouvelle définition de f1, vous pouvez la formater à nouveau avec lsvirprt ; un message semblable au suivant s’affiche : User defined filter 1 f1 = /usr/lib/lpd/cr_mapper ’/usr/lib/lpd/cr_mapper’ 4-178 Imprimantes et impression Guide de l’utilisateur Le filtre f1 peut désormais être utilisé à partir de la ligne de commande, via des commandes telles que : qprt –Pasc –f1 filename enq –Pasc –o –f –o 1 filename Si l’attribut _d n’avait pas été défini à p, l’indicateur et l’argument –dp doivent être ajoutés aux commandes. qprt –Pasc –dp –f1 filename enq –Pasc –o –d –o p –o –f –o 1 filename Le programme cr_mapper lit mes caractères à partir de stdin et les écrit sur stdout. Chaque fois qu’il lit et écrit un saut de ligne (A hexadécimal ou 10 décimal), il écrit en sortie un retour chariot (D hexadécimal). Imprimante, traceur et programmation du sous–système de spoulage 4-179 Edition du fichier /etc/qconfig Le fichier de configuration /etc/qconfig peut être édité avec l’éditeur de texte de votre choix. Il existe des règles strictes concernant le moment où vous pouvez ou ne pouvez pas modifier /etc/qconfig sans arrêter ou altérer les opérations du spouleur. Modification de /etc/qconfig pendant le traitement de travaux /etc/qconfig ne doit jamais être édité lorsque des travaux sont en cours de traitement. Ceci est spécialement vrai si votre système est équipé d’un grand nombre d’imprimantes (plus de 25), généralement bien occupées. Lorsque qdaemon reçoit une notification de enq indiquant l’existence d’un nouveau JDF (Job Description File), qdaemon examine les dates de /etc/qconfig et de /etc/qconfig.bin, version binaire de /etc/qconfig. Si /etc/qconfig est plus récent que /etc/qconfig.bin, qdaemon n’accepte pas de nouveaux travaux, y compris celui qui a provoqué l’examen des fichiers susmentionnés, tant que tous les travaux en cours n’ont pas été traités. Une fois tous les travaux traités, qdaemon crée une nouvelle version de /etc/qconfig.bin. Si vous amenez qdaemon à cet état alors que des travaux sont en cours, il se peut que le spouleur raccroche. Si vous modifiez /etc/qconfig dans ces conditions, et qu’une imprimante est en train de générer des sorties, le mieux est de laisser le système poursuivre et de voir s’il redevient actif une fois le traitement des travaux terminé. Si aucune imprimante ne génère de sortie ou que le spouleur apparaît raccroché, reportez-vous à la section ”Nettoyage et redémarrage ” du dépannage du spouleur, page 5-14. Attention : Mieux vaut le répéter. Ne modifiez pas /etc/qconfig lorsque des travaux sont en cours. Outre le fait d’éditer /etc/qconfig et d’écrire une nouvelle version du fichier sur le disque via un éditeur de texte, vous pouvez obtenir le même résultat en passant par smit pour modifier les propriétés d’une file d’attente ou la valeur d’un paramètre. Création d’une file d’attente à l’aide d’un éditeur L’utilisateur racine peut éditer /etc/qconfig et définir des files d’attente via un éditeur de texte. Il y a un cas où cette action ne doit pas être effectuée : c’est lorsque le programme dorsal pour la file d’attente du spouleur est piobe. Les files d’attente qui utilisent piobe comme programme dorsal doivent avoir une définition d’imprimante virtuelle associée. Dans ce cas, l’utilisateur racine doit faire appel à smit pour créer la file d’attente. Utiliser smit lance plusieurs programmes qui créent la définition d’imprimante virtuelle. 4-180 Imprimantes et impression Guide de l’utilisateur Chapitre 5. Dépannage du spouleur AIX Les informations des listes de contrôle suivantes sont destinées à résoudre les problèmes d’impression. • Dépannage du spouleur AIX • Liste de contrôle de l’imprimante locale • Liste de contrôle d’une imprimante ne fonctionnant pas • Liste de contrôle d’une imprimante distante • Remarques sur l’adaptateur • Liste de contrôle d’une imprimante raccordée à un terminal • Remarques sur une imprimante 8 bits raccordée à une interface 7 bits • Liste de contrôle de qdaemon • Problèmes du système de mise en file d’attente • Test du qdaemon • Test de la file d’attente du spouleur • Copie des travaux du spouleur • Nettoyage et redémarrage Pour dépanner le spouleur AIX, vous pouvez suivre la trace d’un travail dans le spouleur. Un travail soumis au spouleur AIX passe d’un élément du spouleur à un autre selon un chemin connu. Le mouvement dépend entièrement de la configuration de la file d’attente du spouleur, et notamment du programme dorsal associé à la file d’attente du spouleur. Remarque : Pour dépanner sérieusement le spouleur, vous devez détenir les droits de l’utilisateur racine. Les utilisateurs ne détenant pas ces droits sont limités à : • Soumettre des travaux au spouleur • Envoyer des données directement vers le point d’entrée du pilote d’unité dans le répertoire /dev • Interroger l’état des files d’attente du spouleur • Changer l’état (annulation comprise) des travaux du spouleur appartenant à l’utilisateur Remarque : Ces informations de dépannage supposent que vous avez accès à une invite shell. Il existe sur le marché nombre de processus frontaux du spouleur AIX lui-même ; le dépannage dans cet environnement reste tout à fait possible, mais le problème réside dans la commande ou la méthode effectivement utilisée pour soumettre un travail au spouleur, l’application doit fournir une méthode pour déterminer précisément la commande ou la méthode utilisée pour soumettre le travail au spouleur. Dépannage du spouleur AIX 5-1 Liste de contrôle de l’imprimante locale • Vérifiez que qdaemon est actif. Vérifiez qu’aucun processus dupliqué n’est exécuté à partir de qdaemon. • Vérifiez que la date système est correcte. qdaemon met à jour automatiquement le fichier qconfig.bin lorsque le fichier qconfig est modifié. Si la date du fichier qconfig est antérieure à la date du fichier qconfig.bin, le fichier qconfig n’est pas assimilé, même s’il vient d’être modifié. • Si les dates des fichiers qconfig.bin et qconfig sont correctes, de même que les modifications au fichier qconfig, le fichier /etc/qconfig n’est plus lié au fichier /usr/lpd/qconfig. • Vérifiez que le répertoire /tmp n’est pas saturé. Le répertoire /tmp peut être saturé si vous recevez un message tel que No Virtual Printers Defined ou que vous ne parvenez pas à imprimer à partir d’InfoExplorer. • Si seul l’utilisateur racine parvient à imprimer, vérifiez les droits sur le répertoire /tmp. Vérifiez également les droits sur les commandes d’impression utilisées (enq comprise). • Vérifiez que le fichier /var/spool/lpd/qdir ne contient de pas noms de files d’attente obsolètes. L’installation d’un nouveau fichier /etc/qconfig pose problème si une file d’attente est retirée du fichier /etc/qconfig et qu’une requête d’impression est effectuée en spécifiant le nom de file d’attente obsolète. qdaemon consigne un message d’erreur. Vous devez déterminer si le message fait référence à une ancienne file d’attente. Dans l’affirmative, le problème persistera tant que vous ne supprimez pas les entrées de files d’attente obsolètes du fichier /var/spool/lpd/qdir. • Si vous ne recevez pas les messages d’impression destinés à l’opérateur, vérifiez que le socket est connecté et que le nom hôte répond à la commande ping. • Les messages destinés à l’opérateur émis par les commandes d’impression sont acheminés via la commande writesrv du sous-système TCP/IP. Si les messages ne sont pas reçus, vérifiez que writesrv est actif en entrant la commande : lssrc –s writesrv Si writesrv n’est pas actif, lancez-le via la commande : startsrc –s writesrv Enfin, vérifiez que writesrv figure dans la sortie de l’une des commandes suivantes : netstat –a | pg OU netstat –a | grep writesrv 5-2 Imprimantes et impression Guide de l’utilisateur Liste de contrôle d’une imprimante ne fonctionnant pas Si une imprimante raccordée localement n’a jamais fonctionné, vérifiez les éléments suivants : • Exécutez le test de trame de l’imprimante en n’y branchant que le cordon d’alimentation. • Vérifiez que vous disposez du câble d’imprimante adéquat. • Vérifiez le branchement du câble. • Vérifiez que vous avez créé une unité pour l’imprimante (via Périphériques, SMIT ou la ligne de commande). • Tentez de lancer la commande suivante immédiatement après un réamorçage ou lorsque vous n’avez rien envoyé à l’imprimante depuis le dernier réamorçage. echo L’imprimante fonctionne-t-elle ? > /dev/lpn /dev/lpn où lpn est le nom d’unité de l’imprimante testée. Si le message s’imprime, configurez l’imprimante en imprimante virtuelle. Si l’instruction bloque ou renvoie un message d’erreur, le problème ne provient ni du système d’exploitation, ni du système de file d’attente. Sont en cause un ou plusieurs des éléments suivants : – Le câble. – La configuration (débit, établissement de la connexion, numéro de port, etc.). Les paramètres de l’imprimante et de l’ordinateur doivent être identiques. – Un port défectueux sur l’ordinateur. – Une imprimante défectueuse. • Si vous avez du mal à faire fonctionner une imprimante série via un adaptateur 8, 16 ou 64 ports ou un modem, tentez de la faire fonctionner directement à partir de S1 ou S2 sur l’ordinateur. Une fois que l’imprimante fonctionne sur S1 ou S2, déplacez-la sur le port souhaité. Si ni S1 ni S2 ne sont disponibles, essayez de déplacer l’imprimante sur un autre port. Dépannage du spouleur AIX 5-3 Liste de contrôle d’une imprimante distante Sur un hôte jouant le rôle d’un serveur d’impression distant, vérifiez les éléments suivants : • Vérifiez que toutes machines client (hôtes étrangers) figurent dans le fichier /etc/hosts.lpd. • Vérifiez que le sous-système TCP/IP est actif. • Vérifiez l’existence du répertoire /usr/spool/lpd. • Vérifiez que le répertoire /etc/locks/lpd n’existe pas si le démon lpd n’est pas actif. • Vérifiez que le démon lpd et qdaemon sont actifs. • Consultez la section ”Liste de contrôle de l’imprimante locale”, page 5-2. Sur les hôtes imprimant sur un serveur d’impression distant : • Vérifiez les noms de la file d’attente et du serveur d’impression distant dans le fichier /etc/qconfig. • Vérifiez que le sous-système TCP/IP est actif. • Vérifiez que qdaemon est actif. 5-4 Imprimantes et impression Guide de l’utilisateur Remarques sur l’adaptateur L’adaptateur RS–232 16 ports ne prend pas en charge le signal CTS (clear to send). Une imprimante connectée à cet adaptateur ne terminera pas l’impression d’un travail si l’imprimante est mise hors tension pendant l’impression du travail. Vous devez relancer le travail ou le supprimer manuellement. Remarques sur les ressources L’impression génère des processus. L’impression d’un travail peut nécessiter dans la plupart des cas de un à cinq processus. Comme avec toute autre activité, il est possible d’épuiser le nombre maximal de processus possibles sur le système. Cela peut se produire lors de la soumission d’un seul travail d’impression sur un système déjà très actif, ou lors de la soumission de nombreux travaux d’impression sur un système n’ayant pratiquement pas d’autre activité en cours. Le manque de processus disponibles peut provoquer un comportement anormal du système. Si vous constatez ce type de comportement sur votre système, pensez à vérifier les ressources afin de voir si le nombre de processus n’est pas trop limité. Dépannage du spouleur AIX 5-5 Liste de contrôle d’une imprimante raccordée à un terminal Lorsqu’une imprimante raccordée à un terminal ASCII ne génère aucune sortie, vérifiez les points suivants : • Vérifiez que les paramètres du port AUX sur le terminal et ceux de l’imprimante sont identiques. Pour ce faire, consultez au besoin la documentation du terminal. Pour la configuration de l’interface série de l’imprimante, consultez la documentation de l’imprimante. Les valeurs concernées sont le débit en bauds, la parité, les bits de données, les bits d’arrêt et XON/XOFF. • Si votre terminal émule un terminal de type différent, vous devez peut-être définir la variable d’environnement PIOTERM. export PIOTERM=TypeTerminalEmulé • Vérifiez que vous disposez du câble d’imprimante adéquat. • Vérifiez le branchement du câble sur le port auxiliaire du terminal. • Vérifiez que la file d’attente d’impression est à l’état READY : lpstat Si l’état de file d’attente de l’imprimante raccordée au terminal n’est pas READY, annulez tous les travaux sur la file d’attente et relancez-les, via les commandes : qadm –Xqname qadm –Uqname où qname est le nom de file d’attente de l’imprimante raccordée au terminal. Vous devez soumettre à nouveau vos travaux d’impression. • Vérifiez les droits sur la commande pioout : /usr/lib/lpd/pio/etc/pioout –r–sr–xr–x Pour restaurer les droits, entrez : chmod 4555 /usr/lib/lpd/pio/etc/pioout • Consultez la section ”Liste de contrôle de l’imprimante locale”, page 5-2. • Il y a parfois conflit entre les codes de contrôle de l’imprimante et les codes de contrôle du terminal. Si les contrôles précédents restent sans effet, reconfigurez votre imprimante virtuelle comme imprimante ASCII. Reportez-vous à ”Configurer une imprimante virtuelle et une file d’impression”, page 2-28. S’il y a des interférences entre les entrées clavier et les sorties imprimante, vérifiez les points suivants : • Réglez les attributs de l’imprimante virtuelle propres aux imprimantes raccordées à un terminal. Pour ce faire, lancez le raccourci SMIT : smit chvirprt • Soumettez à nouveau la requête d’impression et évitez de taper pendant l’impression. • Si le terminal ASCII se verrouille, mettez-le hors tension, puis de nouveau sous tension. 5-6 Imprimantes et impression Guide de l’utilisateur Remarques sur une imprimante 8 bits raccordée à une interface 7 bits Certaines imprimantes supposent l’existence d’une interface 8 bits (8 bits par octet) vers l’hôte. Bien qu’une imprimante 8 bits raccordée à une interface 7 bits puisse imprimer, les sorties risquent d’être peu satisfaisantes. Pour déterminer si votre imprimante suppose une interface 8 bits, consultez le manuel de l’imprimante. Des sorties insatisfaisantes sont générées dans les cas suivants : • Les séquences de commandes de l’imprimante contiennent des valeurs sur 8 bits. Si une imprimante 8 bits doit être raccordée à une interface 7 bits, procédez comme suit pour éviter des sorties incorrectes. a. Entrez le raccourci smit lsvirprt. b. sélectionnez le type et la file d’attente d’impression : j=!j=! c. Appuyez sur Entrée pour quitter. Cette commande prévient l’envoi à l’imprimante des chaînes d’initialisation du fichier d’impression, susceptibles de contenir des séquences de commandes sur 8 bits. Remarque : Cette opération annule également l’initialisation de l’imprimante. Aussi, selon le pas, l’interligne et autres attributs définis par le fichier d’impression précédent, l’impression peut ne pas être tout à fait satisfaisante. • Les points de code de caractère d l’imprimante peuvent être des valeurs sur 8 bits, où chaque caractère graphique est représenté par une valeur entière sur 8 bits, provoquant l’impression d’un caractère incorrect. Pour éviter ce problème, tous les caractères des fichiers d’impression doivent être issus du jeu de caractères ASCII portable. • Une interface 7 bits affecte l’impression des fichiers graphiques car certains points de données sont perdus. Dépannage du spouleur AIX 5-7 Liste de contrôle de qdaemon Normalement, la commande qdaemon est lancée au démarrage du système, reste active tant que le système n’est pas mis hors tension et ne requiert aucune intervention. Il arrive toutefois que la commande qdaemon s’arrête ou ne puisse plus effectuer ses fonctions. La section suivante explique que faire dans ce cas. La présence d’une des conditions suivantes indique que la commande qdaemon doit faire l’objet de maintenance : • Les requêtes de la commande enq renvoient le message : cannot awaken qdaemon (request accepted anyway) • La commande qdaemon détecte de sérieuses incohérences et affiche un message d’erreur. • La commande ps –ef (commande d’état du processus qui affiche la liste de tous les processus) n’affiche pas le processus /usr/sbin/qdaemon ou qdaemon. Pour lancer la commande qdaemon, lancez la commande : startsrc –s qdaemon Généralement, seuls les utilisateurs détenant les droits racine sont habilités à exploiter cette commande. La nouvelle commande qdaemon effectue un processus d’initialisation. Si la commande qdaemon ne reste pas active, vérifiez les droits sur les commandes qdaemon et enq. La personne détenant les droits de l’utilisateur racine détient les deux commandes qdaemon et enq. Les commandes qdaemon et enq doivent être exécutées comme si elles l’étaient par l’utilisateur qui les détient. Le bit d’autorisation s affecte à cet utilisateur nominal la propriété effective (ID utilisateur) du processus. Les droits sur ces deux commandes sont : qdaemon –r–sr–s––– Pour vérifier ces droits, entrez aclget /usr/sbin/qdaemon. Pour réinitialiser les droits, entrez : tcbck –y /usr/sbin/qdaemon. Vous devez détenir les droits de l’utilisateur racine pour réinitialiser ces droits. enq–r–sr–sr–x Pour vérifier ces droits, entrez aclget /usr/bin/enq. Pour réinitialiser les droits, entrez : tcbck –y /usr/bin/enq. Vous devez détenir les droits de l’utilisateur racine pour réinitialiser ces droits. Si les problèmes avec la commande qdaemon persistent, réinitialisez l’intégralité du système de files d’attente, comme suit : 1. Si la commande qdaemon est active (lancez la commande ps –ef pour le vérifier), arrêtez-la via stopsrc –s qdaemon. 2. Si un programme dorsal est actif, arrêtez-le via la commande kill. 3. Supprimez le contenu des répertoires suivants : – /var/spool/lpd/stat – /var/spool/lpd/qdir Remarque : Tous les travaux actuellement en attente d’impression sont supprimés et doivent être soumis à nouveau. 4. Relancez la commande qdaemon en entrant startsrc –s qdaemon. 5-8 Imprimantes et impression Guide de l’utilisateur Problèmes du système de mise en file d’attente Lorsque le système de file d’attente affiche une ou plusieurs files d’attente à l’état DEV_WAIT et que vous avez vérifié que la file d’attente n’attend pas l’imprimante parce que celle-ci est hors ligne, en panne de papier, présente un bourrage, ou que son câble est détaché, défectueux ou mal branché, et que l’état n’est pas passé à DOWN à l’issue du délai de TIMEOUT, procédez comme suit pour éliminer l’erreur et relancer le système de files d’attente. Cette méthode arrête qdaemon, supprime tous les travaux en file d’attente et relance qdaemon. Vous devez être utilisateur racine. stopsrc –s qdaemon ps –e | fgrep qd kill –9 PIDNumbers où PIDNumbers sont les PID résultant de la commande ps. ps –e | fgrep pio kill –9 PIDNumbers rm /var/spool/lpd/stat/_dev_DEVICE où DEVICE est l’unité à l’état DEV_WAIT. rm /var/spool/lpd/stat/s.QUEUE.DEVICE où QUEUE est la file d’attente et DEVICE, l’unité à l’état DEV_WAIT. mkdir /tmp QDIR mv /var/spool/lpd/qdir/NNUSER:QUEUE /tmp QDIR où NN est un numéro, USER, l’utilisateur qui a mis le travail en file d’attente et QUEUE, la file d’attente à l’état DEV_WAIT. startsrc –s qdaemon Une fois le système de files d’attente nettoyé et semblant fonctionner correctement, vous devez arrêter qdaemon, copier les fichiers jdf de /tmp/QDIR dans /var/spool/lpd/qdir, puis relancer qdaemon. Dépannage du spouleur AIX 5-9 Test du qdaemon Scénario : Soumettre des travaux au spouleur ne provoque aucune activité discernable du spouleur ; il s’agit d’un scénario bien connu d’AIX version 3.2.5. Soit la file d’attente d’impression ASCII locale asc. Vérifiez que qdaemon est actif. Lancez la commande enq –Pasc /etc/motd. Si qdaemon n’est pas actif, une variante du message suivant s’affiche : enq: (WARNING): Cannot awaken qdaemon. (request accepted anyway) enq: errno = 2: No such file or directory enq: (WARNING): Cannot awaken qdaemon. (request accepted anyway) enq: errno = 2: No such file or directory Lancez la commande ps –ef | grep qdaemon pour vérifier que qdaemon n’est pas actif. Si qdaemon n’est pas actif, vous devez voir au moins une ligne de sortie représentant le grep lui-même. Elle doit être semblable à : root 2992 18792 0 12:46:39 pts/2 0:00 grep qdaemon Si qdaemon est actif, ce qui rarement le cas, une variante de la ligne suivante s’affiche : root 2980 3652 0 12:41:25 – 0:00 /usr/sbin/qdaemon Si qdaemon n’est pas actif, lancez la commande startsrc –s qdaemon pour relancer qdaemon. Si qdaemon est mort, il a sans doute été relancé automatiquement par le processus srcmstr, mais sans résultat : relancez-le manuellement. Une variante du message suivant s’affiche : 0513–059 The qdaemon Subsystem has been started. Subsystem PID is 3000. Patientez environ une minute et relancez la commande ps –ef | grep qdaemon. qdaemon est–il toujours actif ou a–t–il juste démarré pour mourir aussitôt ? Si qdaemon n’est plus actif, bien que vous veniez de le relancer et que vous ayez reçu un message spécifiant l’ID processus (PID) de qdaemon et indiquant qu’il est actif, vérifiez que le fichier /var/spool/lpd/stat/pid existe. Pour ce faire, lancez la commande cat /var/spool/lpd/stat/pid. Ce fichier contient le PID d’un qdaemon actif. Lorsque qdaemon n’est pas actif, le fichier est supposé retiré. Si la commande cat affiche un nombre à l’écran, ce doit être le PID d’un qdaemon actif. Si vous avez déjà déterminé que qdaemon n’est pas actif, retirez le fichier /var/spool/lpd/stat/pid car une instance antérieure de qdaemon a dû mourir sans provoquer le retrait de ce fichier. Si le fichier n’existe pas, un message semblable au suivant s’affiche : cat: cannot open /var/spool/lpd/stat/pid Si qdaemon était inactif, vous l’avez relancé, il est mort de nouveau, le fichier /var/spool/lpd/stat/pid existait et vous l’avez retiré, puis relancé encore qdaemon via la commande startsrc –s qdaemon. Patientez une minute et relancez la commande ps –ef | grep qdaemon pour déterminer si qdaemon est resté actif. Vous pouvez relancer la commande cat /var/spool/lpd/stat/pid pour vérifier que le fichier a été recréé et qu’il contient à présent un PID valide. Si la réponse à la question initiale, qdaemon est-il actif ?, était oui, il est alors possible que qdaemon attende la fin de tous les travaux en cours avant de manifester qu’il est prêt à accepter de nouveaux travaux. Ce scénario est fréquent lorsqu’une machine sous AIX est équipée d’un grand nombre (plus de 25) d’imprimantes raccordées à des adaptateurs asynchrones (adaptateurs 64 ou 128 ports). 5-10 Imprimantes et impression Guide de l’utilisateur Pour vérifier si qdaemon attend la fin d’un travail avant d’en exécuter d’autres, lancez la commande lpstat pour vérifier si des travaux sont à l’état RUNNING. Dans l’affirmative, examinez physiquement les imprimantes sur lesquelles il existe des travaux RUNNING et vérifiez qu’au moins un travail est effectivement en cours d’exécution. Si une ou plusieurs imprimantes indiquent DEV_WAIT suite à un bourrage ou parce qu’il n’y a plus de papier, remédiez au problème et vérifiez si l’imprimante redémarre. Si elle n’imprime pas, lancez à nouveau lpstat pour voir si la file d’attente est à l’état RUNNING. Dans tous cas, il s’agit de vérifier qu’au moins une imprimante imprime réellement même si qdaemon ne lance pas de nouveaux travaux. Soumettez à présent un nouveau travail au spouleur via la commande enq –Pasc /etc/motd. Lancez lpstat pour examiner l’état de la file d’attente. Si un nouveau travail porte le numéro NEW, qdaemon est focalisé sur un (ou plusieurs) travail (aux) en cours d’exécution et ne lance pas de nouveaux travaux tant que les travaux en cours ne sont pas terminés. Vous ne pouvez qu’attendre. Vous ne pouvez même pas annuler les travaux en cours, car les requêtes d’annulation de travaux sont également des travaux, et qdaemon n’accepte pas de nouveaux travaux. Remarque : Le numéro de travail NEW n’est attribué que sous AIX version 3.2.5 ; ceci ne se produit pas sous AIX version 4. Le numéro de travail NEW apparaît lorsque enq a créé un JDF, mais que qdaemon ne l’a pas encore lu. Cet événement ne peut se produire sous AIX version 4. Dépannage du spouleur AIX 5-11 Test d’une file d’attente du spouleur Lors du spoulage de travaux à partir d’une application, il n’est pas toujours évident de savoir si un travail est effectivement envoyé au spouleur. Supposons à nouveau que vous avez des problèmes avec la file d’attente asc. Lancez la commande disable asc pour désactiver la file d’attente du spouleur. Lancez la commande lpstat –pasc pour vérifier que la file d’attente est à l’état DOWN. Soumettez à nouveau un travail à la file d’attente via l’application. Lancez lpstat pour vérifier que le travail se trouve dans la file d’attente asc (tant que la file d’attente est à l’état temporaire DOWN, qdaemon place les travaux en file d’attente, mais n’autorise pas leur traitement). Si le travail ne se trouve pas dans la file d’attente, consultez la documentation de l’application, le support technique ou faites appel à vos connaissances pour déterminer ce qui peut être la cause du problème. Si possible, déterminez précisément la commande ou la méthode de soumission utilisée par l’application et relancez-la à partir de la ligne de commande. Il est possible que l’application cache les messages d’erreur renvoyés par enq ou par qdaemon. 5-12 Imprimantes et impression Guide de l’utilisateur Copie des travaux du spouleur Notamment dans un environnement de spoulage distant, il peut être utile d’effectuer une copie des travaux se trouvant dans le spouleur. Lorsqu’un travail est soumis au spouleur, un fichier JDF (job description file) est créé et stocké dans /var/spool/lpd/qdir. Si la file d’attente est distante, avec un programme dorsal du type rembak, le travail est transféré au serveur d’impression, où enq crée un autre JDF et place le travail dans la file d’attente du serveur d’impression spécifié. Si les travaux semblant s’évanouir sur le serveur d’impression, désactivez la file d’attente du serveur d’impression (disable asc, pour la file d’attente ASCII, par exemple), et soumettez à nouveau le travail. Dans la mesure où asc est à l’état down, lpstat doit indiquer que le travail est en file d’attente, mais la file d’attente étant DOWN, le travail y reste. Explorez /var/spool/lpd/qdir à la recherche du JDF de ce travail. La dernière ligne du JDF est le chemin d’accès complet à la copie spoulée du flot de données en entrée. Copiez ce fichier dans un fichier temporaire, tel que /tmp/myfile. Lorsque vous copiez le fichier, vous perdez tous les indicateurs associés au travail : seules sont copiées les données du flot d’entrée. Activez la file d’attente asc (enable asc) et autorisez le traitement du travail. S’il échoue, soumettez la copie effectuée (enq –Pasc /tmp/myfile). Si ce travail échoue également, recherchez les éventuelles erreurs dans le flot des données entrées, pour déterminer pourquoi l’imprimante refuse de l’imprimer. Si la copie s’imprime, il y a sans doute un problème au niveau des indicateurs associés au travail d’origine. Dépannage du spouleur AIX 5-13 Nettoyage et redémarrage Cette procédure nettoie complètement le système de spoulage et le relance. Tous les travaux actuellement en attente de traitement sont supprimés et doivent être soumis à nouveau. Utilisez cette procédure lorsque vous ne parvenez pas à dépanner un spouleur qui ne fonctionne pas. Pour exécuter cette tâche, vous devez détenir les droits de l’utilisateur racine. 1. Arrêtez qdaemon et les processus associés : stopsrc –s qdaemon ps–ef | grep qd 2. kill –9 PIDNumbers où PIDNumbers sont les PID résultant de la commande ps. Vous pouvez trouver qdfork. ps –ef | grep pio kill –9 PIDNumbers où PIDNumbers sont les PID résultant de la commande ps. Vous pouvez trouver pioformat ou pioout. 3. Nettoyez la file d’attente et le répertoire d’état de l’unité. rm /var/spool/lpd/stat/*_dev_* rm /var/spool/lpd/stat/s* Le fichier /var/spool/lpd/stat/numfile contient un entier représentant le numéro du dernier travail affecté. Si le fait que le numérotation des travaux reprenne à zéro vous indiffère, vous pouvez entrer simplement : rm /var/spool/lpd/stat/* 4. Retirez les travaux spoulés : rm /var/spool/lpd/qdir/* rm /var/spool/qdaemon/* 5. Relancez qdaemon. startsrc –s qdaemon Lorsque vous lancez les commandes ps, vous pouvez trouver un processus dont l’ID du processus parent ID (PPID) est 1. Si ces processus ne peuvent être tués par kill –9, vous devez réamorcer le système pour vous en débarrasser. 5-14 Imprimantes et impression Guide de l’utilisateur Index A adaptateur RS–232, remarques sur l’imprimante, 5-5 B base de données Terminfo, 2-28 C carte de connexion 5080, 2-15 chemin d’accès rapide aux imprimantes wsm, 2-2 commande piobe, 2-29 commande pioout, 2-29 commande pr, 1-14 commande qcan, 1-8 commande qchk, 1-12 commande qhld, 1-11 commande qmov, 1-10 commande qpri, 1-9 commande qprt, 1-4 utilisation des polices X, 4-41, 4-44 commande smit, 1-7 D dépannage, imprimante, 5-1 dépannage de l’imprimante, 5-1 imprimante 8 bits raccordée à une interface 7 bits, 5-6 imprimantes ne fonctionnant pas, 5-3 liste de contrôle d’une imprimante distante, 5-4 liste de contrôle d’une imprimante raccordée à un terminal, 5-5 liste de contrôle de l’imprimante locale, 5-2 problèmes qdaemon, 5-7 remarques sur l’adapteur, 5-5 système de file d’attente, 5-8 distant, imprimantes, 1-3 E environnement PIOTERM, 2-27 F fichier de configuration d’une unité attribution d’un nom, 4-57 champs d’instructions dans, description de, 4-59 commentaires dans, 4-60 définition des invites de, 4-61 définition des menus de, 4-61 exemple de, 4-61 format des instructions dans, 4-58 première instruction de, 4-60 types d’instructions disponibles dans, 4-58 fichier deux–points, ajout d’une imprimante, 4-62 fichier qconfig, 2-51 fichiers, formatage, pour l’impression, 1-14 fichiers ASCII, impression sur imprimante PostScript, 1-16 fichiers de raccord, 4-46 fichiers deux–points, 4-4, 4-21 opérateurs du champ limits, 4-50 file d’attente impression, 1-2 unité, 1-2 file d’attente d’impression affichage de liste files d’attente d’impression, 2-32 unités de files d’impression, 2-32 ajout, unité de file d’attente d’impression, 2-14 caractéristiques, 2-39 démarrage et arrêt, 2-34 états possibles, 2-56 suppression, 2-43 unité caractéristiques, 2-39 suppression, 2-43 file d’attente daemon, 5-8 filtres, formatage, 3-15 format de papier définition pour les imprimantes Hewlett–Packard, 2-40 définition pour les imprimantes IBM, 2-40 H Hewlett–Packard, 4-76 hôte distant ajout, 2-53 suppression, 2-53 I IBM, imprimantes, 4-65 impression, 1-1 blocage des travaux d’impression, 1-11 déplacement des travaux d’impression, Web-based System Manager, 1-10 fichiers ASCII sur une imprimante PostScript, 1-16 formatage des fichiers pour, 1-14 libération des travaux d’impression, 1-11 impression à distance accès hôte distant, 2-53 présentation, 2-48 imprimante, 4-57 affichage de l’état de travail, 1-9 ajout, 2-12 ajout d’une imprimante non définie, procédure rd’utilisation du fichier deux–points, 4-62 annulation d’un travail, 1-8 caractéristiques, 2-46 codes de contrôle, 2-2 commandes pour, 2-1 configuration imprimante pour un terminal ASCII, 2-31 port d’imprimante, 2-11, 2-12 configuration d’outils non pris en charge, 2-22 défini, affichage de liste, 2-44 Index X-1 déplacement sur un autre port, 2-45 distant décrit, 1-3, 2-4 gestion, 2-51 états possibles, 1-13 fichiers deux–points, 4-21 opérateurs du champ limits, 4-50 file d’attente, 1-2 filtres de formatage, 2-5 informations de contrôle, 2-2 informations spécifiques, 4-64 Canon LASER SHOT, 4-76 imprimantes Dataproducts, 4-76 imprimantes Hewlett–Packard, 4-76 imprimantes IBM, 4-65 imprimantes Printronix, 4-93 imprimantes QMS, 4-93 imprimantes TI, 4-93 Lexmark 4227 Forms Printer, 4-78 Lexmark Optra, 4-79 Lexmark Optra C Color, 4-83 Lexmark Optra E, 4-86 Lexmark Optra N, 4-87 Lexmark Optra Plus, 4-81 Lexmark Plus Printers, 4-91 lancement d’un travail, 1-4 local, décrit, 1-3, 2-4 non pris en charge, configuration de, 2-22 physique, 3-18 port configuration, 2-11, 2-12 déplacement d’une imprimante, 2-45 pris en charge, 4-94 affichage de liste, 2-44 programme dorsal commandes, 2-29 défini, 1-3, 2-4 qdaemon, 1-2 raccordé à un terminal, 2-24, 2-27 installation, 2-26 limitations, 2-30 terminaux non pris en charge, 2-28 raccordé au réseau, ajout d’un support pour configurer une imprimante, 4-57 réel, 1-3 spouleur défini, 1-2, 2-3 suppression, 2-47 terminologie, 2-6 unité de file d’attente, 1-2 virtuel attributs, description, 4-4 virtuel, 2-3 imprimante Canon LASER SHOT, 4-76 imprimante distante gestion, 2-51 liste de contrôle, 5-4 imprimante PostScript, impression de fichiers ASCII, 1-16 imprimante raccordée à un terminal, 2-24, 2-26, 2-30 liste de contrôle, 5-5 matériel pris en charge, 2-24 terminaux non pris en charge, 2-28 utilisation d’un modem, 2-27 X-2 Imprimantes et impression Guide de l’utilisateur imprimante virtuelle, attributs, décrit, 4-4 imprimantes Dataproducts, 4-76 imprimantes locales, 1-3 imprimantes Printronix, 4-93 imprimantes QMS, 4-93 imprimantes réelles, 1-3 imprimantes TI, 4-93 imprimantes virtuelles, 3-15 J jeux de code, multioctet, 4-43 L Lexmark 4227 Forms Printer, 4-78 Lexmark Optra C Color LaserPrinter, 4-83 Lexmark Optra E LaserPrinter, 4-86 Lexmark Optra LaserPrinter, 4-79 Lexmark Optra N LaserPrinter, 4-87 Lexmark Optra Plus LaserPrinter, 4-81 Lexmark Plus Printers, 4-91 libqb, routines du programme dorsal, 4-35 liste de commandes pr, 1-14 qcan, 1-8 qchk, Commande SYMBOLE IBM [Symbol.websm], 1-12 qhld, 1-11 qmov, 1-10 qpri, commande SYMBOLE IBM [Symbol.websm], 1-9 qprt, 1-4 smit, 1-7 lpd démon, 2-49 sous–système, 2-54 P page de code de l’imprimante, table de traduction, 4-38 programme de formatage d’impression, exemple de, 4-26 programme dorsal imprimante, 1-3 routines dans libqb, 4-35 traitement, 3-11 programme rembak, 2-49 programmes dorsaux, imprimante, 2-4 Q qdaemon, 1-2 liste de contrôle, 5-7 présentation, 2-7 relancement, 5-8 S séquences d’échappement description de, 4-14 indicateurs de la ligne de commande, 4-19 opérateurs arithmétiques, 4-17 opérateurs conditionnels, 4-18 opérateurs logiques, 4-17 opérateurs logiques au niveau du bit, 4-17 opérateurs relationnels, 4-17 passage de l’entrée vers la sortie, 4-18 sortie ASCII, 4-14 sortie binaire, 4-14 valeurs d’entrée, 4-15 variables internes, 4-16 serveur d’impression, distant, 2-52 SMIT format de papier de l’imprimante définition pour les imprimantes Hewlett–Packard, 2-40 définition pour les imprimantes IBM, 2-40 impression, contrôle de, 1-4 SMIT (System Management Interface Tool) classe d’objets sm_cmd_obj, utilisé avec les fichiers de l’imprimante, 4-50 interface des fichiers de raccord d’imprimante, 4-46 sous–routine iconv, 4-43 spouleur, 2-3, 3-1 éléments, 3-7 fichier de configuration, structure du fichier etc/qconfig, 3-17 files d’attente, 3-18 flot de données, 3-7 terminologie, 3-3 spouleur d’impression, 1-2 défini, 2-3 structure du fichier /etc/qconfig, 3-17 SYMBOLE IBM [Symbol.websm], chemin d’accès rapide aux imprimantes wsm, 2-2 système de file d’attente, états possibles, 2-56 T tables de traduction exemple, 4-42, 4-45 jeux de code multioctets, 4-40, 4-43 terminal ASCII, configuration d’une imprimante pour, 2-31 traceur, 2-12 ajout de la carte de connexion dans, 2-15 traitement, programme dorsal, 3-11 travaux d’impression affichage de l’état, 1-12 annulation, 1-8 blocage, 1-11 définition, 1-2 déplacement, 1-10 formatage des fichiers pour, 1-14 lancement, 1-4 libération, 1-11 planification, 2-38 priorité, 1-9 U unités, 4-57 W Web-based System Manager, 1-11, 2-1 Index X-3 X-4 Imprimantes et impression Guide de l’utilisateur Vos remarques sur ce document / Technical publication remark form Titre / Title : Bull Imprimantes et impression Guide de l’utilisateur Nº Reférence / Reference Nº : 86 F2 37JX 02 Daté / Dated : Novembre 1999 ERREURS DETECTEES / ERRORS IN PUBLICATION AMELIORATIONS SUGGEREES / SUGGESTIONS FOR IMPROVEMENT TO PUBLICATION Vos remarques et suggestions seront examinées attentivement. Si vous désirez une réponse écrite, veuillez indiquer ci-après votre adresse postale complète. Your comments will be promptly investigated by qualified technical personnel and action will be taken as required. If you require a written reply, please furnish your complete mailing address below. NOM / NAME : SOCIETE / COMPANY : ADRESSE / ADDRESS : Remettez cet imprimé à un responsable BULL ou envoyez-le directement à : Please give this technical publication remark form to your BULL representative or mail to: BULL ELECTRONICS ANGERS CEDOC 34 Rue du Nid de Pie – BP 428 49004 ANGERS CEDEX 01 FRANCE Date : Technical Publications Ordering Form Bon de Commande de Documents Techniques To order additional publications, please fill up a copy of this form and send it via mail to: Pour commander des documents techniques, remplissez une copie de ce formulaire et envoyez-la à : BULL ELECTRONICS ANGERS CEDOC ATTN / MME DUMOULIN 34 Rue du Nid de Pie – BP 428 49004 ANGERS CEDEX 01 FRANCE Managers / Gestionnaires : Mrs. / Mme : C. DUMOULIN Mr. / M : L. CHERUBIN +33 (0) 2 41 73 76 65 +33 (0) 2 41 73 63 96 FAX : E–Mail / Courrier Electronique : +33 (0) 2 41 73 60 19 [email protected] Or visit our web site at: / Ou visitez notre site web à: http://www–frec.bull.com (PUBLICATIONS, Technical Literature, Ordering Form) CEDOC Reference # No Référence CEDOC Qty Qté CEDOC Reference # No Référence CEDOC Qty Qté CEDOC Reference # No Référence CEDOC __ __ ____ _ [__] __ __ ____ _ [__] __ __ ____ _ [__] __ __ ____ _ [__] __ __ ____ _ [__] __ __ ____ _ [__] __ __ ____ _ [__] __ __ ____ _ [__] __ __ ____ _ [__] __ __ ____ _ [__] __ __ ____ _ [__] __ __ ____ _ [__] __ __ ____ _ [__] __ __ ____ _ [__] __ __ ____ _ [__] __ __ ____ _ [__] __ __ ____ _ [__] __ __ ____ _ [__] __ __ ____ _ [__] __ __ ____ _ [__] __ __ ____ _ [__] Qty Qté [ _ _ ] : no revision number means latest revision / pas de numéro de révision signifie révision la plus récente NOM / NAME : Date : SOCIETE / COMPANY : ADRESSE / ADDRESS : PHONE / TELEPHONE : FAX : E–MAIL : For Bull Subsidiaries / Pour les Filiales Bull : Identification: For Bull Affiliated Customers / Pour les Clients Affiliés Bull : Customer Code / Code Client : For Bull Internal Customers / Pour les Clients Internes Bull : Budgetary Section / Section Budgétaire : For Others / Pour les Autres : Please ask your Bull representative. / Merci de demander à votre contact Bull. REFERENCE 86 F2 37JX 02 PLACE BAR CODE IN LOWER LEFT CORNER BULL ELECTRONICS ANGERS CEDOC 34 Rue du Nid de Pie – BP 428 49004 ANGERS CEDEX 01 FRANCE Utiliser les marques de découpe pour obtenir les étiquettes. Use the cut marks to get the labels. AIX Imprimantes et impression Guide de l’utilisateur 86 F2 37JX 02 AIX Imprimantes et impression Guide de l’utilisateur 86 F2 37JX 02 AIX Imprimantes et impression Guide de l’utilisateur 86 F2 37JX 02