Il m'est très difficile 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 dit qu'il y a 131 imprimantes, et elles sont toutes de la marque et du 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 une sorte de script.
la source
Réponses:
En utilisant cette commande:
lpstat -a
nous pouvons voir les imprimantes installées et identifier le nom de l'imprimante souhaité conserver, nous pouvons utiliser lagrep
commande également pour filtrer les résultats comme ceci: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:
Cela ne devrait rien retourner car il fait ce qui suit:
lpstat -a
: liste des 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:
la source
lpstat -a
résulte en<printer_name> not accepting request since <some date> -\n reason unknown
(avecreason unknown
sur une nouvelle ligne!). Donc, en utilisant votre commande de listage, je reçois beaucoup d '"imprimantes" nommées "raison" (il y a une indentation).lpstat -a
?sed
commande dans la "chaîne de tuyaux":sed -E /reason/d
se débarrasser des lignes supplémentaires.