How to Add a Shared Printer Hosted on a Linux CUPS Server From Windows 11
🔍 WiseChecker

How to Add a Shared Printer Hosted on a Linux CUPS Server From Windows 11

You need to print from a Windows 11 computer to a printer physically connected to a Linux machine running CUPS. Windows 11 does not discover CUPS printers automatically using standard network discovery. This article explains how to add a shared CUPS printer to Windows 11 using the Internet Printing Protocol (IPP) and the Line Printer Daemon (LPD) protocol. You will learn the exact steps to find the printer URI on the Linux server and configure the printer in Windows 11 Settings.

Key Takeaways: Adding a CUPS Shared Printer on Windows 11

  • Settings > Bluetooth & devices > Printers & scanners > Add device > Add manually: Opens the manual printer add wizard where you enter the printer URI.
  • Linux CUPS web interface at http://linux-server-ip:631: Provides the exact printer URI (ipp:// or lpd://) needed for manual setup on Windows.
  • Windows Features > Print and Document Services > LPR Port Monitor and LPD Print Service: Enables LPD protocol support if the CUPS server uses LPD instead of IPP.

ADVERTISEMENT

How CUPS Printer Sharing Works With Windows 11

CUPS (Common Unix Printing System) is the default print server on most Linux distributions. CUPS shares printers over the network using IPP on port 631 by default. Windows 11 includes an IPP client, but it does not automatically discover CUPS printers via mDNS or Bonjour across subnets. You must manually enter the printer URI into Windows 11.

The CUPS server can also be configured to use the older LPD protocol on port 515. LPD is less secure but sometimes required for legacy printers or specific network setups. Windows 11 supports LPD only after you enable the LPR Port Monitor and LPD Print Service optional features.

Before you begin, confirm the following prerequisites:

  • Linux server IP address: Static IP recommended. Run ip a on the Linux server to find its IP.
  • CUPS web interface enabled: Accessible at http://linux-server-ip:631. If blocked by a firewall, allow TCP port 631.
  • Printer shared in CUPS: In the CUPS web interface, the printer must have “Share This Printer” checked under Administration > Modify Printer.
  • Windows 11 network type: Set to Private network in Settings > Network & internet > Ethernet or Wi-Fi.

Steps to Add a CUPS Shared Printer on Windows 11

Step 1: Find the Printer URI on the Linux CUPS Server

  1. Open the CUPS web interface
    On the Linux server, open a web browser and go to http://localhost:631. If accessing remotely, replace localhost with the server IP address, for example http://192.168.1.100:631.
  2. Navigate to the Printers tab
    Click the Printers tab at the top of the page. You will see a list of all printers managed by CUPS.
  3. Click the printer name
    Click on the printer you want to share. The printer status page opens.
  4. Copy the printer URI
    Look for the Location field near the top of the page. The URI typically starts with ipp:// or lpd://. For example: ipp://192.168.1.100:631/printers/HP-LaserJet. Write down the full URI exactly.

Step 2: Enable LPD Support on Windows 11 (If Using LPD Protocol)

If your CUPS printer URI starts with lpd://, you must enable the LPR Port Monitor and LPD Print Service on Windows 11. Skip this step if you are using an IPP URI.

  1. Open Windows Features
    Press Windows + R, type optionalfeatures, and press Enter. The Windows Features dialog opens.
  2. Expand Print and Document Services
    Scroll down and expand Print and Document Services.
  3. Enable LPR Port Monitor and LPD Print Service
    Check the boxes for LPR Port Monitor and LPD Print Service. Click OK. Windows installs the features and may prompt a restart. Restart if required.

Step 3: Add the Printer Manually in Windows 11

  1. Open Printers & scanners settings
    Press Windows + I to open Settings. Go to Bluetooth & devices > Printers & scanners.
  2. Start manual add wizard
    Click Add device. Wait a few seconds for Windows to scan for nearby printers. When the scan finishes, click Add manually below the list.
  3. Select manual entry option
    In the dialog that appears, select Add a printer using an IP address or hostname. Click Next.
  4. Choose device type and enter URI
    Set Device type to IPP Printer if your URI starts with ipp://. If using LPD, select Line Printer Daemon (LPD) protocol or TCP/IP device. Enter the full printer URI from Step 1 in the Hostname or IP address field. For IPP, you can also enter just the IP address and let Windows auto-detect the queue. Click Next.
  5. Wait for driver detection
    Windows attempts to contact the CUPS server and retrieve driver information. If a compatible driver is found, Windows installs it automatically. If Windows cannot find a driver, you will be prompted to select one from a list or provide a manufacturer driver.
  6. Choose or install the driver
    If prompted, select the printer manufacturer and model from the list. If your printer is not listed, download the Windows driver from the manufacturer website and click Have Disk to point to the driver file. Click Next.
  7. Set printer name and finish
    Enter a friendly name for the printer, for example “Linux Office Printer”. Optionally set it as the default printer. Click Next, then click Print a test page to verify the connection. Click Finish.

ADVERTISEMENT

Common Issues When Adding a CUPS Printer to Windows 11

“Windows cannot connect to the printer” or “Operation failed with error 0x00000709”

This error often means the CUPS server is not reachable or the printer URI is incorrect. Verify the Linux server IP address from Windows by opening Command Prompt and running ping 192.168.1.100 (replace with your server IP). If ping fails, check the network connection and firewall rules on both machines. On the Linux server, allow incoming TCP port 631 for IPP or port 515 for LPD. Use sudo ufw allow 631/tcp or sudo firewall-cmd --add-port=631/tcp depending on your distribution.

Also confirm the printer is shared in CUPS. In the CUPS web interface, go to the Printers tab, click the printer, and select Administration > Modify Printer. Ensure Share This Printer is checked.

“Driver is unavailable” or printer prints garbled text

Windows 11 may not have a native driver for your printer model. Install the manufacturer’s Windows driver manually. If no Windows driver exists, use the generic PostScript or PCL6 driver. In the manual add wizard, when prompted for the driver, select Generic as the manufacturer and MS Publisher Imagesetter or Generic PostScript Printer as the model. This works for PostScript-capable printers. For PCL printers, try Generic / Text Only or HP LaserJet 6P as a fallback.

Printer appears offline or jobs stay in queue

This usually indicates a network timeout or CUPS service issue. On the Linux server, restart CUPS with sudo systemctl restart cups. On Windows, open the printer queue, right-click the printer, and select See what’s printing. From the Printer menu, ensure Use Printer Offline is unchecked. Also check the CUPS error log on the server: sudo tail -f /var/log/cups/error_log while sending a print job to see specific error messages.

Item IPP Protocol LPD Protocol
Port TCP 631 TCP 515
Windows feature required None (built-in) LPR Port Monitor and LPD Print Service
URI format ipp://server:631/printers/printer-name lpd://server/printer-name
Security Supports encryption (IPPS) No encryption
Driver fallback Generic PostScript or PCL6 Generic / Text Only

After the printer is added and working, you can set it as the default printer in Settings > Bluetooth & devices > Printers & scanners. Click the printer name, then click Set as default. If you need to print from multiple Windows 11 computers to the same CUPS printer, repeat the manual add process on each machine using the same printer URI. For advanced configurations, consider setting up a dedicated print server or using the IPP Everywhere standard for driverless printing.

ADVERTISEMENT