Il est très difficile pour moi d'effectuer l'impression, car la boîte de dialogue de l'imprimante est remplie de centaines d'imprimantes ajoutées automatiquement, donc je ne trouve pas celle que je veux utiliser, voir capture d'écran ci-dessous.
Les imprimantes proviennent de mon réseau de travail, où apparemment beaucoup de gens (y compris les étudiants, je suppose) "partagent" leurs imprimantes personnelles, que mon ordinateur portable récupère ensuite automatiquement. (par coïncidence, je désactive parfois le démon avahi au travail, simplement parce qu'il utilise une grande quantité de CPU).
Quand je vais à http://localhost:631/printers/
, il est indiqué qu'il y a 131 imprimantes, et elles sont toutes de marque et de modèle "Imprimante brute locale". À deux exceptions près: 1 est une imprimante réseau au travail que j'ai configurée manuellement. Une autre est une imprimante réseau chez mes parents, qui a également été ajoutée automatiquement et que je suis sur le même réseau que maintenant. Mais le reste n'est que des ordures que j'aimerais vraiment éviter. Des conseils sur la façon de procéder seraient appréciés.
Je ne retournerai pas à mon lieu de travail pendant un certain temps, donc pour l'instant, je voudrais juste que ces imprimantes (ce serait les imprimantes 129/130 ajoutées automatiquement) soient supprimées. Y-a-t-il un moyen de faire ça? Je suppose que je pourrais le faire en cliquant dans l'interface Web de cups, mais pour 129 imprimantes, c'est un peu trop. Je suis donc à la recherche d'une seule commande ou de conseils sur la façon d'y parvenir avec un script de toutes sortes.
En utilisant cette commande: lpstat -a
nous pouvons voir les imprimantes installées et identifier le nom de l'imprimante à conserver, nous pouvons également utiliser la commande grep
pour filtrer les résultats comme suit: lpstat -a | grep <probable_name_of_printer>
.
Ensuite, ce petit script peut vous aider:
Exécutez cette commande pour vérifier que l'imprimante souhaitée n'est pas répertoriée:
lpstat -a | cut -d" " -f1 | sed -E '/<NAME_OF_PRINTER>/d' | grep <NAME_OF_PRINTER>
Cela ne devrait rien retourner car il fait ce qui suit:
lpstat -a
: liste les imprimantes installéescut -d" " -f1
: retourne uniquement les noms des imprimantessed -E '/<NAME_OF_PRINTER>/d'
: supprime le nom de l'imprimante à conserver de la sortie des commandes précédentesgrep <NAME_OF_PRINTER>
: assurez-vous que l'imprimante souhaitée ne figure pas dans la listeSi ce qui précède vérifie; puis exécutez cette commande pour supprimer toutes les autres imprimantes dont vous n'avez pas besoin:
Sudo bash -c 'for i in $(lpstat -a | cut -d" " -f1 | sed -E '/<NAME_OF_PRINTER>/d'); do lpadmin -x "$i"; done'