LinuxCommandLibrary

cinnamon-launcher

Launch Cinnamon applications and settings

SYNOPSIS

cinnamon-launcher [--desktop=FILE] [--profile=PROFILE] [--wait] [--replace] [--to-run=EXEC] [--window-class=CLASS] [ARGS...]

PARAMETERS

--desktop=FILE
    Path to the .desktop file to launch

--profile=PROFILE
    Session profile name (default: default)

--wait
    Wait for launched application to exit

--replace
    Replace any existing instance of the application

--to-run=EXEC
    Direct Exec line from desktop file (bypasses parsing)

--window-class=CLASS
    Override window class name for WM

DESCRIPTION

cinnamon-launcher is a command-line utility integral to the Cinnamon desktop environment, primarily used by the panel's application launcher applet to execute applications defined in .desktop files. It handles critical tasks such as parsing desktop entries, setting appropriate environment variables (like DESKTOP_STARTUP_ID for startup notifications), assigning window classes for window manager integration, and supporting session profiles. This ensures seamless app launching with proper icon display, categories, and actions as specified in the freedesktop.org standards-compliant .desktop format.

Unlike generic exec tools, cinnamon-launcher integrates deeply with Cinnamon's MATE-forked architecture, providing features like waiting for app exit (useful for scripts) and replacing running instances. It's invoked indirectly via the panel but can be used standalone for scripting or debugging launch issues. For example, it resolves Exec lines with placeholders (%u, %f) and passes arguments correctly.

Part of the cinnamon package ecosystem, it's lightweight, D-Bus aware for activation, and respects Cinnamon's theming and settings daemon (cinnamon-settings-daemon). Developers and users troubleshooting launchers appreciate its verbosity options for logging.

CAVEATS

Primarily for internal Cinnamon use; manual invocation requires valid .desktop paths. Not all Exec modifiers (%i, %c) fully supported without panel context.
Incompatible with non-Cinnamon DEs.

EXAMPLES

cinnamon-launcher --desktop=/usr/share/applications/firefox.desktop
Launches Firefox.

cinnamon-launcher --desktop=~/.local/share/applications/myapp.desktop --wait arg1 arg2
Launches with args and waits.

EXIT CODES

0: Success
1: Parse/launch failure
2: App exited non-zero

HISTORY

Introduced in Cinnamon 2.0 (2013) by Linux Mint team as evolution from GNOME/MATE launchers. Enhanced in 3.x+ for better Wayland prep and profile support. Actively maintained in Linux Mint releases.

SEE ALSO

Copied to clipboard