Yüzlerce otomatik olarak eklenen ağ yazıcısını nasıl kaldırabilirim?


16

Baskı yapmak benim için çok zor, çünkü yazıcı diyalogu yüzlerce otomatik olarak eklenen yazıcılarla dolu, bu yüzden kullanmak istediğimi bulamıyorum, aşağıdaki ekran görüntüsüne bakın.

Çok uzun bir kaydırma çubuğunu gösteren yazıcı iletişim kutusunun görüntüsü

Yazıcılar, görünüşe göre pek çok insanın (öğrenciler de dahil olmak üzere) evdeki yazıcılarını "paylaştığı" iş ağımdan kaynaklanıyor ve dizüstü bilgisayarım otomatik olarak alıyor. (tesadüfen bazen avahi-daemon'u işte devre dışı bırakıyorum, çünkü büyük miktarda CPU kullanıyor çünkü).

Ben gittiğimde http://localhost:631/printers/, 131 yazıcı var diyorlar ve hepsi Marka ve Model 'Yerel Ham Yazıcı'. İki istisna dışında: 1 el ile yapılandırdığım bir ağ yazıcısı. Bir diğeri de ailemde otomatik olarak eklenen ve şu anda aynı ağda olduğum bir ağ yazıcısı. Ama gerisi sadece kaçınmak istediğim çöp. Bunun nasıl yapılacağıyla ilgili ipuçları takdir edilecektir.

Yine de iş yerime bir süre geri dönmeyeceğim, bu yüzden şimdilik, bu yazıcıların (129/130 otomatik olarak eklenen yazıcılar olurdu) kaldırılmasını istiyorum. Bunu yapmanın bir yolu var mı? Sanırım bunu bardakların web arayüzünü tıklatarak yapabilirdim, ama 129 yazıcı için bu biraz fazla. Bu yüzden tek bir komut veya bir tür komut dosyasıyla nasıl başaracağına dair ipuçları arıyorum.


1
bkz. /etc/cups/printers.conf. bardakları durdurun ve yazıcıları dosyadan kaldırın.
Rinzwind

2
Bu bir kopya değil çünkü zaten yüklü yazıcıları nasıl kaldıracağımı soruyorum, diğer soru ise kurulumlarını önlemekle ilgili. Ayrıca, işe yaramayan eski cevapların sıcak bir karmaşasına sahip bir soru. Bunu biliyorum çünkü daha önce gördüm ve bir kısmını denedim.
jonaslb

1
Anlaşıldı, geri çekildi :)
NGRhodes

Yanıtlar:


12

Bu komutu kullanarak: lpstat -abiz yüklü yazıcıları görmek ve tutmak için arzu edilen yazıcı adını belirleyebilir, kullanabileceğimiz grepşöyle sonuçları filtrelemek için de komutunu: lpstat -a | grep <probable_name_of_printer>.

Sonra bu küçük komut dosyası yardımcı olabilir:

  1. İstenen yazıcının listelenmediğini kontrol etmek için bu komutu çalıştırın:

    lpstat -a | cut -d" " -f1 | sed -E '/<NAME_OF_PRINTER>/d' | grep <NAME_OF_PRINTER>
    
    • Bu, aşağıdaki gibi hiçbir şey döndürmemelidir:

      • lpstat -a: kurulu yazıcıları listele
      • cut -d" " -f1: yalnızca yazıcıların adlarını döndürür
      • sed -E '/<NAME_OF_PRINTER>/d': önceki komutların çıktısından saklanacak yazıcının adını kaldırın
      • grep <NAME_OF_PRINTER>: istenen yazıcının listede olmadığından emin olun
  2. Yukarıdakiler kontrol edilirse; ardından ihtiyacınız olmayan diğer tüm yazıcıları kaldırmak için bu komutu çalıştırın:

    sudo bash -c 'for i in $(lpstat -a | cut -d" " -f1 | sed -E '/<NAME_OF_PRINTER>/d'); do lpadmin -x "$i"; done'
    

Bu umut verici görünüyor. Ben olsa bir sorun olabilir düşünüyorum (listeleme komutu ile muhtemelen de son komut). lpstat -aile sonuçlanır <printer_name> not accepting request since <some date> -\n reason unknown(ile reason unknownyeni bir satırda!). Listeleme komutunu kullanarak "reason" adında bir çok "yazıcı" alıyorum (bir girinti var).
jonaslb

Lütfen adımların hangi bölümünde sorun yaşıyorsanız ve takip edebilmem için sorunuza herhangi bir sonuç ekleyin! Komut lpstat -asize ne veriyor?
George Udosen

1
İyi çalıştı, ama sed"boru zincirine" bir komut daha ekledim : sed -E /reason/dekstra hatlardan kurtulmak.
jonaslb

Büyük iş ve memnun çalıştı!
George Udosen
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.