cinnamon-session
Start the Cinnamon desktop environment
SYNOPSIS
cinnamon-session [OPTIONS]
PARAMETERS
--session=SESSION_NAME, -s SESSION_NAME
Specifies a particular session to load, allowing for different desktop configurations to be started.
--debug
Enables debug output, providing verbose information about the session startup and management process, which is useful for troubleshooting.
--systemd-integration
Enables or disables integration with systemd, affecting how processes are managed within the user's session.
--version
Displays the version of cinnamon-session and exits.
--help
Shows a summary of available command-line options.
DESCRIPTION
cinnamon-session is the core session manager responsible for starting, managing, and ending the Cinnamon desktop environment. It's typically the first program launched by the display manager (such as LightDM, GDM, or SDDM) after a user logs in, initiating the full graphical desktop experience. Its primary role involves executing all necessary applications and components that constitute the Cinnamon desktop, including the window manager (Muffin), the panel, the desktop background, applets, and various background services. cinnamon-session ensures that these components are started in the correct order, monitors their status, and handles the graceful termination of applications during logout, shutdown, or reboot sequences. By orchestrating the launch and lifecycle of the desktop environment's processes, it provides a cohesive and stable user experience. It integrates with XDG Autostart specifications to launch user-defined applications and services upon login.
CAVEATS
Users generally should not launch cinnamon-session directly from the command line, as it is typically started by a display manager or startx. Manually launching it might lead to unexpected behavior or a broken session if an X server is not already running or other critical session components are not correctly managed.
Its proper functioning relies heavily on well-configured XDG Autostart .desktop files located in system-wide and user-specific autostart directories.
Problems with cinnamon-session can prevent the entire desktop environment from starting or cause unexpected shutdowns. The exact behavior and available options might vary slightly between different Cinnamon versions and Linux distributions.
XDG AUTOSTART INTEGRATION
cinnamon-session extensively uses the XDG Autostart specification to automatically launch applications and services configured for the user's session. These configurations are typically found in .desktop files in system-wide directories (e.g., /etc/xdg/autostart) and user-specific directories (e.g., ~/.config/autostart).
D-BUS COMMUNICATION
It communicates with various desktop components and services primarily through D-Bus, an inter-process communication system. This enables dynamic management of the session, including handling power management events, application restarts, and session state changes.
SESSION MANAGEMENT PROTOCOL (XSMP)
cinnamon-session implements the X Session Management Protocol (XSMP) to manage applications that comply with this standard, allowing them to save and restore their state across sessions, contributing to a more seamless user experience.
HISTORY
cinnamon-session originates from the gnome-session project. When GNOME 3 introduced its new Shell interface, Linux Mint developers created Cinnamon as a fork of GNOME 3 technologies, aiming to provide a more traditional desktop experience. Consequently, gnome-session was forked and adapted to manage the Cinnamon desktop components, becoming cinnamon-session. This fork allowed Cinnamon to maintain its distinct desktop environment while leveraging the robust session management capabilities inherited from GNOME. Its development is tied to the evolution of the Cinnamon desktop environment by the Linux Mint team.
SEE ALSO
gnome-session(1), lightdm(1), gdm(1), startx(1), systemd(1), X(7), cinnamon(1)