This document discusses several ways to configure printer sharing.
A “server” is any machine that communicates directly to a printer. A “client” is any machine that sends print jobs to a server for final printing. Clients can also be servers if they communicate directly with any printers of their own.
By default, CUPS uses the Internet Printing Protocol (IPP) to send jobs from a client to a server. When printing to legacy print servers you may also use the Line Printer Daemon (LPD) protocol when printing to older UNIX-based servers or Server Message Block (SMB) when printing to Windows® servers.
Clients can automatically discover and access shared printers via DNS Service Discovery (DNS-SD a.k.a. Bonjour®). SMB browsing can also be used to manually discover and access shared printers when Samba is installed.
Configuring the Server
You must enable printer sharing on the server before clients can print through it. The simplest way to do this is to use the cupsctl(8) command on the server:
By default, the above command will allow printing from other clients on the same subnet as your server. To allow printing from any subnet, use the following command instead:
cupsctl --share-printers --remote-any