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.
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 aon 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
- 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. - 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. - Click the printer name
Click on the printer you want to share. The printer status page opens. - Copy the printer URI
Look for the Location field near the top of the page. The URI typically starts withipp://orlpd://. 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.
- Open Windows Features
Press Windows + R, typeoptionalfeatures, and press Enter. The Windows Features dialog opens. - Expand Print and Document Services
Scroll down and expand Print and Document Services. - 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
- Open Printers & scanners settings
Press Windows + I to open Settings. Go to Bluetooth & devices > Printers & scanners. - 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. - Select manual entry option
In the dialog that appears, select Add a printer using an IP address or hostname. Click Next. - Choose device type and enter URI
Set Device type to IPP Printer if your URI starts withipp://. 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. - 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. - 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. - 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.
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.