Installer une imprimante sur un Raspberry Pi


Le Raspberry Pi est un ordinateur monocarte à processeur ARM, de la taille d'une boite d'allumettes, conçu en 2012 par la fondation Rasberry Pi.
Cet ordinateur fonctionne parfaitement avec le système d'exploitation gratuit Raspbian (variante de Linux optimisée pour le Raspberry Pi). Le modèle 3 du Raspberry Pi (Raspberry Pi 3) possède la connectivité Wifi et permet de se connecter facilement sur internet. Il ne lui manque qu'une imprimante pour pouvoir répondre à l'essentiel des besoins de la majorité des utilisateurs. Dans ce qui suit, on va installer une imprimante Brother HL-2032 sur un Raspberry Pi 3. La procédure d'installation décrite ci-après est générale et permet d'installer une grande variété d'imprimantes sur un Raspberry Pi 3 Cette procédure peut se décomposer selon les 5 étapes suivantes

0) Etape préalable : Créer un utilisateur root sur le Raspberry Pi (administrateur, ayant tous les droits)

Après l'installation du système d'exploitation Raspbian, le nom de l'utilisateur principal du Raspberry Pi 3 est pi (utilisateur possédant des droits limités) et le mot de passe par défaut de cet utilisateur est raspberry. La première chose à faire est de modifier ce mot de passe par défaut qui est connu de tous. Pour modifier ce mot de passe par défaut, on ouvre le terminal et on saisit la commande passwd.
après (current) UNIX password : on saisit raspberry (mot de passe actuel)
après Enter new UNIX password: on saisit le nouveau mot de passe (toto123 par exemple...)
Bien entendu, il faut ensuite se souvenir de ce nouveau mot de passe associé à l'utilisateur pi.

1

2

D'autre part, par défaut le système Raspbian ne permet pas de se connecter à partir du profil administrateur (appelé également super-utilisateur ou root). Il est donc nécessaire de mettre préalablement en place un mot de passe administrateur puis d'activer celui-ci à chaque ouverture du Terminal de commandes. Pour cela, on ouvre le terminal de commandes, on saisit la commande sudo passwd root puis on saisit le mot de passe pour le compte super utilisateur et on le confirme.

sudo passwd root
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully

Lors de la prochaine ouverture du terminal de commandes, il sera alors possible de se connecter à l'aide du compte administrateur (root) avec mot de passe correspondant. Pour cela, on tape la commande su puis on saisit le mot de passe administrateur

pi@raspberrypi:~ $ su
Password:
root@raspberrypi:/home/pi#

1) Télécharger le fichier Brother-HL-2030-hl1250.ppd depuis le site The Linux Foundation wiki

Il faut savoir que malheureusement il existe des imprimantes qui ne possèdent pas de driver Linux. Il existe également des imprimantes dont le driver Linux mis à disposition par le fabricant fonctionne bien avec une distribution Linux classique (installée sur un PC doté d'une architecture de type i386) mais ne fonctionne malheureusement pas avec un Rasberry Pi doté de la distribution Raspbian et d'une architecture de type ARM. Dans ce cas, il faut télécharger un fichier driver opensource (gratuit) correspondant à l'imprimante sur le site The Linux Foundation wiki qui se trouveà l'adresse https://wiki.linuxfoundation.org/ . Ce fichier possède l'extension .ppd (Printer Postscript Description).

On peut se demander ce qu'est un fichier ppd. Un fichier PPD est tout simplement un fichier qui décrit (dans le format Postcript) l'ensemble des caractéristiques et possibilités d'une imprimante donnée, c'est à dire tout ce que cette imprimante est intrinsèquement capable de comprendre et de faire. Ce fichier est un fichier texte qui peut être ouvert et modifié avec un éditeur de texte.

une fois connecté sur le site The Linux Foundation wiki , on clique "OpenPrinting"

3

On clique ensuite "printer privers packages"

4

On choisit le fichier "hl1250"

5

On sélectionne le modèle de l'imprimante (Brother HL-2030 dans le cas présent) puis on clique le bouton "Generate PPD file"

6

Une fois le fichier téléchargé (fichier Brother-HL-2030-hl1250.ppd dans le cas présent), on ouvre le répertoire dans lequel ce fichier a été téléchargé et on mémorise son emplacement pour la suite.

7

2) installer cups

Pour pouvoir faire fonctionner son imprimante avec un Raspberry Pi. Il faut installer, sur le Raspberry Pi, le logiel CUPS (Common Unix Printing System) qui fonctionne de concert avec le driver ppd évoqué ci-dessus qui correspond à l'imprimante.

CUPS est un logiciel d'impression qui fonctionne avec les systèmes d'exploitation Unix et Linux. Un ordinateur qui utilise CUPS se comporte comme un serveur d'impression. Il reçoit des documents envoyés par une application cliente (traitement de texte par exemple). Avant impression, il met en forme les informations contenues dans ces documents (de façon compatible avec le contenu du fichier ppd associé à l'imprimante) puis il envoit ces informations à l'imprimante concernée.

8

Depuis le bureau, on clique la framboise située en haut à gauche de l'écran puis on clique l'option de menu "Preferences".
On clique "Add/Remove Software"
Dans la boîte de dialogue qui s'ouvre on écrit cups dans la zone de saisie de recherche située en haut à gauche.
On sélectionne Common Unix Printing System (tm) cups 2.2.1-8 - PPD/driver support, web interface
Puis on clique le bouton Apply

9

