É muito difícil para mim realizar a impressão, porque a caixa de diálogo da impressora está cheia de centenas de impressoras adicionadas automaticamente, então não consigo encontrar a que desejo usar, veja a imagem abaixo.
As impressoras vêm da minha rede de trabalho, onde aparentemente muitas pessoas (incluindo estudantes, eu acho) estão "compartilhando" suas impressoras domésticas, que meu laptop capta automaticamente. (coincidentemente, às vezes desabilito o daemon avahi no trabalho, simplesmente porque ele está usando uma grande quantidade de CPU).
Quando vou para http://localhost:631/printers/
, diz que há 131 impressoras, e todas são de marca e modelo 'Impressora Raw Local'. Com duas exceções: 1 é uma impressora de rede em funcionamento que configurei manualmente. Outra é uma impressora de rede dos meus pais, que também foi adicionada automaticamente e da qual estou na mesma rede agora. Mas o resto é apenas lixo que eu realmente gostaria de evitar. Dicas sobre como fazer isso seriam apreciadas.
Porém, não voltarei ao meu local de trabalho por um tempo, então, por enquanto, gostaria apenas que essas impressoras (que seriam as impressoras 129/130 adicionadas automaticamente) fossem removidas. Existe uma maneira de fazer isso? Acho que poderia fazer isso clicando na interface web do Cups, mas para 129 impressoras, isso é um pouco demais. Então, estou procurando um único comando ou dicas sobre como alcançá-lo com uma espécie de script.
Responder1
Usando este comando: lpstat -a
podemos ver as impressoras instaladas e identificar o nome da impressora desejada para manter, podemos usar o grep
comando também para filtrar os resultados assim: lpstat -a | grep <probable_name_of_printer>
.
Então este pequeno script pode ajudar:
Execute este comando para verificar se a impressora desejada não está listada:
lpstat -a | cut -d" " -f1 | sed -E '/<NAME_OF_PRINTER>/d' | grep <NAME_OF_PRINTER>
Isso não deve retornar nada, pois faz o seguinte:
lpstat -a
: lista as impressoras instaladascut -d" " -f1
: retorna apenas os nomes das impressorassed -E '/<NAME_OF_PRINTER>/d'
: remova o nome da impressora para evitar a saída dos comandos anterioresgrep <NAME_OF_PRINTER>
: certifique-se de que a impressora desejada não esteja na lista
Se o acima estiver correto; em seguida, execute este comando para remover todas as outras impressoras desnecessárias:
sudo bash -c 'for i in $(lpstat -a | cut -d" " -f1 | sed -E '/<NAME_OF_PRINTER>/d'); do lpadmin -x "$i"; done'