LinuxCommandLibrary

exo

Open files with default applications

TLDR

Configure the exo command-line

$ exo config
copy

Generate the exo autocompletion script for a specified shell
$ exo completion [zsh]
copy

List all of the available zones and output them as json
$ exo zone [[-O|--output-format]] [json]
copy

Quietly create a Compute instance in a specific zone (disables the non-essential command output)
$ exo compute instance create [instance_name] --zone [zone] [[-Q|--quiet]]
copy

List just the name of all of the buckets in the Organization
$ exo storage list [[-O|--output-template]] '\{\{ .Name \}\}
copy

Display help for a specific sub-command
$ exo [iam] [[-h|--help]]
copy

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)

Copied to clipboard