Serveur d'impression

: Chapitre 4: Configuration de l'imprimante :: Partie I: Configuration de Red Hat Linux :: Les secrets professionnels de Red Hat Linux 9 :: Systèmes Linux :: eTutorials.org – Bien choisir son serveur d impression

Le 18 novembre 2019 - 10 minutes de lecture

Comprendre le système d'impression CUPS

Dans Red Hat Linux, avec le système d’impression CUPS, la vue de l’imprimante est basée sur les commandes d’impression de base: lp, lpr, lpq, lprm, et statut lpc. Un peu plus d'informations vous aideront à comprendre le fonctionnement de l'impression en coulisse. Comme beaucoup d'autres choses sous Linux, la prise en charge du système d'impression CUPS consiste uniquement à disposer des bons fichiers aux bons endroits. Cela devient évident après avoir configuré Linux pour la mise en réseau et après avoir configuré des modems d'accès à distance, par exemple. Dans chaque cas, vous devez vous assurer que plusieurs fichiers de configuration apparaissent aux emplacements appropriés. La configuration requise pour l'environnement d'impression est la même: des fichiers de configuration qui spécifient le mode d'impression.

Bien qu’aujourd’hui, vous puissiez utiliser des outils de configuration graphiques pour configurer des services tels que l’impression et la connexion réseau à distance, il est utile de connaître le nom des fichiers de configuration de texte, car vous pourrez alors résoudre les problèmes même si vous n’avez pas accès à une interface graphique. s'identifier.

Si vous connaissez MS-DOS depuis longtemps, vous avez peut-être imprimé des fichiers en les copiant simplement sur le port d’imprimante (LPT1, par exemple). Vous pourriez penser qu'une approche similaire est suffisante pour Linux. Comme vous le verrez dans la section suivante, une telle approche brutale pour copier un fichier sur le port d'imprimante physique n'est pas appropriée pour un système multi-utilisateur tel que Linux. Vous avez besoin d'un moyen de mettre les travaux d'impression en file d'attente et de disposer d'un processus d'impression séparé pour prendre en charge l'impression.

Copie vers l’imprimante: impression par force brute

Si vous avez une imprimante connectée au / dev / lp0 port parallèle, vous pouvez imprimer un fichier texte simplement en l'envoyant à l'imprimante à l'aide de la commande suivante:

chat webstat.txt> / dev / lp0