Un boîte de dialogue s'ouvre, informant que cette installation va nécessiter d'installer des paquets additionnels. On clique "Continue"

10

Le système demande alors de saisir le mot de passe de l'utilisateur pi. On saisit ce mot de passe et on clique "OK"

11

Le système affiche la progression du téléchargement des paquets nécessaires puis de leur installation. On patiente.

12

Une fois cette opération terminée, on procède de la même façon pour installer le paquet "printer driver for (some) Brother laser printers"

13

Une fois l'installation terminée, on vérifie, à l'aide de l'explorateur de fichier, que le répertoire CUPS est bien présent dans le répertoire etc de raspbian. On vérifie notamment la présence du fichier "cupsd.conf" dans ce répertoire.

14

Enuite, on ajoute l'utilisateur pi aux utilisateurs ayant accès par défaut à notre imprimante. En effet, le groupe d’utilisateur qui a été crée par CUPS est « lpadmin ». alors que l’utilisateur par défaut du Raspberry Pi est « pi ». Pour cela on ouvre le terminal de commandes et on saisit la commande suivante (le -a permet d’ajouter l'utilisateur pi vers le groupe existant "lpadmin" spécifié par -G).

sudo usermod -a -G lpadmin pi

3) Modifier le contenu du fichier cupsd.conf

Le comportement de CUPS est configuré par les directives contenues dans le fichier "/etc/cups/cupsd.conf" dans lequel chaque ligne est soit une directive de configuration, soit une ligne vide ou bien un commentaire ( ligne commençant par le caractère #) Malheureusement, tel qu'il est par défaut, le contenu du fichier "cupsd.conf" ne permet pas d'ouvrir correctement la fenêtre principale de cups sur le Raspberry Pi. C'est pourquoi il est nécessaire de modifier son contenu.

Pour cela, on ouvre le terminal de commandes, on se déclare administrateur (root) puis on tape la commande su puis on saisit le mot de passe administrateur.

pi@raspberrypi:~ $ su
Password:
root@raspberrypi:/home/pi#

On tape dans le terminal la commande "sudo nano /etc/cups/cupsd.conf" pour ouvrir le fichier cupsd.conf puis, depuis le terminal, on parcourt le fichier en utilisant les flèches du clavier.

15

16

On effectuer les modifications suivantes.

On recherche les deux lignes suivantes situées vers le début du fichier

# Only listen for connections from the local machine
Listen localhost:631

On ajoute « # » à la ligne « listen localhost:631 et on ajoute Port 631 aussitôt après

# Only listen for connections from the local machine
# Listen localhost:631
Port 631

On recherche les lignes qui contiennent "Order allow,deny" et on ajoute juste après une ligne "Allow@local"

# Restrict access to the server...
Order allow,deny
Allow @local

# Restrict access to the admin pages...
Order allow,deny
Allow @local

# Restrict access to the configuration files...
Order allow,deny
Allow @local

On recherche les deux lignes suivantes.

# Default authentication type, when authentication is required...
DefaultAuthType Basic

Pour pouvoir ensuite se connecter à cups sans rencontrer de blocage https on ajoute "DefaultEncryption IfRequested"

# Default authentication type, when authentication is required...
DefaultAuthType Basic
DefaultEncryption IfRequested

Ensuite, on quittez le fichier conf en faisant: Ctrl+x, puis Yes (Y) suivi de Enter.

17

CUPS est maintenant installé et le contenu du fichier cupsd.conf est correct.

4) Utiliser CUPS pour déclarer l'imprimante

On commence par mettre l'imprimante sous tension et on la connecte au Raspberry Pi à l'aide d'un cable USB. Ensuite, pour redémarrer Cups, on ouvre le terminal de commandes et on écrit la commande suivante

sudo /etc/init.d/cups restart

18

Une fois Cups redémarré, on ouvre le navigateur et on saisit, dans sa barre d'adresse, ,l’adresse de notre Raspberry pi suivit de ":631" (par exemple 192.168.0.0:631)
Dans la fenêtre web qui s'ouvre on clique Adding Printers and Classes

19

On clique "Add Printer"

20

On saisit le mot de passe adminitrateur (root) puis on clique le bouton "Log In"

21

On sélectionne notre imprimante (Brother HL-2030), détectée suite à sa mise sous tension et au branchement du cable usb, puis on clique le bouton "Continue"

22

On donne un nom quelconque à cette imprimante ("ma_brother" par exemple) puis on clique continue.

18

Dans notre cas, on ne choisit pas l'un des modèles proposé dans la liste déroulante "Model" mais on clique le bouton "Choose file" afin de sélectionner directement le fichier "Brother-HL-2030-hl1250.ppd" qui a été téléchargé en 1) depuis le site The Linux Foundation et qui correspond parfaitement à notre imprimante.

24

25

Dans la fenêtre Set Printer Options, cliquer le bouton "Set Default Options"

26

L'imprimante est alors disponible et est prête pour effectuer des jobs d'impression.

27

5) Imprimer un document

On ouvre le Bloc-Note et on saisit un texte ("mon essai" par exemple).
Depuis le Bloc Note, on clique "Fichier/Imprimer"
Dans la boîte de dialogue "Print" qui s'ouvre, on sélectionne l'imprimante installée et on clique "Print". L'impression s'effectue alors aussitôt.

28

Complément

Fichier Brother-HL-2030-hl1250.ppd téléchargé en 1) sur le site the Linux Fondation Wiki.
Fichier cupsd.conf modifié comme indiqué en 3).