Comprendre l'impression sous Ubuntu

Cette page fournit les informations de base nécessaires à la compréhension de la manière dont fonctionne l'impression sous Ubuntu et surtout comment configurer son ordinateur en conséquence.

La lecture de cette page n'est pas un préalable obligatoire pour installer son imprimante. Néanmoins, celle-ci est de nature à grandement faciliter la lecture des tutoriels et il ne faudra pas hésiter à s'y reporter en cas d'incompréhension sur tel ou tel aspect de la procédure d'installation.

Comme tous les systèmes d'exploitation de la famille Unix, Ubuntu utilise pour l'impression le Système Commun d'Impression Unix dont l'appellation anglaise "Common Unix Printing System" a donné l'acronyme CUPS.

En général, CUPS est installé de base, du moins sur les versions récentes.

En premier lieu, CUPS permet à l'ordinateur sur lequel il est installé de fonctionner en serveur d'impression sur un réseau. Un serveur d'impression est capable d'accepter des tâches d'impression d'autres ordinateurs (les clients) et de les répartir sur les imprimantes auxquelles il a accès.
Le client peut être un hôte distant ou tout simplement l'hôte local (l'ordinateur sur lequel est implanté CUPS). Si l'ordinateur client est un hôte distant, il doit être configuré en tant que client. Voir pour cela le tutoriel "Configurer un ordinateur en client d'un serveur d'impression". Ceci n'exclut pas la nécessité d'installer (d'un point de vue logiciel s'entend) l'imprimante sur l'ordinateur client.

Les principales couches de CUPS

Cet exposé n'a pas pour but de remplacer les excellentes pages de Wikipedia mais simplement de dégager les aspects majeurs auxquels vous êtes directement confrontés lors de la configuration de l'impression sous Ubuntu et vous permettre d'avoir une vue d'ensemble.
Très schématiquement, sans entrer dans trop de détails, le schéma fonctionnel de CUPS est le suivant :

Planificateur

Le planificateur reçoit les requêtes d'impression des hôtes distants ou de l'hôte local. Pour adresser ces requêtes, les clients utilisent le protocole IPP ou Internet Printing Protocol ou le protocole LPD/LPR qui est alors converti par le planificateur en IPP.
Le planificateur assure également la gestion des autorisations d'accès et l'ordonnancement des tâches d'impression à l'aide de "files d'attentes" (queues en anglais).

Le planificateur assure également, l'interprétation des commandes en ligne traditionnelles des différents systèmes (system V et Berckley) permettant d'interagir avec les imprimantes :

  • lp : permet d'imprimer un (ou des) fichier(s).
  • lpr : permet d'imprimer un (ou des) fichier(s).
  • lpq : permet d'afficher la file d'attente d'une imprimante.
  • lprm : permet de supprimer des jobs de la file d'attente (voir aussi la commande cancel).
  • lpstat : permet d'afficher des informations détaillées sur le serveur d'impression. Par exemple, pour voir l'imprimante par défaut : lpstat -d.
  • lpoptions : permet d'afficher ou de modifier la configuration du serveur d'impression. Par exemple, pour changer l'imprimante par défaut : lpoptions -d autreimprimante. [commande CUPS seulement]
  • lpmove : permet de déplacer un job (une impression) de la file d'attente d'une imprimante à une autre imprimante.
  • lpc : permet de contrôler interactivement les imprimantes.

Filtrage

C'est au niveau de cette couche que les formats des diverses applications sont traduits en un format compréhensible par l'imprimante, en tenant compte, entre autres, de la spécificité de l'imprimante grâce aux pilotes. Les pilotes (drivers en anglais) sont des programmes qui assurent l'interface entre les programmes génériques de plus haut niveau et un matériel bien spécifique. Dans tous les cas, il vous faudra installer un pilote pour votre imprimante, voire un deuxième pilote enveloppe pour CUPS (wrapper). Au niveau du processus global de CUPS ils sont pris en compte au niveau de l'étage de filtrage (voir schéma plus haut).

Notez bien que les pilotes sont pris en compte avant, et donc indépendamment de la manière dont la communication se fait avec l'imprimante. Ils sont donc les mêmes quel que soit le module de transport (backend) utilisé.

Transport

Pour communiquer avec les imprimantes, CUPS utilise des "modules de transport" (backend en anglais). Il existe des modules de transport pour les protocoles utilisant les ports parrallèle, série et USB mais aussi des modules de transport opérant à travers un réseau via les protocoles IPP (Internet Print Protocol) , JetDirect (AppSocket), Line Printer Daemon (LPD/LPR) ou SMB.

