Installation & Drivers

How to Install a Printer on Ubuntu 24.04 (GUI and CUPS)

Most current printers work on Ubuntu with no driver at all. Here is how to add one through Settings, by IP address, through the CUPS web interface or the terminal, and what to do for printers that still need a driver.

Ink cartridge bay of an inkjet photo printer
Photo: Jakub Żerdzicki on Unsplash
On this page
  1. Before you start
  2. Method 1: Use Ubuntu Settings
  3. Method 2: Add it by IP address
  4. Method 3: Use the CUPS web interface
  5. Method 4: Set it up from the terminal
  6. USB printers and IPP over USB
  7. When you still need a driver
  8. If the printer still will not print
  9. Sources

On Ubuntu 24.04, open Settings, choose Printers, click Add Printer and pick your printer from the list. Most printers made in the last several years support driverless printing standards such as IPP Everywhere and AirPrint, so Ubuntu's printing system, CUPS, sets them up without a download. If the printer does not appear, add it by IP address, through the CUPS web page at localhost:631, or with one terminal command. Older or specialist printers, including many label printers, still need a Linux driver, and Ubuntu's repositories carry several of them.

Before you start

  • Connect the printer first. For a network printer, finish its Wi-Fi or Ethernet setup from its own control panel or the manufacturer's phone app, and make sure it is on the same network as the Ubuntu computer. For USB, plug it in and switch it on.
  • Know its IP address. Print a network configuration page from the printer's panel. Our guide to finding a printer's IP address shows where to look on each brand.
  • Check you can administer printers. Adding printers needs an administrator account or membership of the lpadmin group. The first account created on Ubuntu Desktop is normally an administrator already.
HP Color Laser MFP on a glass side table
Mahrous Houses

Method 1: Use Ubuntu Settings

Illustration of a laptop downloading a printer driver with a progress bar, printer ready with check
  1. Open Settings from the system menu in the top-right corner or the app grid.
  2. Select Printers in the sidebar.
  3. Click Add Printer. If the button is greyed out, click Unlock and enter your password.
  4. Wait a few seconds while Ubuntu searches. Network printers that announce themselves appear by name; USB printers appear once they are switched on.
  5. Select your printer and click Add.
  6. Click the printer's menu button, open Printing Options, and print a Test Page.

Set the default paper size while you are in Printing Options. Many printers ship set to Letter in North America and A4 elsewhere, and a mismatch causes cut-off pages.

Method 2: Add it by IP address

If the printer does not appear in the list, the network may be blocking the discovery messages printers use to announce themselves. This is common on guest networks, mesh systems with client isolation and some office networks.

  1. In Settings, Printers, click Add Printer.
  2. Type the printer's IP address, for example 192.168.1.50, into the search box at the top of the dialog.
  3. Ubuntu queries that address and lists the printer, usually with a driverless option. Select it and click Add.

Reserve the printer's address in your router afterwards. If the address changes, Ubuntu, like every other system, will lose the printer.

Method 3: Use the CUPS web interface

CUPS has a browser-based admin page that offers more control than Settings, such as choosing a specific driver or sharing a printer with other computers. Ubuntu's server documentation gives its default address as localhost on port 631.

  1. Open a browser on the Ubuntu computer and go to http://localhost:631.
  2. Click Administration, then Add Printer. Sign in with your Ubuntu user name and password when asked.
  3. Choose your printer from the discovered network printers, or choose a connection type such as "Internet Printing Protocol (ipp)" and enter the printer's address.
  4. Pick the driver. For driverless printers, choose the IPP Everywhere option. For others, choose the brand and model.
  5. Set the default options and print a test page from the printer's page.

If CUPS refuses your password, your account is not in the lpadmin group. Ubuntu's documentation adds a user with sudo usermod -aG lpadmin username; log out and back in afterwards.

Method 4: Set it up from the terminal

The terminal is handy on servers, minimal installs and when you are setting up several machines. First, see what CUPS can find:

lpinfo -v

That lists connection URIs for printers CUPS can see. To create a driverless queue for a network printer, the CUPS documentation gives this form:

sudo lpadmin -p OfficePrinter -E -v ipp://192.168.1.50/ipp/print -m everywhere

Replace OfficePrinter with any name without spaces and use your printer's IP address. Then make it the default, send a test file and check the queue:

