Ceci est une ancienne révision du document !



L'impression sous Ubuntu

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'acronym CUPS.

En général CUPS est installé de base, du moins sur les versions récentes.
Des descrtiptions très détaillées de CUPS sont fournies sur les pages de Wikipedia. Nous ne reprenons ici que ce qui est strictement nécessaire à la compréhension de l'installation d'une imprimante sous Ubuntu.

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:

cups-synoptic.jpg

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 convertit par le planificateur en IPP.
Le planificateur assure également la gestion des autotisations d'accès et l'ordonnancement des tâches d'impresion à 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 diversrs 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 (backend). Ils sont donc les mêmes quel que soit le module de transport (backend).

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 backend 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 à limprimante sans altération. Il n'y a donc aucune transformation de ces données dans ce module.

Interface graphiques de CUPS

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

  • l'interface propre à votre environnement de bureau (GNOME, KDE etc.). Sur GNOME par exemple, on y accède par la cascade de menus "Système → Administration → Impression".
  • L'interface WEB de CUPS accessible sur tous les environnements par l'URL http://localhost:631/printers. Vous pouvez en appronfondir l'utilisation en vous rendant sur cette page.
Notez bien que cette adresse 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 la configuration.

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 présentent les différentes situations dans lesquelles un ordinateur peut se trouver au regard de l'impression et explicitent ce qu'il convient de faire pour le 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 accédée par 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)

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.

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

Consultez pour cela le tutoriel installer imprimante connectée directement au pc.

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 connection 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 du 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 diverses 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 ce genre d'imprimante il vous faut :

  • 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.
  • Installer dans votre ordinateur les pilotes de votre imprimante en suivant ce tutoriel et vous reporter à la page concernant votre matériel.
  • Installer l'imprimante sur votre ordinateur, c'est à dire: ajouter l'imprimante aux imprimantes prises en charge par CUPS sur votre ordinateur. Pour cela rendez-vous sur la page Configurer un ordinateur en client d'un serveur d'impression.

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

Pour communiquer avec votre imprimante, il vous faut :

  • 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.
  • Ajouter votre imprimante aux imprimantes prises en charge par CUPS sur votre ordinateur. Pour cette opération rendez-vous sur la page Configurer un ordinateur en client d'un serveur d'impression .

Exemples : deux exemples pratiques sont donnés ici pour les passerelles résidentielles courantes : serveur impression neufbox et serveur impression freebox.

Cas 3- Votre 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". Il vous faut:

  • Avoir raccordé et installé l'imprimante sur l'ordinateur distant.
    • Si le système d'exploitation de cet ordinateur distant est Ubuntu, reportez-vous à ce tutoriel.
    • Dans le cas contraire, consultez la procédure d'installation et de mise ne réseau relative au système d'exploitation de l'ordinateur distant.
  • Avoir configuré l'ordinateur distant en "serveur d'impression".
    • Si le système d'exploitation de cet ordinateur distant est Ubuntu, reportez-vous à la page Configurer un ordinateur en "serveur d'impression".
    • Dans le cas contraire consultez 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.
  • Page "printers" du wiki Ubuntu anglais

Contributeurs : jaaf64.

  • utilisateurs/jaaf64/impression_sous_ubuntu.1288941265.txt.gz
  • Dernière modification: Le 18/04/2011, 14:43
  • (modification externe)