Contents
Linux uses CUPS (Common Unix Printing System) for all printing, which gives you powerful control over duplex settings. The tricky part is finding those settings, they're buried in different places depending on whether you're printing from a PDF viewer, LibreOffice, Firefox, or the command line. This guide covers all of them.
Method 1: Configure Default Duplex in CUPS
Setting duplex at the CUPS level means it applies to all print jobs from any application, a handy default for heavy duplex users.
Step 1. Open CUPS admin interface
Open a browser and navigate to http://localhost:631. Click Printers to see installed printers.
Step 2. Open printer settings
Click your printer name, then click Set Default Options from the Administration dropdown.
Step 3. Find duplex/sides setting
Look for Sides, Duplex, or Two-Sided Printing. Set it to Two-Sided-Long-Edge (for portrait/standard documents) or Two-Sided-Short-Edge (for landscape).
Step 4. Save and test
Click Set Default Options to save. Print a test document from any application, duplex should now be enabled by default.
Method 2: Evince (GNOME Document Viewer)
Evince is the default PDF viewer on Ubuntu and most GNOME-based distros:
- Open your PDF in Evince
- Press Ctrl+P or go to File → Print
- In the print dialog, click the Properties button next to the printer name
- Find the Page Setup or Duplex tab and set Two-sided printing to Long-edge or Short-edge
- Click OK and Print
Method 3: LibreOffice Writer / Impress
LibreOffice has its own print dialog on Linux:
- Press Ctrl+P to open the print dialog
- Click Properties next to the printer name
- Under the General or Device tab, find Duplex and set it to Long edge (Book) or Short edge (Tablet)
- Alternatively, look under the Page Layout tab for a "Brochure" mode which auto-handles duplex booklets
Method 4: Firefox
In Firefox on Linux, the print dialog may show a simplified view:
- Press Ctrl+P
- Click Print using the system dialog at the bottom of the Firefox print preview
- In the system CUPS dialog that opens, navigate to the Job Options or Duplex section
- Enable two-sided printing and click Print
Method 5: Command Line (lpr / lp)
For scripting or headless use, Linux lets you duplex print from the terminal:
Using lpr
lpr -P PrinterName -o sides=two-sided-long-edge document.pdf
Replace PrinterName with your actual printer name (use lpstat -p to list printers).
Using lp
lp -d PrinterName -o sides=two-sided-long-edge document.pdf
Other useful duplex options
sides=two-sided-short-edge, for landscape / flip-up bindingnumber-up=2, print 2 pages per sideoutputorder=reverse, reverse page order for face-down trays
Troubleshooting Linux Duplex Printing
Duplex option not showing in any application
Check if your printer's PPD (PostScript Printer Description) file declares duplex capability. Run: grep -i duplex /etc/cups/ppd/YourPrinter.ppd. If nothing returns, your printer's Linux driver may not expose duplex, you'll need to use manual duplex or install an updated driver via the manufacturer's website or apt install printer-driver-*.
Pages printing upside-down on back
You have the binding edge set incorrectly. Switch from two-sided-long-edge to two-sided-short-edge (or vice versa) and reprint.
Manual duplex needed, which side to flip?
Use DuplexReady in Firefox or Chrome on Linux. It runs as a web app, detects your printer's output type, and reorders the PDF for correct manual duplex printing.
Need duplex printing on Linux without the terminal?
DuplexReady runs in any Linux browser, no install, no commands needed.
Try DuplexReady FreeFAQ
Run lpoptions -p YourPrinter -l | grep -i duplex in the terminal. If you see duplex options listed, your printer supports it via CUPS. If no results appear, duplex is not in the driver/PPD, either use manual duplex or find an updated driver from your printer manufacturer's Linux support page.
Yes. Use the CUPS admin UI at localhost:631 or run: lpoptions -d YourPrinter -o sides=two-sided-long-edge. This sets the system-wide default. Individual applications can still override this per-job.
Yes. DuplexReady is browser-based and works on any Linux distribution running Firefox, Chrome, or Chromium. No installation, no dependencies, no command-line needed.