Menü schliessen
Created: December 9th 2025
Last updated: December 9th 2025
Categories: Linux
Author: Marcus Fleuti

[solved] Linux Printer Not Showing in Flatpak Applications

Why Your Printer Doesn't Show Up in Flatpak Applications

If you're running Linux and using Flatpak applications, you may have encountered a frustrating issue: your printer simply doesn't appear in the print dialog of certain applications. You know your printer works perfectly fine in native applications, but when you try to print from a Flatpak app like Brave Browser, Opera, or even LibreOffice, you only see a "Save as PDF" option or no printer at all. This is a common problem that affects many Linux users, and fortunately, it has a simple solution.

This guide will walk you through understanding why this happens and how to fix it permanently with just a few terminal commands. Whether you're a beginner Linux user or a system administrator managing multiple workstations, this solution will help you restore full printing functionality to your Flatpak applications.

Understanding the Root Cause: Flatpak Sandboxing and CUPS

What is CUPS?

CUPS (Common Unix Printing System) is the standard printing system used on Linux and Unix-like operating systems. It manages print jobs, queues, and printer drivers, acting as the intermediary between your applications and your physical or network printers. When an application wants to print something, it communicates with the CUPS service to discover available printers and send print jobs.

CUPS stores its configuration files in /etc/cups and typically runs as a system service that applications can connect to through a socket (usually located at /var/run/cups/cups.sock). For an application to detect and use printers, it needs access to both the CUPS configuration files and the CUPS socket.

How Flatpak Sandboxing Works

Flatpak is a modern application distribution system for Linux that runs applications in isolated containers or "sandboxes." This sandboxing provides several benefits: it improves security by limiting what an application can access, prevents conflicts between different application versions, and makes applications more portable across different Linux distributions.

However, this security comes at a cost: by default, Flatpak applications have very limited access to your system. They run in their own isolated environment and cannot access system resources unless explicitly granted permission. This includes access to hardware devices, network services, and system configuration files—including the CUPS printing system.

Why Some Flatpak Apps Can Print and Others Cannot

When you install a Flatpak application, the package maintainer defines a set of default permissions for that application. Some applications, like Chromium or Firefox, are packaged with printing permissions already enabled because the maintainers included the necessary CUPS socket access and filesystem permissions in the application's manifest.

Other applications, particularly those based on Chromium (like Brave Browser and Opera), or applications like LibreOffice, may not have these permissions enabled by default. This doesn't mean the applications themselves are broken—they work perfectly fine—but the Flatpak sandbox is blocking their access to CUPS, preventing them from discovering your printers.

The Solution: Granting CUPS Access to Flatpak Applications

The fix is straightforward: we need to grant Flatpak applications permission to access the CUPS configuration directory. This is done using the flatpak override command, which allows you to modify an application's permissions after installation.

Fix for Individual Applications

To grant CUPS access to a specific Flatpak application, use the following command structure:

flatpak override --user --filesystem=/etc/cups:ro APPLICATION-ID

The --filesystem=/etc/cups:ro parameter grants read-only access to the CUPS configuration directory. The :ro suffix ensures the application can read the configuration but cannot modify it, maintaining system security.

Common Flatpak Applications That Need This Fix

Here are commands for the most commonly affected applications:

Web Browsers

# Brave Browser
flatpak override --user --filesystem=/etc/cups:ro com.brave.Browser

# Opera Browser
flatpak override --user --filesystem=/etc/cups:ro com.opera.Opera

# Google Chrome
flatpak override --user --filesystem=/etc/cups:ro com.google.Chrome

# Microsoft Edge
flatpak override --user --filesystem=/etc/cups:ro com.microsoft.Edge

# Vivaldi Browser
flatpak override --user --filesystem=/etc/cups:ro com.vivaldi.Vivaldi

Office Applications

# LibreOffice
flatpak override --user --filesystem=/etc/cups:ro org.libreoffice.LibreOffice

# OnlyOffice
flatpak override --user --filesystem=/etc/cups:ro org.onlyoffice.desktopeditors

# GIMP
flatpak override --user --filesystem=/etc/cups:ro org.gimp.GIMP

# Inkscape
flatpak override --user --filesystem=/etc/cups:ro org.inkscape.Inkscape

Document Viewers and Editors

# Okular (PDF Viewer)
flatpak override --user --filesystem=/etc/cups:ro org.kde.okular

# Evince (Document Viewer)
flatpak override --user --filesystem=/etc/cups:ro org.gnome.Evince

