Sangat sulit bagi saya untuk melakukan pencetakan, karena dialog printer penuh dengan ratusan printer yang ditambahkan secara otomatis, jadi saya tidak dapat menemukan yang ingin saya gunakan, lihat screenshot di bawah ini.
Printer berasal dari jaringan kerja saya, di mana tampaknya banyak orang (termasuk siswa, saya kira) sedang "berbagi" printer rumah mereka, yang kemudian diambil oleh laptop saya secara otomatis. (kebetulan saya kadang-kadang menonaktifkan avahi-daemon di tempat kerja, hanya karena menggunakan sejumlah besar CPU).
Ketika saya pergi ke http://localhost:631/printers/
, dikatakan ada 131 printer, dan mereka semua adalah Make dan Model 'Local Raw Printer'. Dengan dua pengecualian: 1 adalah printer jaringan yang berfungsi yang saya konfigurasikan secara manual. Lain adalah printer jaringan di orang tua saya, yang juga secara otomatis ditambahkan dan saya berada di jaringan yang sama seperti sekarang. Tapi sisanya hanya sampah yang ingin saya hindari. Kiat bagaimana melakukan itu akan sangat dihargai.
Saya tidak akan kembali ke tempat kerja saya untuk sementara waktu, jadi untuk sekarang, saya hanya ingin printer ini (yang akan menjadi 129/130 printer ditambahkan secara otomatis) untuk dihapus. Apakah ada cara untuk melakukan itu? Saya kira saya bisa melakukannya dengan mengklik di antarmuka web piala, tetapi untuk 129 printer, itu agak banyak. Jadi saya mencari satu perintah atau tips tentang cara mencapainya dengan semacam script.
sumber
Jawaban:
Menggunakan perintah ini:
lpstat -a
kita bisa melihat printer yang diinstal dan mengidentifikasi nama dari printer yang diinginkan untuk menjaga, kita dapat menggunakangrep
perintah juga untuk menyaring hasil seperti:lpstat -a | grep <probable_name_of_printer>
.Maka skrip kecil ini dapat membantu:
Jalankan perintah ini untuk memeriksa apakah printer yang diinginkan tidak terdaftar:
Ini seharusnya tidak menghasilkan apa-apa karena melakukan hal berikut:
lpstat -a
: daftar printer yang diinstalcut -d" " -f1
: kembalikan hanya nama-nama printersed -E '/<NAME_OF_PRINTER>/d'
: hapus nama printer untuk menjaga dari output dari perintah sebelumnyagrep <NAME_OF_PRINTER>
: pastikan printer yang diinginkan tidak ada dalam daftarJika di atas check out; kemudian jalankan perintah ini untuk menghapus setiap printer lain yang tidak Anda butuhkan:
sumber
lpstat -a
menghasilkan<printer_name> not accepting request since <some date> -\n reason unknown
(denganreason unknown
di baris baru!). Jadi menggunakan perintah listing Anda, saya mendapatkan banyak "printer" bernama `alasan` (ada lekukan).lpstat -a
diberikan perintah kepada Anda?sed
perintah lain di "rantai pipa":sed -E /reason/d
untuk menghilangkan garis tambahan.