Printing from macOS to shared Windows Server queues with LPD and SMB

KB Home   |   Printing from macOS to shared Windows Server queues with LPD and SMB

“Help! SMB? LPD? I just want to connect my macOS devices to shared Windows Server print queues. Can you tell me when to use LPD or SMB connections, and how to configure them?”

Intro

Hey, there and thanks for getting in touch! Yes, PaperCut includes a host of features you can use to share print queues from your Windows print server to macOS users. However, in this article, we’ll tell you all you need to know about two straightforward sharing protocols, SMB and LPD, that Windows supports. Let’s jump right in.

KB Economy of Language Stats®

Reading time: 7 min 37 sec

Configuration time: 14 min 39 sec

Basic LPD and SMB specs

TraitsSameDifferentWhat’s the deal?
Support using the printer’s model-specific driverX  
Support username authenticationX  
Work well to create MDM config profilesX  
Support connections whether or not macOS workstations are members of the domainX  
Submitting a print job does not require entering a username or password XLPD sends a print job using the macOS computer’s current log-on name without a prompt. SMB requires authenticating with a username and password known to the Windows Print server either as local or domain accounts.
TCP Ports XLPD uses port 515. SMB uses port 445.
Out-of-the-box Windows server support XWindows Servers need a little TLC to support LPD print shares. Windows Servers support SMB print shares by default.
Print queuing speedumuhProtocol choice alone does not tell the whole story in relation to print speed. Other attributes affecting print speed are things like the driver, whether the target queue is physical or virtual, whether the document is color or simplex, the document file type, and what program someone used to print the job.

Okay, that’s cool, but which one should I use?

Well, dear PaperCut admin, like many things in life, it depends.

Use LPD

Use LPD when users sign into their macOS workstations with usernames known to PaperCut. In other words, if Alice Doe signs into her MacBook with the adoe username and sends a print job over LPD, PaperCut attributes that job to Alice’s PaperCut username, adoe. Use LPD if there aren’t any obstacles to using it, the main requirement being to install PaperCut’s LPD service.

Use SMB

Well, we’ll keep this simple: use SMB when you can’t use LPD. Maybe one of the limitations of using LPD at your organization is that you can’t or won’t set up the Windows print server with the PaperCut LPD service, which is totally cool. You do you. Maybe another limiting factor to using LPD connections is that people sign in to their macOS workstations with usernames unknown to PaperCut. For example, let’s say Bob Smith’s MacBook username is bsmith. On the other hand, thanks to its Active Directory user/group sync config, PaperCut thinks Bob’s username is bobsmith. Bob can’t send print jobs using LPD because PaperCut doesn’t know a thing about bsmith. In this case, you can set up a print queue with an SMB connection that will prompt Bob for a username and password the first time he sends a print job to it. The username and password Bob uses in this prompt are the domain credentials, bobsmith, known toPaperCut’s username list thanks to the server’s integration with your Active Directory domain.

Um, can you TL;DR that for me, please?

Yep.

Use LPD:

  • When users sign into their macOS workstations with usernames known to PaperCut
  • When you have no obstacles preventing the installation of the PaperCut LPD service on the Windows Print server

Use SMB:

  • When you can’t set up the Windows print server with the PaperCut LPD service

-OR-

  • When users sign in to their macOS workstations with usernames unknown to PaperCut

-AND-

  • When the PaperCut server gets its username list from the integration with your Active Directory domain

Siiick 🤙. So, how do I set up these connections?

LPD

On the Windows Server
1. First, install the PaperCut LPD service. I know, I know, you’re probably asking why can’t you use the one that ships with Windows. Well, it’s toast.
a. Browse to your print server’s PaperCut NG or PaperCut MF folder then \providers\lpd\win\.
b. Launch the pc-lpd-installer.exe executable.
2. Make sure to enable print queue sharing. Also, ensure the share name only uses alphanumeric (letters and numbers) characters. No spaces.
Setting up the queue on the macOS workstation

Note: Use any one of these options on a reference machine for MDM configuration profiles.

Using the System Prefs pane
1. Go to System Preferences > Printers and Scanners > + (plus sign)
2. Here, go to the IP tab and choose “Line Printer Daemon - LPD.”
3. Populate the Address field with the Windows print server’s IP address or FQDN.
4. Populate the Queue field with the queue’s share name.
5. Add the share name to the Name field as well.
6. Choose the appropriate model-specific driver using the Use drop-down bar. Alternatively, choose the Generic PostScript option to keep things simple for printers that don’t support advanced finishing options like stapling.
Using the CUPS web interface
1. Browse to http://localhost:631/admin. Click the Add Printer button.
2. Choose LPD/LPR Host or Printer.
3. Populate the Connection field with lpd://hostname/queue. Here, the hostname is the Windows print server’s IP address or FQDN, and queue is the queue’s share name. Click Continue.
4. Next, populate the Name and Description field with the queue’s share name. The Location field is optional. Do not enable printer sharing.
5. Choose the appropriate driver for this queue by first selecting the Make then Model. click Add Printer.
6. Finally, set the queue’s default options.
Using the lpadmin command
1. Launch Terminal, or Hyper if you’re a hipster.
2. Pass a command that looks like the one below. This example only includes the most commonly used options.
$ lpadmin -p gutencut -E -v lpd://10.1.8.153/gutencut -P /Users/employee82/Desktop/Xerox.ppd
a. -p specifies the queue’s name
b. -E enables the queue
c. -v sets the connection URL. Here, use lpd:// to designate the protocol, the Windows print server’s IP address or FQDN, and the queue’s share name.
d. -P specifies the model-specific PPD file that belongs to the printer.

