Tutorial ini akan menunjukkan kepada Anda cara berbagi printer yang terpasang ke komputer Ubuntu dengan klien Windows, macOS dan iOS di jaringan yang sama. CUP (Common Unix Printing System) adalah sistem pencetakan default di Linux, FreeBSD, dan macOS. Lingkungan desktop Linux Anda mungkin memiliki utilitas konfigurasi printer khusus, tetapi semuanya menggunakan CUPS.
Printer CUPS dapat digunakan bersama di jaringan menggunakan beberapa protokol, antara lain:
- Bonjour + IPP :Bonjour, juga dikenal sebagai mDNS/DNS-SD (penemuan layanan DNS/DNS multicast), memungkinkan komputer menemukan layanan di jaringan lokal. IPP (Internet Printing Protocol) adalah protokol transport.
- UKM :alias Samba, terutama digunakan untuk berbagi file dan printer dengan klien Windows.
- AirPrint :Mengizinkan klien iPhone, iPad, dan macOS untuk mencetak melalui Wi-Fi.
Setiap protokol memiliki kelebihan dan kekurangannya masing-masing. Pertama, saya akan menunjukkan cara menginstal dan mengkonfigurasi CUPS. Kemudian kita akan belajar cara berbagi printer CUPS melalui 3 protokol di atas. Sebaiknya gunakan ketiga metode tersebut untuk membagikan printer Anda, sehingga pengguna dapat menemukan printer yang tersedia di jaringan lokal dengan sedikit usaha.
Langkah 1:Instal dan Konfigurasi CUPS di Ubuntu
Edisi desktop Ubuntu memiliki CUPS yang sudah diinstal sebelumnya. Jika Anda menggunakan edisi server Ubuntu, Anda perlu menjalankan perintah berikut untuk menginstal CUPS dari repositori default Ubuntu.
sudo apt install cups
Kemudian mulai CUPS.
sudo systemctl start cups
Aktifkan mulai otomatis saat boot.
sudo systemctl enable cups
Periksa statusnya:
systemctl status cups
Contoh keluaran:
Selanjutnya, edit file konfigurasi utama CUPS dengan editor teks baris perintah seperti Nano.
sudo nano /etc/cups/cupsd.conf
Pertama, kita perlu menunjukkan printer bersama di jaringan lokal. Temukan baris berikut.
Browsing Off
Ubah ke
Browsing On
sehingga komputer lain di jaringan yang sama dapat melihat printer yang terhubung ke komputer Ubuntu Anda.
Secara default, antarmuka web CUPS hanya tersedia di localhost:631
. Jika Anda menjalankan edisi server Ubuntu, Anda mungkin juga ingin membuat CUPS mendengarkan di semua antarmuka jaringan yang tersedia, sehingga Anda dapat mengakses antarmuka web CUPS dari komputer lain. Temukan baris berikut.
Listen localhost:631
Ubah ke
Port 631
Jadi CUPS akan mendengarkan di semua antarmuka jaringan. Kemudian temukan baris berikut.
<Location /> Order allow,deny </Location>
Konfigurasi di atas memungkinkan akses ke antarmuka web CUPS hanya dari localhost. Untuk mengizinkan akses dari komputer lain di jaringan yang sama, tambahkan Allow @LOCAL
ke konfigurasi seperti di bawah ini.
<Location /> Order allow,deny Allow @LOCAL </Location>
Tambahkan juga untuk /admin
direktori untuk mengizinkan administrasi jarak jauh dari jaringan lokal.
<Location /admin> Order allow,deny Allow @LOCAL </Location>
Anda juga dapat mengizinkan alamat IP tertentu seperti:
<Location /> Order allow,deny Allow 192.168.0.101 </Location>
Simpan dan tutup file. Kemudian mulai ulang CUPS agar perubahan diterapkan.
sudo systemctl restart cups
Perhatikan bahwa jika Anda telah mengaktifkan firewall UFW di Ubuntu, Anda harus mengizinkan klien di jaringan yang sama untuk mengakses port 631 di kotak Ubuntu Anda. Misalnya, jaringan pribadi saya menggunakan rentang jaringan 192.168.0.0 ~192.168.0.255, jadi saya menjalankan perintah berikut.
sudo ufw allow in from 192.168.0.0/24 to any port 631
Antarmuka web CUPS tersedia di https://IP-address-of-Ubuntu-box:631
. Kami tidak perlu menggunakan antarmuka web dalam artikel ini, tetapi jika Anda ingin menggunakannya, Anda perlu menambahkan akun pengguna Anda ke lpadmin
grup untuk membuat perubahan pada antarmuka web CUPS.
sudo adduser your_username lpadmin
Langkah 2:Instal Driver untuk Printer Anda di Ubuntu
Anda perlu menginstal driver di Ubuntu, sehingga dapat mengenali dan menggunakan printer. Jika Anda memiliki printer HP, Anda dapat menginstal driver dengan mudah dengan perintah berikut.
sudo apt install hplip
Saya juga merekomendasikan menginstal printer-driver-gutenprint
paket, yang menyediakan driver CUPS untuk Canon, Epson, HP, dan printer yang kompatibel.
sudo apt install printer-driver-gutenprint
Jika Anda memiliki printer lain, Anda dapat menemukan driver di openprinting.org.
Setelah menginstal driver, Anda mungkin perlu menghubungkan kembali printer ke port USB komputer Ubuntu Anda. Untuk menguji apakah driver berfungsi dengan benar, Anda dapat membuat file teks di Ubuntu:
echo "LinuxBabe is awesome!" > file.txt
Kemudian jalankan perintah berikut untuk mencetak file teks ini dari baris perintah.
lp file.txt
Ini adalah metode yang sangat sederhana, jadi jangan khawatir tentang kualitas pencetakan sekarang.
Langkah 3:Bagikan Printer CUPS melalui Bonjour/IPP Protocol
Menginstal Avahi-daemon
CUPS dapat mengumumkan kehadirannya di jaringan melalui protokol mDNS (multicast DNS) dan DNS-SD (DNS Service Discovery), yang juga dikenal sebagai Bonjour. Untuk melakukannya, Anda perlu menginstal dan menjalankan avahi-daemon
, yang merupakan layanan serupa dengan layanan Apple Bonjour yang memungkinkan komputer menemukan perangkat dan layanan bersama secara otomatis di jaringan lokal.
sudo apt install avahi-daemon
Mulai avahi-daemon.
sudo systemctl start avahi-daemon
Aktifkan mulai otomatis saat boot.
sudo systemctl enable avahi-daemon
Avahi-daemon mendengarkan pada port UDP 5353. Buka di firewall.
sudo ufw allow 5353/udp
Pencetakan Tanpa Pengemudi IPP
Bonjour digunakan untuk mengiklankan printer di jaringan lokal. Untuk membuat klien dan server CUPS saling berkomunikasi, diperlukan IPP (Internet Printing Protocol). Keuntungan IPP adalah klien dapat menggunakan printer bersama tanpa menginstal driver apa pun di perangkat mereka sendiri. CUPS mendukung IPP, jadi Anda tidak perlu melakukan hal lain untuk membagikan printer CUPS melalui IPP.
Langkah 4:Tambahkan Printer pada Komputer Klien
Klien macOS dan Linux
Karena macOS dan sebagian besar distribusi desktop Linux memiliki CUPS yang diinstal sebagai sistem pencetakan default, setelah Anda mengaktifkan berbagi printer melalui Bonjour/IPP pada kotak Ubuntu, pengguna macOS dan Linux di jaringan yang sama dapat menggunakan printer secara otomatis. Ketika mereka mengklik opsi cetak dalam aplikasi (pengolah kata, pembaca email, editor foto, dan browser web), printer akan tersedia secara otomatis. Mereka tidak harus secara eksplisit menambahkan printer. Ini ajaib.
Jika komputer Linux Anda tidak dapat menemukan printer, mungkin sistem Anda tidak memiliki ippfind
memerintah. Jalankan perintah berikut untuk menginstalnya pada distribusi Linux berbasis Debian.
sudo apt install cups-ipp-utils
Pada CentOS 8, jalankan perintah berikut.
sudo dnf install cups-ipptool
Kemudian restart CUPS di komputer klien.
sudo systemctl restart cups
Windows
Windows 10 dikirimkan dengan klien IPP. Ketik printer di bilah pencarian kiri bawah dan buka Printers &Scanners . Kemudian klik Tambahkan printer atau pemindai tombol. Ini akan memindai printer yang tersedia di jaringan lokal.
Seperti yang Anda lihat, ia menemukan printer HP Deskjet saya. Pilih printer yang ditemukan dan klik Tambahkan perangkat . Ini akan ditambahkan ke daftar printer dalam beberapa saat.
Jika Anda menggunakan versi Windows yang berbeda yang tidak dapat menambahkan printer dengan cara ini, maka Anda dapat menginstal layanan Bonjour Print. Setelah terinstal, luncurkan wizard printer Bonjour. Ini akan secara otomatis memindai printer yang tersedia di jaringan lokal. Seperti yang Anda lihat dari tangkapan layar, ia menemukan printer HP saya.
Klik next, maka Anda harus memilih driver untuk printer ini. Anda dapat memilih driver kelas Microsoft IPP, yang diinstal pada sistem secara default.
Klik Berikutnya, dan printer akan ditambahkan ke sistem Windows Anda.
Menambahkan Printer Secara Manual di Linux
Jika karena alasan apa pun Anda tidak melihat printer, Anda dapat menambahkannya secara manual. Untuk menambahkan printer bersama Bonjour di desktop Linux, cari pengaturan sistem Anda atau menu aplikasi untuk utilitas konfigurasi printer. Klik tombol Tambah tombol untuk menambahkan printer baru.
Kemudian klik Network Printer, dan secara otomatis akan memindai printer yang tersedia di jaringan lokal. Seperti yang Anda lihat, ia menemukan printer HP Deskjet saya. Klik tombol Teruskan tombol.
Kemudian Anda dapat memberi nama dan deskripsi pada printer. Saya hanya menerima nilai default. Klik Terapkan dan selesai.
Menambahkan Printer Secara Manual di macOS
Untuk menambahkan printer bersama Bonjour di macOS, buka preferensi sistem -> Printer &Pemindai . Klik tombol plus (+) untuk menambahkan printer.
Ini akan secara otomatis memindai printer yang tersedia di jaringan lokal. Seperti yang Anda lihat, ia menemukan printer HP Deskjet saya.
Klik tombol Tambah tombol dan itu akan muncul di daftar printer.
Langkah 5:Bagikan Printer CUPS melalui Samba
Samba adalah implementasi protokol SMB/CIFS sumber terbuka dan gratis untuk Unix dan Linux yang memungkinkan berbagi file dan cetak antara mesin Unix/Linux dan Windows di jaringan area lokal. Ini terutama digunakan untuk berbagi file dan printer dengan klien Windows.
Untuk menginstal Samba di Ubuntu, cukup jalankan perintah berikut di terminal.
sudo apt install samba samba-common-bin
Untuk memeriksa apakah layanan Samba berjalan, jalankan perintah berikut.
systemctl status smbd systemctl status nmbd
Untuk memulai kedua layanan ini, jalankan perintah berikut:
sudo systemctl start smbd sudo systemctl start nmbd
Kemudian edit file konfigurasi utama.
sudo nano /etc/samba/smb.conf
Disarankan untuk mengaktifkan spoolssd
layanan saat berbagi printer. Ini akan membuat Samba lebih efisien ketika ada banyak pekerjaan pencetakan. Cukup tambahkan dua baris berikut di [global]
bagian untuk mengaktifkan spoolssd
layanan.
rpc_server:spoolss = external rpc_daemon:spoolssd = fork
Selanjutnya, pergi ke akhir file dan Anda akan melihat [printers]
bagian. Di editor teks Nano, Anda dapat melompat ke akhir file dengan menekan Ctrl+W
, lalu Menekan Ctrl+V
. Temukan dua baris berikut.
browseable = no guest ok = no
Ubah ke
browseable = yes guest ok = yes
Simpan dan tutup file. Kemudian mulai ulang Samba.
sudo systemctl restart smbd nmbd
Menambahkan Printer Samba-shared di Windows.
Buka file explorer, masukkan alamat IP komputer Ubuntu di address bar seperti \\192.168.0.110
. Printer sekarang harus terdaftar.
Klik dua kali printer untuk menambahkannya ke sistem Windows Anda. Kemudian klik tombol OK untuk memilih driver yang akan diinstal. Setelah menginstal driver, printer akan ditambahkan ke sistem Windows Anda.
Langkah 6:Bagikan Printer CUPS dengan Klien iOS melalui AirPrint
AirPrint memungkinkan klien iPhone, iPad, dan macOS untuk mencetak melalui Wi-Fi tanpa menginstal perangkat lunak driver pada perangkat klien. CUPS mendukung AirPrint, tetapi avahi-daemon
secara default tidak mengumumkan layanan AirPrint di jaringan lokal. Kita perlu membuat .service
file di /etc/avahi/services/
direktori untuk printer dengan skrip Python dengan perintah berikut. Model printer saya adalah seri DeskJet 2130. Ganti dengan nama model Anda sendiri.
sudo nano /etc/avahi/services/AirPrint-DeskJet-2130-series.service
Tambahkan baris berikut dalam file.
<?xml version='1.0' encoding='UTF-8'?> <!DOCTYPE service-group SYSTEM "avahi-service.dtd"> <service-group> <name replace-wildcards="yes">AirPrint DeskJet-2130-series @ %h</name> <service> <type>_ipp._tcp</type> <subtype>_universal._sub._ipp._tcp</subtype> <port>631</port> <txt-record>txtvers=1</txt-record> <txt-record>qtotal=1</txt-record> <txt-record>Transparent=T</txt-record> <txt-record>URF=none</txt-record> <txt-record>rp=printers/DeskJet-2130-series</txt-record> <txt-record>note=HP DeskJet 2130 series</txt-record> <txt-record>product=(GPL Ghostscript)</txt-record> <txt-record>printer-state=3</txt-record> <txt-record>printer-type=0x2900c</txt-record> <txt-record>pdl=application/octet-stream,application/pdf,application/postscript,application/vnd.cups-raster,image/gif,image/jpeg,image/png,image/tiff,image/urf,text/html,text/plain,application/vnd.adobe-reader-postscript,application/vnd.cups-pdf</txt-record> </service> </service-group>
Simpan dan tutup file. Mulai ulang Avahi-daemon.
sudo systemctl restart avahi-daemon
Sekarang klien iOS dan macOS di jaringan yang sama seharusnya dapat menggunakan printer Anda. Tangkapan layar berikut menunjukkan iPhone saya berhasil menemukan Printer AirPrint.