Pre

What is LPR Printing and Why It Remains Relevant

LPR Printing, short for Line Printer Remote printing, is a venerable networking protocol that has stood the test of time. It originated in UNIX environments to submit print jobs to a remote printer over a network, using a simple, text-based protocol. Today, many organisations still rely on LPR printing (often alongside IPP or native printer languages) because of its straightforward model, wide compatibility, and the ease with which legacy devices can be integrated into modern networks. When people refer to the practice of LPR printing, they are typically talking about sending print jobs to a print server that speaks the LPD protocol, and then having the server spool and forward those jobs to the designated printer queue. This article explores what LPR printing is, how it works, and how to implement and troubleshoot it effectively in contemporary IT environments.

How LPR Printing Works: Core Components and the Flow of a Job

In practical terms, LPR printing forms a three-layer model: the client side (your workstation or application), the print server (the LPD-compatible queue), and the printer device. The beauty of this approach is its simplicity and its decoupling of end-user work from printer hardware. It also supports multi-user environments well because the server can apply access controls and quotas before sending work to the printer.

LPR Printing vs. Other Printing Protocols: Choosing the Right Tool for the Job

While LPR printing remains common in many networks, modern infrastructure often complements it with other protocols such as IPP (Internet Printing Protocol), Windows Print Services, and vendor-specific languages. Here are some key comparisons to help guide decisions:

For many organisations, LPR printing is part of a hybrid strategy: legacy devices continue to use LPD queues, while new printers and clients move toward IPP for enhanced security and control. Balancing these approaches enables smoother migrations without disrupting daily print tasks.

Planning Your LPR Printing Deployment: Principles for a Smooth Rollout

Before you implement LPR printing in a production environment, a few planning steps help ensure reliability and ease of management:

Setting Up LPR Printing on Linux and UNIX: A Practical Path

This section outlines a pragmatic approach to deploying LPR printing using a modern Linux environment with CUPS, which provides both IPP printing and LPD-compatible interfaces. The steps focus on enabling LPR-style workflows while retaining the advantages of a centralised print service.

Using CUPS with LPD Compatibility

CUPS (Common UNIX Printing System) is the de facto standard in many Linux and UNIX-like environments. It supports IPP for modern printing but also includes helpers and compatibility layers for LPR/LPD-based workflows. A typical setup involves installing CUPS and the LPR/LPD client utilities, configuring at least one printer queue, and ensuring the server is reachable from clients over the network.

  1. Install the CUPS server and client utilities, which provide the modern printing framework and the LPR-compatible commands. Example commands (adjust for your distribution):
  2. Debian/Ubuntu: sudo apt-get update && sudo apt-get install cups cups-client
  3. RHEL/CentOS/Fedora: sudo dnf install cups (or yum on older systems)
  4. sudo systemctl enable --now cups
  5. Ensure the LPR command suite is available (often via package names such as lpr or cups-client, depending on the distribution).
  6. Access the CUPS web interface at http://localhost:631 or use lpadmin to create an LPD-compatible queue. Example command for an LPD-style URL (adjust host, queue name, and options as needed):
  7. sudo lpadmin -p OfficePrinter-LPD -E -v lpd://192.168.1.50/Queue1 -m everywhere

After this configuration, you can manage the queue via CUPS or with the standard LPR client tools. Printing a test page helps confirm the path from client to queue to printer.

Alternative: LPRng and BSD-style LPD

Some environments still use LPRng or BSD-style LPD for advanced queue features and filtering capabilities. These systems may run as standalone daemons separate from CUPS, though many administrators integrate them as backends to CUPS for compatibility. If you choose this route, ensure proper configuration of the daemon (often lpd or lprng) and update firewall and SELinux/AppArmor policies accordingly.

Windows Clients and LPR Printing

Windows machines can participate in LPR printing by enabling LPR Port Monitor or installing a compatibility stack. Steps broadly include:

With Windows clients, LPR printing may be useful on mixed-OS networks, especially when legacy printers or departmental devices require LPD-style queues while other devices use IPP or native Windows printing.