En général, vous serez confronté au choix du module de transport après avoir installé les pilotes au moment où vous demanderez à CUPS de détecter votre imprimante et seulement pour les cas où l'imprimante communique par le réseau. Pour la communication directe, le module de transport sera choisi automatiquement par CUPS.
Notez bien que la fonction du module de transport est d'acheminer les données à l'imprimante sans altération. Il n'y a donc aucune transformation de ces données dans ce module.

Interfaces graphiques de CUPS

CUPS dispose d'interfaces graphiques que vous devrez utiliser lors de l'installation de votre imprimante. Parmi ces interfaces se trouve:

  • Le gestionnaire d'impression, interface propre à votre environnement de bureau (GNOME, KDE etc.).
  • L'interface WEB de CUPS accessible sur tous les environnements. L'avantage de cette interface est d'être disponible sur tous systèmes. Néanmoins, la richesse des possibilités offertes dépasse souvent très largement le besoin de l'utilisateur particulier.
Notez bien que l'adresse utilisée est locale et que donc vous ne passez pas par Internet pour configurer votre ordinateur. Vous pourriez néanmoins accéder à CUPS sur un ordinateur distant si vous en aviez les droits.

Les choix que vous pouvez faire à l'aide de l'une ou l'autre de ces interfaces ont, bien entendu, les mêmes effets sur l'installation et la configuration des imprimantes.

Avant de se lancer à corps perdu dans l'installation d'une imprimante sur un ordinateur, il convient d'abord de bien identifier dans quelle situation (au regard de l'impression bien-sûr) se trouve votre ordinateur.
Les paragraphes suivants expliquent ce qu'il convient de faire pour la configurer correctement.

Un peu de vocabulaire

Tout d'abord, précisons ce que signifie installer une imprimante sur un ordinateur. Installer une imprimante sur un ordinateur, est une expression qui concerne uniquement l'aspect logiciel (programme) et non pas l'aspect physique, qui lui s'appelle "raccordement". On peut très bien installer une imprimante qui n'est pas physiquement raccordée à son ordinateur, celle-ci pouvant en effet être raccordée à un autre ordinateur et accessible à travers un réseau. Installer une imprimante consiste en général à fournir à CUPS les pilotes de cette imprimante et à lui faire reconnaître comment y accéder ; en général l'identification d'un module de transport (voir paragraphe précédent sur CUPS) et d'une adresse réseau.

Situation 1 : l'imprimante est connectée directement à l'ordinateur

C'est le cas des imprimantes qui ne disposent que d'un port USB , d'un port parallèle (ou encore les deux à la fois) ainsi que des imprimantes connectées par bluetooth. Ce peut-être également un choix délibéré de votre part.

Cette option n'exclut pas le partage avec d'autres ordinateurs si votre ordinateur est raccordé à un réseau et qu'il reste allumé quand les autres ont besoin d'imprimer. Voir pour cela le partage d'imprimante.

Dans ce cas, CUPS est installé sur l'ordinateur (hôte local) et joue le rôle de serveur d'impression pour les différentes applications locales et pour les commandes en ligne.
Pour communiquer avec l'imprimante dans cette situation il faut :

  • Si cet ordinateur n'a pas lieu d'accepter des demandes d'impression d'autres ordinateurs, simplement y installer l'imprimante.

Situation 2 : L'imprimante est accessible via un réseau

Pour communiquer avec une imprimante via un réseau, il faut qu'entre votre ordinateur et l'imprimante s'intercale un serveur d'impression.

Un serveur d'impression permet le partage d'une ou plusieurs imprimantes entre des ordinateurs situés sur un réseau. Il dispose donc :
  1. d'une connexion au réseau (exemple prise RJ45 pour Ethernet) par laquelle il communique selon un protocole réseau (TCP/IP par exemple).
  2. d'une ou plusieurs connections directes avec une ou plusieurs imprimantes (prise USB par exemple)

Il y a pour cela plusieurs possibilités :

  • Situation 2-1 - l'imprimante dispose de la carte de raccordement direct au réseau (on parle dans ce cas d'imprimante réseau)
  • Situation 2-2 - l'imprimante est raccordée à un boîtier électronique, qui comporte ce serveur d'impression, qui peut être un boîtier dédié, une passerelle résidentielle (Livebox, Freebox, etc.)
  • Situation 2-3 - l'imprimante est (ou sera) en communication directe avec un autre ordinateur relié au réseau qui inclut un serveur d'impression.

