ubuntu add printer

Installing printers on Linux is a highly variable task. Some printers get auto-detected and work without a hitch, while others can be a major hassle to install. If your printer falls into the latter category, the steps from this article should be helpful.

Adding a Local Printer

As stated, your PC will automatically set up most printers when they’re first connected. There are many ways to connect the printer, the most common of which is using the USB cable that came with the printer.

  1. Power on the printer, connect the USB-A connector to your PC, and the USB-B end to the printer.
    usb a to usb b cable
  2. You may be prompted to authenticate driver installation. After the printer is set up, print a test page to verify that it works.
    print test page ubuntu

If you’re trying to install a network printer instead, follow the steps listed below:

  1. Search ‘printer’ and open the Printers page in the control center. Click on Add Printer here.
    add printer ubuntu
  2. Select your printer and press Add.
    network printer ubuntu
  3. If it isn’t automatically detected, find the printer’s IP address from its control panel.
    printer ip address control panel
  4. Enter this address into the field at the bottom and press Add. Then, select the printer from the pop-up and press Add again.
    add printer with ip address
  5. As before, print a test page after adding the printer to verify it works.

Install Printer Drivers (HP, Epson, Brother)

The reason some printers are so easy to set up is that the print drivers are already present in the system.


For instance, HP’s Linux Imaging and Printing software (HPLIP) is included in most major Linux distros including Ubuntu. Thanks to this, HP Printers tend to be plug-and-play. 

But if the driver isn’t present, your printer won’t be detected. In such cases, you can easily install the driver with

sudo apt install hplip


Epson Inkjet drivers usually need to be installed manually. You can do this by installing the printer-driver-escpr package. Some printers may also require the lsb package to work.

sudo apt install lsb printer-driver-escpr


Brother printers are a bit more traditional. Sometimes the drivers are auto-installed, but usually, you’ll have to go to Brother’s Support & Downloads page.

You can download the Driver Install utility, or directly download the driver’s .deb package from here. After this, you’ll find tailored instructions on the final page to install the exact tool or driver that you downloaded.

For instance, I downloaded the .deb package for my DCP-J152W printer. All I needed to do next was follow the provided instructions and install this package.

sudo apt install ./dcp*.deb 

Configure Printer Settings

After adding the printer, the next step is to properly set up the printer according to your preferences. In a public setting such as a school or office, your PC will likely have access to a lot of printers thanks to network discovery.

You’ll want to pick a main printer in such scenarios. To do this, click on the settings cog next to the printer and enable the Use Printer by Default checkbox.

Similarly, if you click on Printing Options, you’ll be able to print a test page or change some basic print settings.

For advanced configuration, click on Additional Printer Settings at the bottom. The two most important sections here are Server > Settings and Printer > Properties.

advanced printer settings ubuntu

You can configure a bunch of stuff from these pages including:

  • Network sharing printers
  • Remote administration
  • Job history
  • Checking and changing printer details (description, device URI, state, etc.)
  • Managing access control (which users can print)
  • Set default printer, job, and ink-toner configs (media size and type, print quality, copies, orientation, etc.)
Anup Thapa

Senior Writer

Anup Thapa is a Linux enthusiast with an extensive background in computer hardware and networking. His goal is to effectively communicate technical concepts in a simplified form understandable by new Linux users. To this end, he mainly writes beginner-friendly tutorials and troubleshooting guides. Outside of work, he enjoys reading up on a range of topics, traveling, working out, and MOBAs.