Configuring a Practical LPR Queue: A Step-by-Step Example

Suppose you have a printer at 192.168.1.50 that accepts LPD queues. You want to create an LPD-compatible queue on your Linux server and publish it for client use. Here is a practical approach:

  1. Ensure the printer supports LPD and that the queue name (e.g., Queue1) is known from the printer’s configuration documentation.
  2. On the Linux server, create an LPD-compatible queue via CUPS. Example:
  3. sudo lpadmin -p OfficePrinter-LPD -E -v lpd://192.168.1.50/Queue1 -m raw
  4. Set the queue as the default or assign a user-friendly alias for easier client access:
  5. sudo lpoptions -d OfficePrinter-LPD
  6. Test by sending a sample document:
  7. echo "Test page" | lpr -P OfficePrinter-LPD
  8. Monitor the queue using:
  9. lpq -P OfficePrinter-LPD

If the printer is not immediately responsive, verify network reachability, port 515 (for LPD) or 631 (for IPP) in your firewall rules, and ensure the printer’s own reception queue is active and online.

Sending Print Jobs: Commands You’ll Use Regularly

LPR printing leverages a small set of straightforward commands, which makes it accessible for scripting and automation. The core tools include lpr, lp, lpq, and lprm. Here’s how they’re commonly used:

Using these commands regularly helps you manage queues without needing the full graphical print management interface, which is particularly handy in remote administration or script-driven environments.

Monitoring and Troubleshooting LPR Printing: Common Scenarios

Like any network service, LPR printing can encounter hiccups. Here are common scenarios and how to approach them:

Security Considerations and Best Practices for LPR Printing

Security for LPR printing revolves around protecting print queues and the data transmitted between clients and the print server. Consider the following best practices:

The Future of LPR Printing: Staying Compatible Without Compromising Security

As organisations evolve, the role of LPR printing tends to shift toward compatibility and migration planning. The practical approach is to retain LPR printing for legacy devices while expanding IPP support for modern printers and cloud-based print services. This hybrid model helps preserve existing workflows, supports cross-platform environments, and reduces the risk of disruption during migration. If you’re architecting a new network, you may opt for IPP as the default path and reserve LPR printing for legacy devices that do not yet support IPP. Regularly review your print topology to identify queues that could transition to IPP or be decommissioned altogether, freeing up management overhead and improving security posture.

Best Practices for Managing LPR Printing at Scale

Common Commands at a Glance: Quick Reference for LPR Printing

Keep this handy quick reference for day-to-day LPR printing tasks:

Example Configurations: A Concrete Scenario

Imagine a mid-sized office with a central print server, a mix of legacy LPD-compatible printers, and newer IPP-enabled devices. You want to expose a reliable LPR queue for department A while enabling IPP for department B. A practical configuration approach could be:

Case in Point: A Practical Snippet for LPR Printing via lpadmin

Here is a concrete, deployable example that demonstrates how you might add an LPD-style queue on a CUPS-enabled system. Adapt the host address and queue name to your environment:

sudo lpadmin -p OfficePrinter-LPD -E -v lpd://192.168.1.50/Queue1 -m everywhere
sudo lpoptions -d OfficePrinter-LPD

Once configured, you can start submitting jobs using lpr and monitor with lpq. If you need to remove a problematic job, use lprm with the job identifier.

Conclusion: LPR Printing in a Modern Context

LPR Printing remains a dependable and well-understood approach for networked printing, especially where legacy devices or cross-platform workgroups are involved. Its simplicity—coupled with the robust, server-centric model of LPD queues—continues to deliver reliable results in many environments. For organisations that value straightforward administration and broad compatibility, LPR printing is a practical choice. At the same time, for those prioritising advanced security, granular access control, and rich device management features, exploring IPP-based options and hybrid deployments can offer substantial benefits. By planning thoughtfully, implementing carefully, and monitoring proactively, you can maintain a stable LPR printing footprint while embracing modern printing capabilities where they matter most.