Situation 2-1-l'imprimante dispose d'une carte de raccordement direct au réseau (imprimante réseau)

Dans ce cas, l'imprimante est bien-sûr partagée au sens où chacun des ordinateurs peut l'utiliser sans trop se soucier des autres, mais elle n'est pas partagée au sens de "offerte en partage par un ordinateur" aux autres ordinateurs ; lequel ordinateur devrait rester allumé en faisant office de serveur d'impression. C'est la carte réseau de l'imprimante qui assure la gestion et l'ordonnancement des tâches reçues des divers ordinateurs du réseau. Au niveau de votre propre ordinateur, CUPS assure alors le rôle de serveur d'impression "local" et gère ainsi les tâches multiples envoyées par les applications.

Pour communiquer avec l'imprimante dans cette situation il faut :

  1. Raccorder physiquement l'imprimante au réseau et configurer ce réseau. Il est conseillé de configurer le réseau pour que l'imprimante ait une adresse IP fixe.
Le mode alternatif de configuration du réseau est le mode DHCP (Dynamic Host Configuration protocol), plus facile à mettre en oeuvre, qui attribue les adresses des hôtes automatiquement. Dans ce cas, une coupure d'alimentation électrique engendrerait un redémarrage du processus d'attribution des adresses et celle de votre imprimante pourrait changer. Si vous désirez néanmoins rester dans cette situation, la solution est de configurer une réservation d'adresse dans le serveur DHCP, sinon au cas où cet événement surviendrait, il vous faudrait effacer votre imprimante et reprendre sa détection et sa configuration.
  1. Installer l'imprimante sur votre ordinateur, c'est-à-dire : ajouter l'imprimante aux imprimantes prises en charge par CUPS sur votre ordinateur en lui fournissant les pilotes et en lui précisant les moyens d'accès (module de transport et adresse IP).

Situation 2-2- Votre imprimante est raccordée à un boîtier électronique qui comporte ce serveur d'impression

Pour communiquer avec l'imprimante dans cette situation il faut :

  1. Raccorder l'imprimante au boîtier contenant le serveur d'impression.
  2. Configurer le serveur d'impression et le raccorder au réseau : reportez-vous au manuel d'installation de ce matériel pour son raccordement et pour l'installation des pilotes dans ce boîtier.
  3. Configurer un ordinateur en client d'un serveur d'impression L'imprimante publiée par l'ordinateur serveur apparaît alors dans la liste des imprimantes utilisables.

Exemples : deux exemples pratiques sont donnés ici pour les passerelles résidentielles courantes : serveur impression Neufbox et serveur impression Freebox/Alicebox.

Situation 2-3- l'imprimante est en communication directe avec un autre ordinateur relié au réseau qui inclut un serveur d'impression.

Dans ce cas, votre ordinateur est dit "ordinateur client" (voir figure ci-dessus) et l'ordinateur distant est dit "ordinateur serveur".
Pour communiquer avec l'imprimante dans cette situation il faut :

  • Raccorder et installer l'imprimante sur l'ordinateur distant.
    • Si le système d'exploitation de cet ordinateur distant est Ubuntu, se reporter à cette page.
    • Dans le cas contraire, consulter la procédure d'installation et de mise en réseau relative au système d'exploitation de l'ordinateur distant.
  • Configurer l'ordinateur distant en "serveur d'impression".
    • Si le système d'exploitation de cet ordinateur distant est Ubuntu, se reporter à la page Configurer un ordinateur en "serveur d'impression".
    • Dans le cas contraire consulter la procédure de partage d'imprimante relative au système d'exploitation utilisé.
  • Configurer votre propre ordinateur en client et le mettre en relation avec l'imprimante. Reportez-vous à la page Configurer un ordinateur en client d'un serveur d'impression.

Pour obtenir des informations plus détaillées on se reportera utilement aux pages de Wikipédia, à savoir :

  1. La page francophone : Common Unix Printing System
  2. La page anglophone : CUPS

ainsi qu' au site du projet :

Liens internes :

—-

Contributeur principal : jaaf64

  • impression_sous_ubuntu.txt
  • Dernière modification: Le 11/09/2022, 10:26
  • par moths-art