lpoptions -d OfficePrinter
lp -d OfficePrinter /usr/share/cups/data/testprint
lpstat -p -d

To set A4 or Letter as the default paper size, use lpoptions -p OfficePrinter -o media=A4 or media=Letter. If a job gets stuck, cancel -a OfficePrinter clears that printer's queue.

USB printers and IPP over USB

Illustration of a printer connected to a laptop by a USB cable, with a plug close-up

Many recent USB printers support IPP over USB, which lets them work driverlessly over a cable just as they do over the network. Ubuntu 24.04 includes the ipp-usb service for this, so these printers usually appear in Settings as soon as you plug them in. If a USB printer is not detected, try a different cable and a port directly on the computer rather than a hub, then run lpinfo -v to see whether CUPS can see it.

When you still need a driver

Driverless printing covers basic printing on most modern models, but some printers need more:

  • HP: HP publishes its own Linux driver project, HPLIP. Ubuntu includes it, and HP's developer site documents supported models and the hp-setup tool. It also adds scanning and ink level reporting for supported models.
  • Brother: Brother offers Linux drivers for many models on its support site, choose your model and Linux as the operating system. Ubuntu also packages the open-source brlaser driver for many Brother mono lasers.
  • DYMO LabelWriter: DYMO's CUPS drivers are packaged in Ubuntu as printer-driver-dymo. Install them with sudo apt install printer-driver-dymo, then add the printer and choose the matching LabelWriter model. This covers models such as the LabelWriter 450. Our DYMO LabelWriter setup guide explains label sizes and the differences between DYMO models.
  • Older inkjets: the Gutenprint drivers, packaged as printer-driver-gutenprint, support many older Canon, Epson and other inkjet models.

Download Linux drivers only from the manufacturer or Ubuntu's own repositories. Avoid third-party driver sites.

If the printer still will not print

  • Printer not found: confirm the printer and computer are on the same network and subnet, and add it by IP address. If you run a firewall on the printer side of the network, CUPS uses port 631 for IPP.
  • Jobs stuck in the queue: cancel them, then turn the printer off and on. Our guide to clearing a stuck print queue covers the same idea on Windows and Mac.
  • Prints blank or garbled pages: you may have chosen the wrong model driver. Delete the queue and add it again with the IPP Everywhere option.
  • No network at all: some printers can print directly over their own Wi-Fi Direct network; see our Wi-Fi Direct printing guide.

Scanning is separate from printing on Linux. Ubuntu's Document Scanner app can use many network all-in-ones without a driver; for HP models, HPLIP adds scanner support.

Sources

Software mentioned in this guide

Printers covered here

Frequently asked questions

Do I need to download a printer driver for Ubuntu?

Usually not. Most printers from the last several years support driverless printing such as IPP Everywhere or AirPrint, and Ubuntu sets them up automatically. Older models, some label printers and printers where you need scanning or extra features may need a driver from the manufacturer or Ubuntu's repositories.

How do I add a printer by IP address on Ubuntu?

Open Settings, choose Printers and click Add Printer, then type the printer's IP address into the search box. Ubuntu queries the address and lists the printer. In the terminal, use lpadmin with an ipp:// address and the -m everywhere option.

What is localhost:631?

It is the web interface of CUPS, the printing system Ubuntu uses. Open http://localhost:631 in a browser on the same computer to add printers, choose drivers, manage queues and share printers. You sign in with an account that is in the lpadmin group.

How do I install a DYMO LabelWriter on Ubuntu?

Install DYMO's CUPS drivers with sudo apt install printer-driver-dymo, connect the LabelWriter by USB, then add it in Settings or the CUPS web page and choose the matching LabelWriter model. Set the correct label size as the default paper size.

PrinterSupport.io Editorial Team

Guides credited to the PrinterSupport.io Editorial Team are researched from the manufacturers' own support documentation and our editorial policy, and updated when menus, apps or policies change. Corrections go to help@printersupport.io.

Questions & comments (0)

No comments yet. Describe your printer model, operating system and the exact message you see; comments appear after review.

Ask about this page

Your comment appears after our team approves it. Or sign in to post faster.

Still stuck?

Let a printer specialist fix it with you, remotely

Share your screen, we diagnose the driver, Wi-Fi or firmware problem and fix it while you watch. One affordable annual plan covers every printer in your home or office.