GNOME-SESSION(1)

πŸ’– GNOME-SESSION(1) πŸ’–

okay bestie, pull up a chair β€” this is the GNOME-SESSION(1) page from the General Commands Manual, and we're gonna make it make sense. it's giving "your login manager's favorite coworker" energy and honestly? iconic.


✨ NAME ✨

cinnamon-session β€” Start the GNOME desktop environment

like. that's the whole vibe. it starts the GNOME desktop. slay.


🌸 SYNOPSIS 🌸

cinnamon-session [-a|--autostart=DIR] [--session=SESSION]
[--failsafe|-f] [--debug] [--whale]

πŸ¦‹ DESCRIPTION πŸ¦‹

so the cinnamon-session program starts up the GNOME desktop environment. periodt. normally you don't even run it yourself β€” your login manager does (could be mdm, xdm, or it gets launched from your X startup scripts). it'll load either your saved session, or it'll hand you a default session for the user, as defined by the system administrator (or the default GNOME installation on your system). it's basically the group chat admin of your desktop.

the default session is defined in gnome.session, which is a .desktop-like file. it gets looked for in:

  • $XDG_CONFIG_HOME/cinnamon-session/sessions
  • $XDG_CONFIG_DIRS/cinnamon-session/sessions
  • $XDG_DATA_DIRS/cinnamon-session/sessions

when it saves a session, cinnamon-session saves the currently running applications in the $XDG_CONFIG_HOME/cinnamon-session/saved-session directory. it's literally keeping receipts on what you had open. πŸ’…

also, for the record: cinnamon-session is an X11R6 session manager. it can manage GNOME applications as well as any X11R6 SM compliant application. no gatekeeping here, everyone's welcome.


πŸŽ€ OPTIONS πŸŽ€

the following options are supported:

  • --autostart=DIR β€” start all applications defined in DIR, instead of starting the applications defined in gnome.session, or via the --session option. and yes bestie, multiple --autostart options can be passed. stack 'em. πŸ”₯
  • --session=SESSION β€” use the applications defined in SESSION.session. if you don't specify this, gnome.session will be used. default queen behavior.
  • --failsafe β€” run in fail-safe mode. user-specified applications will not be started. it's giving "we're doing this the safe way, no extras."
  • --debug β€” enable debugging code. turn it on when you wanna see the drama unfold.
  • --whale β€” show the fail whale in a dialog for debugging it. not me being obsessed with a debugging whale πŸ‹πŸ˜­
psst β€” the synopsis up top also shows -a as a short form for --autostart and -f as a short form for --failsafe. iykyk.

🌈 SESSION DEFINITION 🌈

sessions are defined in .session files, which use a .desktop-like format. the keys below live in the GNOME Session group:

  • Name β€” name of the session. this can be localized. πŸ’–
  • RequiredComponents β€” list of component identifiers (desktop files) that are required by the session. the required components will always run in the session. they're the main characters, they're not optional.
  • RequiredProviders β€” list of task providers that are required by the session. a default provider for each task has to be defined with a DefaultProvider-TASK key; the provider can be overridden by required components, the saved session or autostart applications. the task providers will always run in the session.
  • DefaultProvider-TASK β€” identifier (desktop file) of the default provider for TASK. if no provider for TASK is found in the required components, the saved session and in the autostart applications, the default provider will be started. the fallback bestie. 🫢

here's an example of a session definition, copy-paste ready:

[GNOME Session]
Name=GNOME fallback
RequiredComponents=gnome-panel;metacity;gnome-settings-daemon;
RequiredProviders=notifications;
DefaultProvider-notifications=notification-daemon

the .session files are looked for in:

  • $XDG_CONFIG_HOME/cinnamon-session/sessions
  • $XDG_CONFIG_DIRS/cinnamon-session/sessions
  • $XDG_DATA_DIRS/cinnamon-session/sessions

🧚 ENVIRONMENT 🧚

cinnamon-session sets several environment variables for the use of its child processes. yes, it's setting them up for success. ✨

  • SESSION_MANAGER β€” this variable is used by session-manager aware clients to contact cinnamon-session.
  • DISPLAY β€” this variable is set to the X display being used by cinnamon-session. note that if the --display option is used this might be different from the setting of the environment variable when cinnamon-session is invoked. lowkey important, highkey a gotcha.

⭐ FILES ⭐

  • $XDG_CONFIG_HOME/config/autostart
  • $XDG_CONFIG_DIRS/config/autostart
  • /usr/share/gnome/autostart

the applications defined in those directories will be started on login. cinnamon-settings(1) can be used to easily configure them. no cap, that's the easy button. πŸŽ€

  • $XDG_CONFIG_HOME/cinnamon-session/sessions
  • $XDG_CONFIG_DIRS/cinnamon-session/sessions
  • $XDG_DATA_DIRS/cinnamon-session/sessions

these directories contain the .session files that can be used with the --session option.

  • $XDG_CONFIG_HOME/cinnamon-session/saved-session

this directory contains the list of applications of the saved session.


πŸ‘‘ SEE ALSO πŸ‘‘


and that's the whole page, bestie πŸ’œ this lil manual is brought to you by GNOME β€” GNOME-SESSION(1), General Commands Manual, section 1. go forth and session-manage, you're doing amazing sweetie πŸ’…πŸŒΈβœ¨

πŸ“¦ where this page comes from