How to Use the Command 'lpinfo' (with examples)
The lpinfo
command is a powerful tool for system administrators and users alike who need to manage printers and printer drivers on systems using the Common UNIX Printing System (CUPS). CUPS is a flexible and modular printing system that supports a wide range of printer brands and models. The lpinfo
command allows users to query information about available printers and their drivers, making it easier to set up and maintain a printing environment. Whether you’re troubleshooting an existing printer, setting up a new one, or verifying driver installations, lpinfo
offers the necessary features to handle these tasks.
Use case 1: List all the currently connected printers
Code:
lpinfo -v
Motivation:
The need to list all currently connected printers can stem from several scenarios. For instance, you might be managing a large network of printers in an office and need to quickly check which printers are active and ready for use. Alternatively, you might be troubleshooting printing issues and need to verify that a particular printer is properly connected to the system. This command provides a comprehensive overview of all printers that the CUPS system recognizes, enabling efficient management of the printing environment.
Explanation:
lpinfo
: This is the base command used to interact with the list of printers and drivers that CUPS has access to.-v
: This option specifically instructs the command to list all available printers and their connection URIs (Uniform Resource Identifiers). This information includes the method used to connect, such as USB, network, or others.
Example output:
direct usb://HP/LaserJet_Pro?serial=12345
network lpd://192.168.1.100/queue
direct hp:/usb/Photosmart_C5500_series?serial=CN1234N2KJ
network socket://192.168.1.101
Each entry displays the connection method and the printer’s URI, helping identify the printers connected directly or over a network.
Use case 2: List all the currently installed printer drivers
Code:
lpinfo -m
Motivation:
Listing all installed printer drivers is crucial when setting up new printers or upgrading existing setups. This command allows users to verify the presence of specific drivers or to explore available drivers for compatibility with various printer models. It comes handy when ensuring that every printer has the correct driver installed, thus averting potential issues with unsupported printers or missing drivers.
Explanation:
lpinfo
: The command used to interact with the CUPS printing system.-m
: This option directs the command to list all installed printer drivers, along with detailed information about each driver, including make, model, and PPD (PostScript Printer Description) file details.
Example output:
drv:///hp/hpcups.drv/hp-deskjet_3520.ppd HP Deskjet 3520 Series
drv:///hpcups.drv/hp-envy_4500.ppd HP ENVY 4500 Series
drv:///hpcups.drv/hp-officejet_8600.ppd HP Officejet Pro 8600
Each line represents a driver, providing insight into the supported printers and additional configuration details.
Use case 3: Search installed printer drivers by make and model
Code:
lpinfo --make-and-model "printer_model" -m
Motivation:
Searching for a specific printer driver by make and model is essential when preparing to set up a new printer or when troubleshooting driver-related issues. This targeted search helps quickly identify whether a compatible driver is already installed, facilitating prompt installation and configuration. It reduces the time and effort needed to manually sift through a long list of drivers, especially on systems supporting multiple makes and models.
Explanation:
lpinfo
: The main command used to retrieve information from the CUPS system.--make-and-model "printer_model"
: This argument filters the list of drivers to those matching the specified make and model. Quotation marks are used to handle spaces and ensure accurate matching.-m
: The option that specifies we are dealing with installed printer drivers.
Example output:
drv:///hpcups.drv/hp-envy_4500.ppd HP ENVY 4500 Series
The output provides precise information about the drivers corresponding to the specified make and model, ensuring a clear understanding of available drivers for that specific printer.
Conclusion:
Using the lpinfo
command effectively can greatly simplify the management of printers and drivers in a CUPS-supported environment. Whether it’s listing connected printers for inventory and troubleshooting purposes, verifying installed drivers, or conducting targeted searches to facilitate new printer setups, lpinfo
offers a suite of capabilities essential for maintaining an efficient and reliable printing infrastructure. Its versatility and informative outputs make it a vital tool in the toolkit of any administrator dealing with networked or local printing setups.