Ce cours est visible gratuitement en ligne.

Got it!
A la découverte d'UNIX (FreeBSD)
Last updated on Tuesday, January 8, 2013
  • 4 semaines
  • Moyen

Imprimer

La plupart des travaux bureautiques nécessitent d'imprimer des documents. Je vais donc vous apprendre à configurer votre imprimante.

A - Préparatifs

Il existe de très nombreux modèles d'imprimantes, avec toutes sortes de cables, de protocoles, de pilotes, etc. La méthode à employer varie d'un modèle à l'autre. Je vais essayer de vous en donner une qui fonctionne avec la plupart des imprimantes actuelles. Selon votre modèle, toutes les étapes présentées ici ne sont pas forcément indispensables.

Image utilisateur

Je pars de l'hypothèse que c'est un cable USB qui relie votre imprimante à votre ordinateur. Si c'est un modèle plus ancien, consultez le manuel de FreeBSD.

Commençons. Vous allez d'abord allumer votre imprimante et la relier à une prise USB à l'ordinateur. Allez ensuite dans le dossier /dev/ et faites un ls. Vers la fin du listing, vous devez voir des fichiers intitulés ulpt0 et unlpt0. Si, chez vous, c'est ulpt1 et unlpt1, ou autre chose, adaptez la suite du tutoriel en conséquence.

Ces deux fichiers représentent votre imprimante. Les données que vous enverrez à ces fichiers iront, normalement, jusqu'à votre imprimante. Encore faut-il activer, dans le noyau de FreeBSD, le support pour ce type d'imprimante. Vous savez qu'on peut charger des modules noyau supplémentaires grâce au fichier /boot/loader.conf. Vous allez donc ouvrir ce fichier et y ajouter :

usb_load="YES"
ulpt_load="YES"

Maintenant, pour mettre toutes les chances de votre côté, installez ces trois programmes : cups, gutenprint-cups et hplip. Le dernier concerne surtout les imprimantes HP mais peut être utile pour certains autres modèles.

Le système de base de FreeBSD comporte le programme LPD, pour gérer les impressions. lpd devrait suffire pour beaucoup de modèles, mais d'autres ont besoin de CUPS : le Common UNIX Printing System.

CUPS doit avoir accès à tous les fichiers de périphériques susceptibles de recevoir une imprimante. Nous allons l'y autoriser en éditant le fichier /etc/devfs.rules. Comme son nom l'indique, ce fichier contient les règles qui régissent le système de fichiers des périphériques (devices) :

[localrules=1]
add path 'unlpt*' mode 0660 group cups
add path 'ulpt*' mode 0660 group cups
add path 'lpt*' mode 0660 group cups
add path 'usb/*' mode 0660 group cups

Les membres du groupe cups, c'est à dire le DAEMON :diable: cupsd, ont maintenant accès à tous les périphériques de type unlpt, ulpt, lpt et usb. Avec tout ça, il devrait bien trouver votre imprimante.

Encore faut-il réveiller cupsd et informer FreeBSD de l'existence de ces règles locales. Cette fois, c'est /etc/rc.conf qui entre en scène. Ajoutez-y les lignes :

devfs_system_ruleset="localrules"
cupsd_enable="YES"

Pour ajouter deux lignes à un fichier, vous n'avez pas forcément besoin d'ouvrir un éditeur de texte. echo est limité à une seule ligne. Mais il y a printf :

[Nom de l'ordinateur]# printf 'devfs_system_ruleset="localrules"\ncupsd_enable="YES"\n' >> /etc/rc.conf

signifie retour à la ligne. Vous pouvez, au choix, entourer le texte à écrire avec des guillemets " " ou des apostrophes ' '. Ici, j'utilise des apostrophes vu qu'il y a des guillemets dans mon texte.

A présent, redémarrez l'ordinateur, ouvrez un navigateur web, et demandez l'adresse localhost:631.

B - Common UNIX Printing System

localhost signifie que votre ordinateur va se connecter à ... lui-même ! :o Vous allez ainsi pouvoir communiquer avec CUPS.

Image utilisateur

A vous de faire les présentations. :) Je veux dire, à vous de présenter votre imprimante à CUPS. Cliquez sur l'onglet Administration puis sur le bouton Add Printer.

Aussitôt, CUPS réagit et, avant que lui présentiez qui que ce soit, il commence par vous demander : Et vous êtes qui, vous, d'abord ? o_O

Donnez votre nom d'utilisateur et votre mot de passe. CUPS vous propose alors plusieurs emplacements possibles pour votre imprimante. Je suppose que vous installez une imprimante locale. Vous avez trois choix possibles :

Image utilisateur

USB Printer # 1 est généralement le bon choix. Chez vous, toutefois, il faudra peut-être essayer l'un des deux autres. Un nouvel écran vous demande de donner un nom à votre imprimante, de la décrire un peu et d'indiquer si elle doit être partagée entre plusieurs ordinateurs. J'ai donné à la mienne un nom très original : imprimante.

Ensuite, il faut choisir sa marque et son modèle dans une liste. Si vous êtes aussi chanceux que moi, votre imprimante ne figurera pas dans la liste et c'est vous qui devrez fournir à CUPS un fichier PPD.

Image utilisateur

Mais c'est quoi fichier PPD ? Et où je le trouve, moi ?

C'est un pilote, dont CUPS a besoin pour contrôler votre imprimante. Le site de la Fondation Linux en propose un certain nombre. Mais peut-être que celui qu'il vous faut est déjà sur votre ordinateur : regardez dans le dossier /usr/local/share/ppd/. C'est là que j'ai moi-même trouvé le fichier hp-psc_1400_series-hpijs.ppd.gz dont j'avais besoin. Un petit coup de gunzip et on envoie le fichier PPD décompressé à CUPS. A partir de là, le reste de la configuration de l'imprimante est un jeu d'enfant. Une fois que c'est fait, cliquez sur l'onglet Printers pour vérifier que votre imprimante y est bien répertoriée.

Vous pouvez aussi faire cette vérification dans la console. La commande lpstat -p vous donne la liste des imprimantes disponibles. Il faut maintenant choisir l'imprimante par défaut, toujours avec lpstat. Si vous n'en avez qu'une, ce ne sera pas très difficile.

% lpstat -d imprimante

Je vous rappelle que imprimante est le nom que j'ai défini pour la mienne.

C - On imprime

La commande FreeBSD pour imprimer est lpr. Sur d'autres UNIX, c'est juste lp. Mais attention : il y a deux versions de lpr sur votre système : /bin/lpr, destinée au système LPD et incapable de travailler avec CUPS, et /usr/local/bin/lpr. Il faut vous servir du second et donc détailler son chemin d'accès.

% /usr/local/bin/lpr [fichier texte à imprimer]

Vous pouvez aussi choisir d'imprimer de résultat d'une commande, plutôt que de l'afficher dans la console. Je vous rappelle que le symbole | ("pipe") permet de rediriger la sortie d'une commande :

% man lpr | /usr/local/bin/lpr imprimante

ou

[Nom de l'ordinateur]# make install clean BATCH=yes | /usr/local/bin/lpr imprimante

Au quotidien, ceci dit, vous n'aurez pas besoin de vous embéter avec ça. Il vous suffira de cliquer sur Imprimer dans le menu Fichier de chaque application, qu'il s'agisse d'un tableur, d'un lecteur de PDF ou d'un simple éditeur de texte.

Example of certificate of achievement
Example of certificate of achievement