Cette commande produit en effet une impression du fichier webstat.txt, à condition que les conditions suivantes soient remplies:

  • Vous êtes connecté en tant que racine (Linux n'autorise que racine et certains processus, accès direct à des périphériques physiques, tels que des imprimantes).

  • L’imprimante est connectée au port / dev / lp0, sous tension et en ligne.

Le problème avec la copie d'un fichier directement sur le périphérique d'impression est que la commande ne se termine que lorsque la copie (qui, dans ce cas, équivaut à une impression) est terminée. Pour un fichier volumineux, ce processus peut prendre un certain temps. En fait, si l'imprimante n'est pas allumée, la commande semble se bloquer (si cela se produit, appuyez simplement sur Ctrl-C pour abandonner la commande).

Imprimer à la façon CUPS

Sur un système multitâche et multi-utilisateur tel que Linux, un meilleur moyen d’imprimer consiste à spooler les données et à planifier l’impression: envoyez la sortie dans un fichier et demandez à un processus séparé de l’envoyer à l’imprimante. De cette façon, vous pouvez continuer votre travail pendant que l'impression se fait en arrière-plan. En outre, si votre système compte plusieurs utilisateurs, tout le monde peut imprimer sur la même imprimante sans se soucier de la disponibilité ou non de l’imprimante. le processus d'impression en arrière-plan peut prendre en charge tous les détails.

C’est ainsi que fonctionne l’environnement d’impression CUPS. Les utilisateurs utilisent un programme client, lp ou lpr, pour envoyer les fichiers à imprimer sur un serveur appelé cupsd, le démon d'impression, via une connexion TCP / IP. Le serveur cupsd met ensuite les fichiers en file d'attente, les filtre (pour les préparer à l'imprimante) et les envoie à l'imprimante.

Bien que vous n'ayez généralement qu'une seule imprimante connectée à votre PC, l'un des avantages du système d'impression CUPS est sa capacité à imprimer sur une imprimante connectée à un autre système sur un réseau. L'impression sur une imprimante distante est traitée de la même manière que l'impression sur une imprimante locale. le démon cupsd local envoie simplement les fichiers au serveur du système distant.

Comme expliqué précédemment, les programmes au niveau utilisateur permettant de spouler un fichier sont lp et lpr. Lorsque lp ou lpr s'exécute, il envoie les données au serveur cupsd qui gère la file d'attente d'impression spécifiée. Les autres commandes au niveau utilisateur permettant de travailler avec les files d’attente sont: lpstat, lpq, Annuler, lprm, et lpc. Le programme qui complète l’environnement d’impression CUPS est le planificateur CUPS: cupsd.

En plus des commandes lpd, lpr, lpq, lprm, Annuler, et lpc, les fichiers de configuration dans / etc / cups Les répertoires jouent un rôle crucial dans l’environnement d’impression CUPS. La section «Compréhension des fichiers de configuration CUPS» décrit les principaux fichiers de configuration.

Comprendre les fichiers de configuration de CUPS

Vous pouvez en apprendre beaucoup sur les fichiers de configuration CUPS en examinant les entrées de divers fichiers de configuration créés par l'outil de configuration d'imprimante Red Hat lorsque vous configurez une nouvelle file d'attente d'impression. Les fichiers de configuration de CUPS sont en / etc / cups annuaire.

Prenons l'exemple de l'ajout d'une nouvelle file d'attente d'impression nommée Office-ES600 pour une imprimante Epson Stylus Color 600 connectée au port parallèle du PC. Voici les fichiers contenant des informations sur cette file d'impression et le modèle d'imprimante:

  • / etc / printcap—Ce fichier était autrefois la base de données des capacités de l’imprimante et était très important pour le spouleur d’impression LPD qui était populaire avant l’arrivée de CUPS (même si LPD ne me manque pas; CUPS est bien meilleur). CUPS génère une entrée unique dans le / etc / printcap fichier pour chaque imprimante. Par exemple, voici le / etc / printcap fichier que CUPS génère pour une file d’impression appelée Office-ES600 (les détails de l’imprimante se trouvent dans /etc/cups/printers.conf fichier):

    # Ce fichier a été généré automatiquement par cupsd (8) à partir du
    # /etc/cups/printers.conf. Tous les changements dans ce fichier
    # sera perdu.
    Office-ES600:
  • /etc/cups/printers.conf—Il s'agit du fichier de configuration de l'imprimante avec des entrées pour chaque file d'attente d'impression. Les informations incluent le périphérique auquel l'imprimante est connectée et d'autres paramètres de la file d'attente. Voici l'entrée pour l'imprimante Epson Stylus Color 600:

    
    
    
    
    Info Créé par redhat-config-printer 0.6.x
    Parallèle DeviceURI: / dev / lp0
    Lieu Epson Stylus 600
    Etat ralenti
    Accepter Oui
    Feuilles de travail aucune aucune
    QuotaPeriod 0
    PageLimit 0
    KLimit 0
    
  • /etc/cups/cupsd.conf—Ceci est le fichier de configuration de cupsd, le planificateur d’impression CUPS. La syntaxe du fichier de configuration est similaire à celle d'Apache httpd, le serveur Web (voir le chapitre 14 pour une description de la configuration Apache httpd). Les similitudes avec les fichiers de configuration Apache httpd sont à prévoir, car cupsd est également un serveur HTTP. Voici les entrées dans / etc / cups / cupsd .conf pour les noms de file d'attente d'impression Office-ES600:

    
    
    
    
    Ordre Refuser, Autoriser
    Refuser à tous
    Autoriser à partir de 127.0.0.1
    AuthType Aucun
    
    
    
    
    
    Ordre Refuser, Autoriser
    Refuser à tous
    Autoriser à partir de 127.0.0.1
    
    Navigation désactivée
    Écouter 127.0.0.1:631

    Il y a beaucoup plus de directives dans le /etc/cups/cupsd.conf fichier qui applique toutes les files d'attente d'impression gérées par le serveur cupsd.

  • / etc / cups / lpoptions—Ce fichier stocke les paramètres d’option par défaut qui s’appliquent à tous les travaux d’impression lorsque vous créez une file d’attente en tant que racine. Notez que les utilisateurs peuvent spécifier d'autres options lorsqu'ils impriment avec le lp commandes. Voici la / etc / cups / lpoptions fichier avec les options par défaut pour le Office-ES600 imprimante:

    Dest Office-ES600 page-bas = 36 cpi = 12 lpi = 7 mise à l'échelle = 100 page-droite = 36 page-gauche = 36 wrap = vrai haut de page = 36
  • / etc / cups / ppd—Il s'agit d'un répertoire contenant le fichier PPD (PostScript Printer Description) de l'imprimante Epson Stylus Color 600 dans un fichier nommé Office-ES600 .ppd (le nom que j'avais assigné à cette file d'impression). Chaque fichier PPD est un fichier texte contenant des informations sur la capacité de l’imprimante (similaire à l’ancien / etc / printcap fichier dans l'intention, mais les fichiers PPD contiennent des informations beaucoup plus détaillées). Voici les premières lignes du fichier PPD /etc/cups/ppd/Office-ES600.ppd:

    * PPD-Adobe: "4.3"
    *%
    *% Pour plus d'informations sur l'utilisation de cette fonctionnalité et pour obtenir le backend requis
    *% script, consultez http://www.linuxprinting.org/ppd-doc.html.
    *%
    *% PPD-O-MATIC a généré ce fichier PPD. Il est à utiliser avec tous les programmes
    *% et environnements utilisant des fichiers PPD pour gérer les capacités d'impression
    *% information. L’imprimante doit être configurée avec un backend Foomatic
    *% script de filtrage. Ce fichier et le script de filtre backend fonctionnent ensemble pour
    *% prend en charge l’option d’option du pilote d’imprimante contrôlée par PPD avec accès libre arbitraire
    *% pilotes logiciels d'imprimante et spouleur d'impression.
    *%
    *% Vous pouvez enregistrer ce fichier sous le nom "Epson-Stylus_Color_600-gimp-print.ppd".
    *%
    *%
    * FormatVersion: "4.3"
    * FileVersion: "1.1"
    * LanguageVersion: anglais
    * LanguageEncoding: ISOLatin1
    * PCFileName: "GIMP-PRI.PPD"
    * Fabricant: "EPSON"
    * Produit: "Stylus COLOR 600"
    * cupsVersion: 1.0
    * cupsManualCopies: True
    * cupsModelNumber: 2
    * cupsFilter: "application / vnd.cups-postscript 0 cupsomatic"
    * Nom du modèle: "Epson Stylus Color 600, Foomatic + gimp-print"
    * NickName: "Epson Stylus Color 600, Foomatic + gimp-print"
    * ShortNickName: "Epson Stylus Color 600"
    * PSVersion: "(3010.000) 550"
    * PSVersion: "(3010.000) 651"
    * PSVersion: "(3010.000) 652"
    * PSVersion: "(3010.000) 653"
    * PSVersion: "(3010.000) 704"
    * PSVersion: "(3010.000) 705"
    * LanguageLevel: "3"
    * ColorDevice: True
    * DefaultColorSpace: RVB
    * FileSystem: False
    * Débit: "1"
    * LandscapeOrientation: Plus90
    * VariablePaperSize: False
    * TTRasterizer: Type42
    
    * HWMargins: 0 0 0 0
    * VariablePaperSize: True
    * MaxMediaWidth: 100000
    .... beaucoup de lignes supprimées ...
    

    Cela devrait vous donner une idée du type d'informations stockées dans les fichiers PPD. Vous n'avez pas besoin de comprendre ou de préparer les fichiers PPD manuellement. CUPS génère automatiquement le fichier PPD à partir des descriptions des pilotes d'imprimante Foomatic fournis avec Red Hat Linux (décrits plus loin dans ce chapitre).

Comme cet exemple le montre, pour chaque file d'attente d'impression gérée, CUPS a besoin d'une quantité considérable d'informations stockées dans plusieurs fichiers de configuration. Jusqu'à présent, je ne vous ai montré que les fichiers de configuration concernés par la définition d'une nouvelle file d'attente d'impression. Il est utile de connaître l’étendue des fichiers de configuration, de comprendre leur objectif et d’avoir une idée approximative du contenu de chacun de ces fichiers.

Commentaires

Laisser un commentaire

Votre commentaire sera révisé par les administrateurs si besoin.