CUPS adalah singkatan dari Common UNIX Printing System.
lpadmin adalah alat baris perintah yang digunakan untuk mengonfigurasi antrian printer dan kelas yang disediakan oleh CUPS.
Sistem yang menjalankan CUPS adalah host yang dapat menerima pekerjaan cetak dari komputer klien, memprosesnya, dan mengirimkannya ke printer yang sesuai. Ini juga dapat digunakan untuk mengatur printer atau kelas default server.
Tutorial ini menjelaskan cara menambahkan printer baru, menyiapkan opsi printer, dan mengelola printer di lingkungan Linux menggunakan contoh perintah lpadmin.
1. Menambahkan Printer Baru
Untuk menambahkan printer jaringan baru dengan nama “HPLaserJetP3015” gunakan perintah lpadmin dengan opsi -p seperti gambar di bawah ini:
# lpadmin -p HPLaserJetP3015 -v socket://19.86.82.172 -P /usr/share/cups/model/HP/LaserJet_P3005-Postscript.ppd # lpstat -v device for HPLaserJetP3015: socket://19.86.82.172
Untuk memverifikasi apakah printer dikonfigurasi saat ini, Anda dapat menggunakan perintah seperti yang ditunjukkan pada contoh di bawah ini:
# lpstat -p HPLaserJetP3015 -l printer HPLaserJetP3015 is idle. enabled since Sun Jan 11 16:11:41 2015
2. File PPD dan Log
Dalam contoh di atas, file PPD (juga dikenal sebagai PostScript Printer Description) dibuat oleh vendor untuk menggambarkan seluruh rangkaian fitur dan kemampuan yang tersedia untuk printer PostScript mereka dan biasanya berada di bawah direktori /usr/share/cups/model/ .
Jika Anda memiliki masalah dalam mengonfigurasi printer, harap verifikasi log di lokasi di bawah ini untuk menemukan pesan kesalahan. Lokasi ini dapat berubah tergantung pada distribusi Linux yang berbeda.
# ls -l /var/log/cups/* -rw-r--r-- 1 root lp 6851 Jan 11 16:19 /var/log/cups/access_log -rw-r--r-- 1 root lp 13207 Jan 11 16:19 /var/log/cups/error_log
3. Konfigurasi Printer pada Port Paralel
Untuk mengkonfigurasi printer pada port paralel (/dev/lp0), gunakan perintah lpadmin seperti yang ditunjukkan pada contoh ini:
# lpadmin -p HPDESKJET882 -v parallel:/dev/lp0 -m /usr/share/cups/model/HP/DeskJet_882C-cdj880.ppd
4. Lihat Semua Port yang Tersedia untuk Pengaturan Printer
Juga untuk membuat daftar semua port atau antarmuka yang tersedia untuk mengkonfigurasi printer dapat ditampilkan menggunakan perintah lpinfo,
# lpinfo -v network socket direct hp network http network ipp network lpd direct parallel:/dev/lp0 direct scsi network tpvmgp network tpvmlp network smb
5. Beberapa Kelas Printer
CUPS selalu memeriksa printer yang tersedia sesuai urutan penambahan printer ke kelas.
Anda dapat menambahkan 1 atau beberapa printer ke kelas dan saat salah satu printer tidak tersedia, printer lain yang ditentukan di kelas akan menangani permintaan tugas pencetakan.
Tidak wajib menambahkan printer di kelas. Satu kelas printer sendiri dapat menjadi anggota dari kelas lain sehingga Anda dapat menentukan kelas printer untuk ketersediaan tinggi untuk pencetakan.
Setelah mengonfigurasi kelas printer, Anda dapat mencetak ke kelas printer dengan cara yang sama seperti Anda mengarahkan ke satu printer.
Misalnya, Jika Anda memiliki 2 printer Laserjet dan 2 printer deskjet. Anda dapat membuat kelas yang dikenal sebagai “Class-Laserjet” yang terdiri dari 2 Printer Laserjet, dan membuat kelas lain yang dikenal sebagai printer “Class-Deskjet” dan kemudian membuat kelas lain yang berisi 2 kelas ini.
Dengan cara ini bahkan jika printer laserjet atau deskjet mati, kelas lain akan melayani pekerjaan pencetakan.
6. Tambahkan Printer ke Kelas
Untuk menambahkan printer ke kelas, gunakan perintah di bawah ini.
# lpadmin -h localhost -p HPLaserJetP3015 -c myclass
Untuk memverifikasi apakah printer berada di kelas printer:
# lpstat -c myclass members of class myclass: HPLaserJetP3015
7. Menghapus Printer dari Kelas
Untuk menghapus printer dari kelas Anda dapat menggunakan perintah lpadmin seperti yang ditunjukkan pada contoh di bawah ini:
dalam contoh ini, myclass memiliki dua printer:
# lpstat -c myclass members of class myclass: HPLaserJetP3015 HPDESKJET882
Hapus printer HPDESKJET882 dari myclass seperti gambar di bawah ini:
# lpadmin -p HPDESKJET882 -r myclass
Setelah Anda menghapusnya, Anda hanya akan melihat Printer HP Laser Jet:
# lpstat -c myclass members of class myclass: HPLaserJetP3015
8. Hapus Seluruh Kelas Printer
Menggunakan opsi -x, Anda dapat menghapus kelas. seperti yang ditunjukkan di bawah ini.
# lpstat -c myclass members of class myclass: HPLaserJetP3015 # lpadmin -x myclass # lpstat -c myclass lpstat: Unknown destination "myclass"!
Harap perhatikan bahwa konfigurasi printer tetap ada meskipun Anda menghapus kelas.
9. Ubah Opsi Pencetakan
Untuk mengubah opsi pencetakan untuk printer, Anda dapat menjalankan perintah di bawah ini.
Daftar semua opsi yang tersedia untuk printer menggunakan perintah lpoptions seperti yang ditunjukkan di bawah ini.
Dalam contoh ini, Anda akan melihat semua opsi yang diaktifkan diawali dengan simbol asterisk. Jika tidak ada tanda bintang, maka menggunakan pengaturan default.
# lpoptions -p HPLaserJetP3015 -l PageSize/Page Size: *A4 Letter 11x17 A3 A5 B5 Env10 EnvC5 EnvDL EnvISOB5 EnvMonarch Executive Legal PageRegion/PageRegion: A4 Letter 11x17 A3 A5 B5 Env10 EnvC5 EnvDL EnvISOB5 EnvMonarch Executive Legal Resolution/Resolution: 150x150dpi 300x300dpi *600x600dpi 1200x1200dpi InputSlot/Media Source: *Default Tray1 Tray2 Tray3 Manual Duplex/Double-Sided Printing: DuplexNoTumble DuplexTumble *None
10. Ubah Resolusi Printer
Untuk mengubah resolusi printer menjadi 300x300dpi, Anda dapat menggunakan perintah lpadmin seperti gambar di bawah ini:
# lpadmin -p HPLaserJetP3015 -o Resolution=300x300dpi # lpoptions -p HPLaserJetP3015 -l
Berikut adalah opsi lain yang dapat Anda atur untuk printer apa pun menggunakan lpadmin dengan opsi –o seperti yang dijelaskan dalam contoh di atas,
- job-k-limit=value – Menetapkan batas kilobyte untuk kuota per pengguna. Nilainya adalah bilangan bulat kilobyte.
- job-page-limit=value – Menetapkan batas halaman untuk kuota per pengguna. Nilai adalah bilangan bulat jumlah halaman yang dapat dicetak; halaman dua sisi dihitung sebagai dua halaman.
- job-quota-period=value – Menetapkan periode akuntansi untuk kuota per pengguna. Nilainya adalah bilangan bulat detik.
- job-sheets-default=banner – Menyetel halaman spanduk default yang akan digunakan untuk tugas pencetakan.
- name=value – Menetapkan opsi PPD untuk printer. Opsi PPD dapat dicantumkan menggunakan opsi -l dengan perintah lpoptions(1).
- name-default=value – Menyetel opsi sisi server default untuk printer.
- port-monitor=name – Port monitor yang ditentukan harus tercantum dalam file PPD printer.
- printer-error-policy=name – Menyetel kebijakan kesalahan yang akan digunakan saat backend printer tidak dapat mengirim pekerjaan ke printer.
- printer-is-shared=true/false – Menyetel printer ke dibagikan/diterbitkan atau tidak dibagikan/tidak dipublikasikan.
- printer-op-policy=name – Menetapkan kebijakan operasi IPP yang terkait dengan printer. Nama harus didefinisikan di cupsd.conf di bagian Kebijakan. Kebijakan operasi default adalah “default”.
11. Hapus Printer dari File Konfigurasi
Untuk menghapus printer CUPS dari file konfigurasi printer, Anda dapat menggunakan opsi -x seperti yang ditunjukkan di bawah ini:
# lpstat -v device for HPLaserJetP3015: socket://19.86.82.172 # lpadmin -x HPLaserJetP3015 # lpstat -v lpstat: No destinations added.
12. Izinkan/Tolak Pengguna atau Grup untuk Mengonfigurasi Opsi Printer
Anda dapat mengizinkan pengguna individu atau grup untuk mengonfigurasi opsi printer menggunakan perintah lpadmin.
Perintah berikut akan memungkinkan pengguna karthik untuk mengkonfigurasi opsi printer pada printer HPLaserJetP3015:
# lpadmin -p HPLaserJetP3015 -u allow:karthik
Anda juga dapat memblokir pengguna dari mengubah pengaturan/opsi atau mengkonfigurasi printer menggunakan perintah di bawah ini.
Perintah berikut akan menolak karthik pengguna untuk mengkonfigurasi opsi printer pada printer HPLaserJetP3015:
# lpadmin -p HPLaserJetP3015 -u deny:karthik
Jika ada grup yang perlu diberi izin akses, Anda dapat menggunakan nama grup yang diawali dengan simbol @. Beberapa nama pengguna atau grup dapat dipisahkan dengan koma.
Misalnya, berikut ini akan memungkinkan pengguna dari grup sysadmin untuk mengonfigurasi opsi printer.
# lpadmin -p HPLaserJetP3015 -u allow:@sysadmin
Berikut ini akan menolak pengguna dari grup pengembang untuk mengonfigurasi opsi printer.
# lpadmin -p HPLaserJetP3015 -u deny:@developer