# Scribus (Desktop Publishing)
flatpak override --user --filesystem=/etc/cups:ro net.scribus.Scribus

Applying the Fix to All Flatpak Applications at Once

If you want to grant CUPS access to all Flatpak applications on your system simultaneously, you can use the override command without specifying an application ID:

flatpak override --user --filesystem=/etc/cups:ro

This creates a global override that applies to every Flatpak application you have installed or will install in the future. This is particularly useful for system administrators managing multiple workstations or for users who frequently install new Flatpak applications and want to avoid this issue entirely.

Note that this command affects only your user account (due to the --user flag). If you want to apply this system-wide for all users, replace --user with --system:

sudo flatpak override --system --filesystem=/etc/cups:ro

Additional CUPS Socket Permission

In most cases, granting filesystem access to /etc/cups is sufficient. However, if you're still experiencing issues after applying the fix above, you may also need to ensure the CUPS socket permission is enabled. Many Flatpak applications already have this permission by default, but you can verify or enable it with:

# For a specific application
flatpak override --user --socket=cups com.brave.Browser

# For all applications
flatpak override --user --socket=cups

The --socket=cups parameter grants the application access to communicate with the CUPS printing service through its socket interface. Combined with filesystem access to the configuration directory, this ensures complete printing functionality.

Verifying the Fix

After applying the override commands, you should restart the affected applications. Simply close them completely and reopen them. Then try to print a document or web page:

  1. Open the Flatpak application you just fixed
  2. Navigate to File > Print or press Ctrl+P
  3. Check if your printers now appear in the print dialog
  4. Try sending a test print to confirm everything works

You should now see all your configured CUPS printers in the application's print dialog, just as you would in native applications.

Checking Current Permissions

If you want to verify what permissions a Flatpak application currently has, you can use the following command:

flatpak info --show-permissions APPLICATION-ID

For example:

flatpak info --show-permissions com.brave.Browser

This displays all the permissions granted to the application, including filesystem access, socket access, and other capabilities. Look for entries like sockets=cups in the [Context] section to confirm that CUPS access is enabled.

Understanding the Security Implications

You might wonder whether granting these permissions compromises the security benefits of Flatpak sandboxing. The answer is: minimally. The permissions we're granting are:

  • Read-only access to /etc/cups: This allows the application to read printer configuration but not modify it. The application cannot change your CUPS settings or add unauthorized printers.
  • CUPS socket access: This allows the application to communicate with the CUPS service to discover printers and submit print jobs, which is the intended functionality.

These are reasonable permissions for any application that needs printing functionality. The application still runs in its sandbox and cannot access other parts of your system unless explicitly permitted. You're simply giving it the minimum necessary access to fulfill its printing requirements.

When Native Packages Might Be a Better Option

While this fix solves the printing issue for Flatpak applications, it's worth noting that some users prefer to install certain applications using native package formats (.deb, .rpm, or distribution repositories) instead of Flatpak. Native packages typically don't have these sandboxing restrictions and will work with CUPS out of the box.

Consider using native packages if:

  • You frequently encounter permission issues with Flatpak applications
  • You need an application to integrate more deeply with your system
  • The application requires access to many system resources that would need multiple permission overrides

However, Flatpak offers significant advantages in terms of security, isolation, and cross-distribution compatibility, making it a preferred choice for many users once the necessary permissions are configured.

Alternative: Using Flatseal GUI

If you prefer a graphical interface over terminal commands, you can use Flatseal, a permissions manager for Flatpak applications. Flatseal provides a user-friendly way to view and modify Flatpak permissions without using the command line.

To install Flatseal:

flatpak install flathub com.github.tchx84.Flatseal

Once installed, launch Flatseal, select the application you want to modify, scroll down to the "Filesystem" section, and add /etc/cups:ro to the list of allowed paths. You can also enable the "Printing system (cups)" option in the "Socket" section.

Conclusion

The issue of printers not appearing in Flatpak applications is a common frustration for Linux users, but it's easily resolved by understanding how Flatpak sandboxing works and granting the necessary CUPS permissions. With just a single command, you can restore full printing functionality to any Flatpak application.

Whether you choose to fix individual applications as needed or apply a global override for all Flatpak apps, you now have the knowledge to manage printing permissions effectively. This solution balances security with functionality, allowing your Flatpak applications to access printers while maintaining the isolation benefits of containerized applications.

Remember that after applying these permissions, you may need to restart the affected applications for the changes to take effect. If you continue to experience issues, verify that your CUPS service is running correctly and that your printers are properly configured in your system settings.