GNU/Linux >> Znalost Linux >  >> Ubuntu

Nastavení tiskového serveru CUPS na Ubuntu (Bonjour, IPP, Samba, AirPrint)

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.


Ubuntu
  1. Jak nastavit Ubuntu/Debian LAMP Server

  2. Jak nastavit Nginx jako reverzní proxy na Ubuntu 20.04

  3. Instalovat server 18.04 bez připojení k síti?

  1. Jak nastavit a nainstalovat Squid Proxy Server na Ubuntu 18.04

  2. Jak nastavit server OpenVPN na Ubuntu 18.04

  3. Jak nastavit bloky serveru Nginx na Ubuntu 20.04

  1. Konfigurace serveru Samba v Ubuntu 14.04 LTS

  2. Instalace serveru Samba na Ubuntu 14.10

  3. Instalace serveru Samba na Ubuntu 15.10