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 [OPTIONS] [URI | FILE...]
PARAMETERS
--launch category
Launch the preferred application for a specific category. Valid categories include WebBrowser, MailReader, TerminalEmulator, FileManager, and Editor.
--web-browser [URI]
Open the preferred web browser. If a URI is specified, it will be opened by the browser. If no URI, the browser is launched to its default page.
--mail-reader [URI]
Open the preferred mail reader. If a URI (e.g., mailto:) is specified, it will be opened. Otherwise, the mail reader is simply launched.
--terminal-emulator [directory]
Open the preferred terminal emulator, optionally setting the initial working directory.
--file-manager [path]
Open the preferred file manager, optionally navigating to the specified path.
--editor file
Open the specified file using the preferred text editor configured in Xfce.
--query URI | path
Query and print the preferred application (its executable path) that would be used to open the given URI or path.
--show-menu
Display the 'Open With...' menu for the given URI or file, allowing the user to select an application manually.
--new-window
Attempt to open the application in a new window, if supported by the application.
--tab
Attempt to open the application in a new tab (primarily for terminal emulators or file managers that support tabs).
--working-directory path
Set the working directory for the launched application.
--daemon
Start the exo-open daemon process. This is typically handled automatically by the Xfce session and not usually invoked directly by users.
--help
Display a help message and exit.
--version
Display version information and exit.
DESCRIPTION
The exo-open command is a utility provided by the exo library, an essential component of the Xfce desktop environment. Its primary purpose is to launch applications and open files, directories, or URIs (Uniform Resource Identifiers) using the user's preferred applications as configured within Xfce.
Unlike general-purpose tools, exo-open is deeply integrated with Xfce's settings, ensuring a consistent user experience for handling various content types, such as web links, mail addresses, and local files. It abstracts the underlying mechanisms for application invocation, providing a unified interface for Xfce applications to interact with the broader system.
CAVEATS
The exo-open command is primarily designed for the Xfce desktop environment. While it might function in other environments if exo-utils are installed, its behavior and reliance on Xfce-specific configurations (like preferred applications) may lead to unexpected results or limited functionality outside of a full Xfce session.
CONFIGURATION OF PREFERRED APPLICATIONS
exo-open respects and utilizes the preferred application settings configured through Xfce's 'Preferred Applications' panel (typically found in the xfce4-settings-manager). This allows users to easily customize which web browser, mail client, terminal, or file manager is launched by default for various actions.
MIME TYPE INTEGRATION
When opening files, exo-open relies on the system's MIME type database in conjunction with Xfce's application associations to determine the most appropriate application. This ensures that files are opened with the correct program based on their content type.
HISTORY
The exo library, which includes exo-open, is a foundational component of the Xfce desktop environment. It was developed to provide common utility functions and abstractions for Xfce applications, ensuring consistent handling of URIs, files, and preferred applications across the desktop. Its development is tied to the evolution of Xfce itself, aiming to offer a robust and integrated solution for application launching within the Xfce ecosystem.