Note: The humble author of this KB assumes that if you’re using the lpadmin command to add the printer, you know what you’re doing. For example, the author assumes you know that you omit options to set defaults like page size or finishing options at your peril.

SMB

On the Windows Server
1. Make sure to enable print queue sharing. Just like the LPD requirement, ensure the share name only uses alphanumeric (letters and numbers) characters. No spaces.
Setting up the queue on the macOS workstation
Using the System Prefs pane: Option 1

Note: Use option 1 for any cases, but especially so if setting up this print queue on a reference machine for configuration profiles with your MDM.

1. Go to System Preferences > Printers and Scanners > + (plus sign)
2. Right or Control-click on the space next to the Search bar and choose Customize Toolbar.
3. Drag the Advanced icon to the space above it then click Done.
4. Next, click the Toolbar’s new Advanced icon then set Type as Windows Printer via Spoolss.
5. Populate the URL field like so: smb://hostname/queue. The hostname is the Windows print server’s IP address or FQDN, and queue is the queue’s share name.
6. Populate the Name field with the queue’s share name.
7. Choose the appropriate model-specific driver with the Use drop-down bar. Alternatively, choose the Generic PostScript option to keep things simple for printers that don’t support advanced finishing options like stapling.
8. Finally, click Add and set the queue’s default options.

Authentication

macOS will ask users to supply a username and password the first time they use this print queue. Don’t forget that the username and password used in this prompt are domain credentials known to PaperCut’s username list thanks to the server’s integration with your Active Directory domain. Check the box to “Remember this password in my keychain.”

Using the System Prefs pane: Option 2

Note: One of the requisites of option 2 is that your macOS device network settings point to one of your domain’s DNS servers. You can add the DNS server IP manually, or use DHCP option 6 to automate the configuration. Also, do not use option 2 on a reference machine for MDM configuration profiles.

1. Go to System Preferences > Printers and Scanners > + (plus sign)
2. Choose Windows. Or, right/control-click, then Customize Toolbar to add the icon.
3. In the left-hand column, choose your AD Domain name.
4. In the middle column, choose your Windows print server name and enter your AD credentials.
Authentication: Don’t forget that the username and password used in this prompt are domain credentials known to the PaperCut user list thanks to the server’s integration with your Active Directory domain.
5. In the right-hand column, choose the queue name you want to add.
6. Choose the appropriate model-specific driver using the Use drop-down bar. Alternatively, choose the Generic PostScript option to keep things simple for printers that don’t support advanced finishing options like stapling.
7. Finally, click Add and set the queue’s default options.
Using the CUPS web interface
1. Browse to http://localhost:631/admin. Click the Add Printer button.
2. Choose Windows printer via spoolss.
3. Populate the Connection field with smb://hostname/queue. Here, the hostname is the Windows print server’s IP address or FQDN, and queue is the queue’s share name. Click Continue.
4. Next, populate the Name and Description field with the queue’s share name. The location field is optional. Do not enable printer sharing.
5. Choose the appropriate driver for this queue by first selecting the Make then Model. click Add Printer.
6. Finally, set the queue’s default options, click Add, and configure default options.
Using the lpadmin command
1. Launch Terminal, or iTerm if you’re a hipster.
2. Pass a command that looks like the one below. This example only includes the most commonly used options.
$ lpadmin -p gutencut -E -v smb://10.1.8.153/gutencut -P /Users/employee82/Desktop/Xerox.ppd 
a. -p specifies the queue’s name
b. -E enables the queue
c. -v sets the connection URL. Here, use smb:// to designate the protocol, the Windows print server’s IP address or FQDN, and the queue’s share name.
d. -P specifies the model-specific PPD file that belongs to the printer.

Note: Yes, the same cautionary advice applies here as it did for LPD. The humble author of this KB assumes that if you’re using the lpadmin command to add the printer, you know what you’re doing. For example, the author assumes you know that you omit options to set defaults like page size or finishing options at your peril.

Executive summary, or TL;DR

  • We learned a few principals regarding SMB and LPD protocol connections.
  • We learned user authentication is the criterium that most influences whether someone chooses to configure a queue with an SMB or LPD connection.
    • Use LPD:
      • When users sign into their macOS workstations with usernames known to PaperCut
      • When you have no obstacles preventing the installation of the PaperCut LPD service on the Windows Print server
    • Use SMB:
      • When you can’t set up the Windows print server with the PaperCut LPD service
      -OR-
      • When users sign in to their macOS workstations with usernames unknown to PaperCut
      -AND-
      • When the PaperCut server gets its username list from the integration with your Active Directory domain
  • We installed the PaperCut LPD service on the Windows print server.
  • We set up an LPD queue using System Prefs, the CUPS web interface, and terminal using lpadmin.
  • We set up an SMB queue using System Prefs, the CUPS web interface, and terminal using lpadmin.
  • We learned any LPD option works just as well to set up a reference machine for MDM profiles.
  • We learned Using the System Prefs pane: option 1 for SMB is the best choice when setting up a reference machine for MDM profiles.

Do you still have questions?

Let us know! Maybe you want to know about advanced config using the PaperCut user client with LPD or SMB. Anyway, talk nerdy to us. We love chatting about Apple, Windows, and what’s going on under the hood. Feel free to leave a comment below or visit our Support Portal for further assistance.


Categories: AppleMacOS, Troubleshooting


Keywords: Apple macOS SMB LPD Windows Printing It’s easier than it looks

Comments

Share your findings and experience with other PaperCut users. Feel free to add comments and suggestions about this Knowledge Base article. Please don't use this for support requests.

Article last modified on October 28, 2019, at 11:22 PM
Printable View   |   Article History   |   Edit Article