Tento tutoriál vám ukáže, jak sdílet tiskárnu připojenou k počítači Ubuntu s klienty Windows, macOS a iOS ve stejné síti. CUPS (Common Unix Printing System) je výchozí tiskový systém v systémech Linux, FreeBSD a macOS. Vaše desktopové prostředí Linuxu může mít vyhrazený nástroj pro konfiguraci tiskárny, ale všechny používají pod kapotou CUPS.
Tiskárnu CUPS lze sdílet v síti pomocí několika protokolů, včetně:
- Bonjour + IPP :Bonjour, také známý jako mDNS/DNS-SD (multicast DNS/DNS service discovery), umožňuje počítači najít služby v místní síti. IPP (Internet Printing Protocol) je přenosový protokol.
- SMB :aka Samba, používá se hlavně ke sdílení souborů a tiskáren s klienty Windows.
- AirPrint :Umožňuje klientům iPhone, iPad a macOS tisknout přes Wi-Fi.
Každý protokol má své výhody a nevýhody. Nejprve vám ukážu, jak nainstalovat a nakonfigurovat CUPS. Poté se naučíme, jak sdílet tiskárnu CUPS prostřednictvím výše uvedených 3 protokolů. Ke sdílení tiskárny doporučuji používat všechny 3 způsoby, aby uživatelé mohli najít dostupnou tiskárnu v místní síti s minimálním úsilím.
Krok 1:Instalace a konfigurace CUPS na Ubuntu
Desktopová edice Ubuntu má předinstalovaný CUPS. Pokud používáte serverovou edici Ubuntu, musíte spustit následující příkaz k instalaci CUPS z výchozího úložiště Ubuntu.
sudo apt install cups
Poté spusťte CUPS.
sudo systemctl start cups
Povolit automatické spouštění při spouštění.
sudo systemctl enable cups
Zkontrolujte jeho stav:
systemctl status cups
Ukázkový výstup:
Dále upravte hlavní konfigurační soubor CUPS pomocí textového editoru příkazového řádku, jako je Nano.
sudo nano /etc/cups/cupsd.conf
Nejprve musíme zobrazit sdílené tiskárny v místní síti. Najděte následující řádek.
Browsing Off
Změňte jej na
Browsing On
takže ostatní počítače ve stejné síti mohou vidět tiskárny připojené k vašemu počítači Ubuntu.
Ve výchozím nastavení je webové rozhraní CUPS dostupné pouze na adrese localhost:631
. Pokud používáte serverovou edici Ubuntu, můžete také chtít, aby CUPS naslouchal na všech dostupných síťových rozhraních, takže budete mít přístup k webovému rozhraní CUPS z jiných počítačů. Najděte následující řádek.
Listen localhost:631
Změňte jej na
Port 631
CUPS tedy bude naslouchat na všech síťových rozhraních. Pak najděte následující řádky.
<Location /> Order allow,deny </Location>
Výše uvedená konfigurace umožňuje přístup k webovému rozhraní CUPS pouze z localhost. Chcete-li povolit přístup z jiných počítačů ve stejné síti, přidejte Allow @LOCAL
do konfigurace jako níže.
<Location /> Order allow,deny Allow @LOCAL </Location>
Přidejte jej také pro /admin
adresář umožňující vzdálenou správu z místní sítě.
<Location /admin> Order allow,deny Allow @LOCAL </Location>
Můžete také povolit konkrétní IP adresu takto:
<Location /> Order allow,deny Allow 192.168.0.101 </Location>
Uložte a zavřete soubor. Poté restartujte CUPS, aby se změny projevily.
sudo systemctl restart cups
Všimněte si, že pokud jste na Ubuntu povolili bránu firewall UFW, musíte klientům ve stejné síti povolit přístup k portu 631 na vašem boxu Ubuntu. Moje soukromá síť například používá síťový rozsah 192.168.0.0 ~192.168.0.255, takže spustím následující příkaz.
sudo ufw allow in from 192.168.0.0/24 to any port 631
Webové rozhraní CUPS je k dispozici na adrese https://IP-address-of-Ubuntu-box:631
. V tomto článku nepotřebujeme používat webové rozhraní, ale pokud ho chcete používat, musíte přidat svůj uživatelský účet do lpadmin
za účelem provedení změn ve webovém rozhraní CUPS.
sudo adduser your_username lpadmin
Krok 2:Nainstalujte ovladač pro vaši tiskárnu na Ubuntu
Musíte nainstalovat ovladač na Ubuntu, aby mohl rozpoznat a používat tiskárnu. Pokud máte tiskárnu HP, můžete ovladač snadno nainstalovat pomocí následujícího příkazu.
sudo apt install hplip
Doporučuji také nainstalovat printer-driver-gutenprint
balíček, který poskytuje ovladače CUPS pro tiskárny Canon, Epson, HP a kompatibilní.
sudo apt install printer-driver-gutenprint
Pokud máte jiné tiskárny, můžete ovladače najít na openprinting.org.
Po instalaci ovladače možná budete muset znovu připojit tiskárnu k USB portu vašeho počítače Ubuntu. Chcete-li otestovat, zda ovladač funguje správně, můžete vytvořit textový soubor na Ubuntu:
echo "LinuxBabe is awesome!" > file.txt
Poté spusťte následující příkaz a vytiskněte tento textový soubor z příkazového řádku.
lp file.txt
Jedná se o velmi primitivní metodu, takže se teď nebojte o kvalitu tisku.
Krok 3:Sdílejte tiskárnu CUPS prostřednictvím protokolu Bonjour/IPP
Instalace Avahi-daemon
CUPS může oznámit svou přítomnost v síti prostřednictvím protokolu mDNS (multicast DNS) a DNS-SD (DNS Service Discovery), který je také známý jako Bonjour. Chcete-li to provést, musíte nainstalovat a spustit avahi-daemon
, což je služba podobná službě Apple Bonjour, která umožňuje počítačům automaticky zjišťovat sdílená zařízení a služby v místní síti.
sudo apt install avahi-daemon
Spusťte avahi-daemon.
sudo systemctl start avahi-daemon
Povolit automatické spouštění při spouštění.
sudo systemctl enable avahi-daemon
Avahi-daemon naslouchá na portu UDP 5353. Otevřete jej ve firewallu.
sudo ufw allow 5353/udp
Tisk bez ovladače IPP
Bonjour se používá k propagaci tiskárny v místní síti. Aby spolu klienti a server CUPS komunikovali, je zapotřebí protokol IPP (Internet Printing Protocol). Výhodou IPP je, že klienti mohou používat sdílenou tiskárnu bez instalace jakéhokoli ovladače na svá vlastní zařízení. CUPS podporuje IPP ihned po vybalení, takže pro sdílení tiskárny CUPS přes IPP nemusíte dělat nic jiného.
Krok 4:Přidání tiskárny do klientských počítačů
Klienti macOS a Linux
Protože macOS a většina linuxových desktopových distribucí má nainstalovaný CUPS jako výchozí tiskový systém, jakmile povolíte sdílení tiskárny přes Bonjour/IPP na boxu Ubuntu, uživatelé macOS a Linuxu ve stejné síti mohou tiskárnu automaticky používat. Když kliknou na možnost tisku v aplikacích (textové procesory, e-mailové čtečky, editory fotografií a webové prohlížeče), tiskárna bude automaticky dostupná. Nemusí výslovně přidat tiskárnu. Je to kouzlo.
Pokud váš počítač se systémem Linux nemůže najít tiskárnu, je možné, že váš systém nemá ippfind
příkaz. Spusťte následující příkaz a nainstalujte jej do distribuce Linuxu založené na Debianu.
sudo apt install cups-ipp-utils
Na CentOS 8 spusťte následující příkaz.
sudo dnf install cups-ipptool
Poté restartujte CUPS na klientském počítači.
sudo systemctl restart cups
Windows
Windows 10 se dodává s klientem IPP. Zadejte tiskárna v levém dolním vyhledávacím panelu a otevřete Tiskárny a skenery . Poté klikněte na tlačítko Přidat tiskárnu nebo skener knoflík. Prohledá dostupné tiskárny v místní síti.
Jak můžete vidět, našla moji tiskárnu HP Deskjet. Vyberte nalezenou tiskárnu a klikněte na Přidat zařízení . Za několik okamžiků bude přidána do seznamu tiskáren.
Pokud používáte jinou verzi systému Windows, která nemůže tímto způsobem přidat tiskárnu, můžete nainstalovat služby Bonjour Print. Po instalaci spusťte průvodce tiskárnou Bonjour. Automaticky prohledá dostupné tiskárny v místní síti. Jak můžete vidět na snímku obrazovky, nalezl mou tiskárnu HP.
Klepněte na tlačítko Další a poté musíte vybrat ovladač pro tuto tiskárnu. Můžete si vybrat ovladač třídy Microsoft IPP, který je standardně nainstalován v systému.
Klepněte na tlačítko Další a tiskárna bude přidána do vašeho systému Windows.
Ruční přidání tiskárny v systému Linux
Pokud z nějakého důvodu tiskárnu nevidíte, můžete ji přidat ručně. Chcete-li přidat tiskárnu sdílenou Bonjour na stolním počítači Linux, vyhledejte v nastavení systému nebo v nabídce aplikace nástroj pro konfiguraci tiskárny. Klikněte na tlačítko Přidat tlačítko pro přidání nové tiskárny.
Poté klikněte na Síťová tiskárna a automaticky se naskenují dostupné tiskárny v místní síti. Jak můžete vidět, našla moji tiskárnu HP Deskjet. Klikněte na tlačítko Vpřed tlačítko.
Poté můžete tiskárně zadat název a popis. Jednoduše akceptuji výchozí hodnoty. Klikněte na Použít a máte hotovo.
Ruční přidání tiskárny v systému macOS
Chcete-li do systému macOS přidat tiskárnu sdílenou Bonjour, přejděte na předvolby systému -> Tiskárny a skenery . Klepnutím na tlačítko plus (+) přidejte tiskárnu.
Automaticky prohledá dostupné tiskárny v místní síti. Jak můžete vidět, našel moji tiskárnu HP Deskjet.
Klikněte na tlačítko Přidat a zobrazí se v seznamu tiskáren.
Krok 5:Sdílejte tiskárnu CUPS prostřednictvím Samby
Samba je bezplatná a open-source implementace protokolu SMB/CIFS pro Unix a Linux, která umožňuje sdílení souborů a tiskáren mezi stroji Unix/Linux a Windows v místní síti. Používá se hlavně ke sdílení souborů a tiskáren s klienty Windows.
Chcete-li nainstalovat Sambu na Ubuntu, jednoduše spusťte následující příkaz v terminálu.
sudo apt install samba samba-common-bin
Chcete-li zkontrolovat, zda služba Samba běží, zadejte následující příkazy.
systemctl status smbd systemctl status nmbd
Chcete-li spustit tyto dvě služby, zadejte následující příkazy:
sudo systemctl start smbd sudo systemctl start nmbd
Poté upravte hlavní konfigurační soubor.
sudo nano /etc/samba/smb.conf
Doporučuje se povolit spoolssd
službu při sdílení tiskárny. Díky tomu bude Samba efektivnější, když je hodně tiskových úloh. Jednoduše přidejte následující dva řádky do [global]
pro aktivaci spoolssd
služba.
rpc_server:spoolss = external rpc_daemon:spoolssd = fork
Dále přejděte na konec souboru a uvidíte [printers]
sekce. V textovém editoru Nano můžete přeskočit na konec souboru stisknutím Ctrl+W
a poté stisknutím Ctrl+V
. Najděte následující dva řádky.
browseable = no guest ok = no
Změňte je na
browseable = yes guest ok = yes
Uložte a zavřete soubor. Poté restartujte Sambu.
sudo systemctl restart smbd nmbd
Přidání sdílené tiskárny Samba v systému Windows.
Otevřete Průzkumník souborů, zadejte IP adresu počítače Ubuntu do adresního řádku, například \\192.168.0.110
. Tiskárna by nyní měla být uvedena.
Poklepáním na tiskárnu ji přidáte do systému Windows. Poté klikněte na tlačítko OK a vyberte ovladač, který chcete nainstalovat. Po instalaci ovladače bude tiskárna přidána do vašeho systému Windows.
Krok 6:Sdílejte tiskárnu CUPS s klienty iOS přes AirPrint
AirPrint umožňuje klientům iPhone, iPad a macOS tisknout přes Wi-Fi bez instalace softwaru ovladače na klientská zařízení. CUPS podporuje AirPrint, ale avahi-daemon
ve výchozím nastavení neoznamuje službu AirPrint v místní síti. Potřebujeme vytvořit .service
soubor v /etc/avahi/services/
adresář pro tiskárnu pomocí skriptu Python s následujícím příkazem. Model mé tiskárny je DeskJet 2130 series. Nahraďte jej vlastním názvem modelu.
sudo nano /etc/avahi/services/AirPrint-DeskJet-2130-series.service
Přidejte do souboru následující řádky.
<?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>
Uložte a zavřete soubor. Restartujte Avahi-daemon.
sudo systemctl restart avahi-daemon
Nyní by vaši tiskárnu měli používat klienti iOS a macOS ve stejné síti. Následující snímek obrazovky ukazuje, že můj iPhone úspěšně našel tiskárnu AirPrint.