Ordinateurs
Ajouter une imprimante sous Linux en ligne de commande
Rédigé par Printers Setup Editorial Team · Mis à jour

Les réglages graphiques d’imprimante d’Ubuntu, Fedora ou Mint fonctionnent bien, mais il faut parfois passer par le terminal : un serveur sans écran, un Raspberry Pi, un script pour plusieurs machines ou une imprimante que l’outil graphique ne trouve pas. Vous pouvez ajouter une imprimante sous Linux en ligne de commande avec une seule commande CUPS, lpadmin, plus quelques commandes pour vérifier le résultat. Ce guide utilise des commandes documentées dans les pages de manuel de CUPS : elles fonctionnent sur toute distribution qui utilise CUPS.
Comment l’impression est organisée sous Linux
CUPS est le système d’impression de presque tous les bureaux Linux. Il tient une liste de destinations (files d’impression). Chaque destination a un nom, une URI de périphérique qui indique où se trouve l’imprimante et un modèle qui indique comment lui parler. Le manuel de CUPS décrit lpadmin comme l’outil qui configure les files d’imprimantes et de classes, et lpinfo comme celui qui liste les périphériques et pilotes disponibles.
Les imprimantes réseau modernes parlent IPP, l’Internet Printing Protocol, et savent se décrire auprès de CUPS. C’est ce qu’on appelle l’impression sans pilote, et c’est pourquoi la plupart des imprimantes actuelles n’ont besoin d’aucun pilote sous Linux.
Étape 1 : vérifier CUPS et trouver l’imprimante
Vérifiez d’abord que l’ordonnanceur tourne :
lpstat -r
lpstat -p -d
La première commande indique si l’ordonnanceur CUPS est actif. La seconde liste les imprimantes existantes et celle par défaut : vous voyez ainsi si l’imprimante a déjà été ajoutée automatiquement.
Trouvez ensuite l’adresse de l’imprimante. Le plus simple est d’imprimer sa page de configuration réseau depuis le panneau de commande ; notre guide pour trouver l’adresse IP de l’imprimante présente d’autres méthodes. Réservez cette adresse dans la box pour qu’elle ne change pas. Vous pouvez aussi demander à CUPS ce qu’il voit :
sudo lpinfo -v
Les imprimantes réseau apparaissent en général avec des URI ipp://, ipps:// ou dnssd://. Les imprimantes USB apparaissent avec usb://.
Étape 2 : ajouter l’imprimante avec IPP Everywhere
Le guide d’administration de CUPS donne cet exemple pour une imprimante réseau à une adresse IP, et précise que le modèle everywhere sert pour presque toutes les imprimantes réseau modernes vendues depuis 2009 environ :
sudo lpadmin -p Bureau -E -v ipp://192.168.1.20/ipp/print -m everywhere
Le rôle de chaque élément, d’après le manuel de lpadmin :
-p Bureaunomme la file. CUPS accepte tous les caractères imprimables sauf l’espace, la tabulation,/et#, et ignore la casse.-Eaprès-pactive la destination et lui fait accepter les travaux.-vdéfinit l’URI du périphérique, ici IPP vers l’adresse de l’imprimante.-m everywhereinterroge l’imprimante et construit la file à partir de ses réponses.
Vous pouvez ajouter une description et un emplacement avec -D "Laser étage" et -L "Bureau".
Étape 3 : choisir l’imprimante par défaut
Deux possibilités, selon les personnes concernées :
sudo lpadmin -d Bureau # défaut du serveur pour tous
lpoptions -d Bureau # défaut pour votre seul compte
Le manuel de lpadmin indique que -d définit la destination par défaut du serveur. lpoptions -d définit votre défaut personnel ; lancé en root, il s’applique à tous les utilisateurs via /etc/cups/lpoptions.
Étape 4 : imprimer un test
lp -d Bureau /etc/hosts
lpstat -o
lp -d envoie un fichier à la destination nommée ; n’importe quel petit fichier texte convient. lpstat -o affiche les travaux encore en file. Si l’un d’eux y reste, vérifiez l’adresse de l’imprimante et qu’elle est allumée. Notre guide de la page de test explique aussi comment imprimer l’autotest de l’imprimante elle-même.
Imprimantes anciennes sans IPP Everywhere
Pour une imprimante qui ne gère pas l’impression sans pilote, le guide d’administration de CUPS montre un exemple avec une connexion socket directe et l’un des pilotes d’exemple de CUPS :
sudo lpadmin -p VieilleLaser -E -v socket://192.168.1.30 -m drv:///sample.drv/laserjet.ppd
lpinfo -m liste les modèles installés sur votre système ; votre distribution propose peut-être des paquets avec davantage de pilotes. Sachez que le manuel de lpadmin qualifie d’obsolètes les modèles autres qu’everywhere, qui ne seront plus pris en charge dans une version future de CUPS : vérifiez si un micrologiciel plus récent ajoute IPP Everywhere avant de dépendre d’un vieux pilote.
Modifier, partager ou supprimer une imprimante
- La partager sur le réseau :
sudo lpadmin -p Bureau -o printer-is-shared=true, avec le partage activé dans CUPS. Notre guide du serveur d’impression Raspberry Pi détaille la configuration complète. - Définir une option par défaut : l’exemple du manuel est
-o number-up-default=2; le même principe vaut pour des options commesides-default=two-sided-long-edge. - La supprimer :
sudo lpadmin -x Bureau. CUPS prévient que les travaux en attente pour cette destination sont supprimés.
Aide-mémoire
| Tâche | Commande |
|---|---|
| CUPS tourne-t-il ? | lpstat -r |
| Lister imprimantes et défaut | lpstat -p -d |
| Voir l’URI de chaque imprimante | lpstat -v |
| Lister les périphériques vus par CUPS | sudo lpinfo -v |
| Ajouter une imprimante réseau sans pilote | sudo lpadmin -p NOM -E -v ipp://ADRESSE/ipp/print -m everywhere |
| Définir le défaut du système | sudo lpadmin -d NOM |
| Définir votre défaut | lpoptions -d NOM |
| Imprimer un fichier | lp -d NOM fichier |
| Voir les travaux en file | lpstat -o |
| Supprimer une imprimante | sudo lpadmin -x NOM |
Si l’imprimante refuse de s’ajouter
- « Unable to connect » ou longue attente : vérifiez l’adresse avec
pinget que l’imprimante est sur le même réseau que l’ordinateur. - Mauvais chemin de ressource :
/ipp/printest le chemin courant des imprimantes IPP Everywhere, mais pas universel. Utilisez l’URI quelpinfo -vindique pour l’imprimante. - Les travaux s’arrêtent et l’imprimante est désactivée : la politique d’erreur par défaut est « stop-printer ». Corrigez la cause, puis réactivez la file avec
sudo cupsenable NOM.
Sur macOS et Raspberry Pi
macOS utilise aussi CUPS : lpstat, lp et lpadmin sont disponibles dans Terminal, même si la plupart des gens préféreront les étapes de notre guide pour ajouter une imprimante sur Mac. Sur Raspberry Pi OS, les commandes sont identiques à celles de Debian et Ubuntu. Pour la méthode graphique sous Ubuntu, voyez comment ajouter une imprimante sous Ubuntu, et pour la même tâche sous Windows, comment ajouter une imprimante avec PowerShell.
Questions fréquentes
Faut-il sudo pour lancer lpadmin ?
En général oui sous Ubuntu et les systèmes proches, ou être membre du groupe d'administration des imprimantes. Le manuel de CUPS précise que lpadmin peut demander un mot de passe selon la configuration du système d'impression.
Que fait -m everywhere ?
Il demande à CUPS d'interroger l'imprimante en IPP et de construire la file à partir de ses réponses, au lieu d'utiliser un pilote ou un fichier PPD. La documentation de CUPS indique que le pilote everywhere sert pour presque toutes les imprimantes réseau modernes vendues depuis 2009 environ.
Mon imprimante est ancienne et ne gère pas IPP Everywhere. Que faire ?
Utilisez un paquet de pilotes de votre distribution ou du fabricant, ou un pilote d'exemple générique de CUPS pour une impression de base. Le guide d'administration de CUPS montre un exemple socket:// avec un pilote LaserJet d'exemple. Notez que CUPS considère les fichiers PPD et les pilotes comme obsolètes, appelés à disparaître dans une version future.
Comment supprimer une imprimante en ligne de commande ?
Lancez lpadmin -x suivi du nom de l'imprimante. CUPS prévient que les travaux en attente pour cette destination sont supprimés et que le travail en cours est interrompu.
Sources
Editorial team
The Printers Setup team writes and reviews step-by-step printer setup guides and checks them against the current menus of Windows, macOS, ChromeOS, iOS and Android.

