exo
Open files with default applications
TLDR
Configure the exo command-line
Generate the exo autocompletion script for a specified shell
List all of the available zones and output them as json
Quietly create a Compute instance in a specific zone (disables the non-essential command output)
List just the name of all of the buckets in the Organization
Display help for a specific sub-command
SYNOPSIS
exo {open|preferred-applications|desktop-item-edit|mail-reader|web-browser} [OPTION...] [FILE|URI...]
PARAMETERS
-h, --help
Show help for the command and exit
-V, --version
Print version information and exit
open
Open files or URIs with associated applications
--launch
Launch preferred app for category without URI (e.g., for open)
--desktop-file=FILE
Launch specific .desktop file (for open)
preferred-applications
GUI to view/edit default applications by category
--category=ID
Show preferences for specific category (e.g., 'WebBrowser')
desktop-item-edit [FILE]
Launch GUI editor for .desktop file
mail-reader
Launch preferred mail reader
web-browser
Launch preferred web browser
DESCRIPTION
exo is a collection of command-line utilities from the XFCE desktop environment's exo package. It provides tools for opening files and URIs with preferred applications, managing default application preferences, and editing desktop files. The primary subcommands include exo-open, which functions similarly to xdg-open but integrates deeply with XFCE's settings; exo-preferred-applications for viewing and configuring default apps for categories like web browser or mail reader; exo-desktop-item-edit for graphically editing .desktop files; and specialized launchers like exo-mail-reader and exo-web-browser.
Designed for lightweight desktop use, exo respects XFCE's preferred applications database, ensuring consistent behavior across the desktop. It's especially useful in scripts or terminals for automating file opening without GUI menus. While portable to other environments via dependencies, full functionality requires XFCE libraries like libexo. Users appreciate its simplicity over heavier alternatives.
CAVEATS
XFCE-specific; requires libexo and exo package. Limited functionality outside XFCE DE. Subcommands must be specified explicitly.
EXAMPLES
exo-open file.pdf
exo-open https://example.com
exo-preferred-applications
exo-desktop-item-edit myapp.desktop
EXIT CODES
0 on success; 1 on error (e.g., no preferred app found); 2 for invalid args.
HISTORY
Introduced in XFCE 4.4 (2006) as part of exo package by XFCE developers. Evolved with XFCE releases; current version (4.18+) supports modern MIME types and Flatpak integration.
SEE ALSO
xdg-open(1), gvfs-open(1), xfce4-appfinder(1), gtk-launch(1)


