Aurora OS Documentation latest

Documentation › Sessions and login

What happens when you log in

The session manager: environment, language, keyboard, compositor, shell and autostart, step by step

A session is started by /usr/bin/aurora-session, Aurora's session manager. It is a short shell script; this is what it does, in order.

1. Environment

  1. Language. Reads /etc/default/locale, then your own choice from Settings in ~/.config/aurora/locale.conf. If the formats come from another language than the interface (for example English text with Italian formats), day and month names follow the interface language while numbers, units and currency keep the region's.
  2. Keyboard. Reads /etc/default/keyboard, then ~/.config/aurora/keyboard.conf, and exports the layout for the compositor (XKB_DEFAULT_LAYOUT and friends).
  3. Paths and toolkits. Sets the login PATH (including ~/.local/bin) and the variables that make apps use Wayland:
VariableValue in an Aurora session
XMODIFIERS@im=fcitx GTK_IM_MODULE=fcitx QT_IM_MODULE=fcitx SDL_IM_MODULE=fcitx
AURORA_INPUT_METHODfcitx
XDG_CURRENT_DESKTOPAurora:wlroots
XDG_SESSION_DESKTOPaurora
XDG_SESSION_TYPEwayland
MOZ_ENABLE_WAYLAND1
QT_QPA_PLATFORMwayland;xcb
QT_QPA_PLATFORMTHEMEgnome
SDL_VIDEODRIVERwayland,x11
_JAVA_AWT_WM_NONREPARENTING1
GTK_USE_PORTAL1
AURORA_COMPOSITORlabwc
AURORA_COMPOSITORlabwc
AURORA_COMPOSITORlabwc
AURORA_COMPOSITORlabwc

Apps started through D-Bus or systemd get the same values: the session hands them to dbus-update-activation-environment when it starts.

2. Graphics

/usr/libexec/aurora-render-env chooses renderers that work on this machine: the GPU when there is one, software rendering in virtual machines without 3D (and the extra settings Hyper-V's display needs).

3. The compositor

  1. Picks Wayfire or labwc (session choice, ~/.config/aurora/compositor, safe graphics, the graphics check above).
  2. On first login copies the default labwc configuration to ~/.config/labwc/, and writes the GTK stylesheet imports for the window style (aurora-look).
  3. For Wayfire, renders ~/.config/aurora/wayfire.ini and starts it, watching for an early failure (see fallback).

4. Startup programs

The compositor runs Aurora's startup script (/usr/share/aurora/labwc/autostart), which:

  1. passes the environment to D-Bus and systemd;
  2. creates the standard folders (Desktop, Documents, Downloads…) if missing;
  3. applies the display layout saved in Settings (~/.config/aurora/displays.sh);
  4. starts Aurora Shell under a watchdog: if the shell ever exits, it starts again, at most five times a minute, until you log out (its log is $XDG_RUNTIME_DIR/aurora-shell.log);
  5. starts the administrator password prompt (the polkit agent);
  6. runs aurora-autostart, which starts the apps in XDG autostart (yours in ~/.config/autostart and the system's in /etc/xdg/autostart), honoring OnlyShowIn, NotShowIn, Hidden and TryExec; manage them in Task Manager → Startup Apps or Settings → Apps;
  7. starts aurora-idle (screen off, lock and suspend on inactivity);
  8. opens the installer when you chose “Install Aurora OS”, or the Welcome app the first time you log in.

5. The shell

Aurora Shell draws every part of the desktop as Wayland layer surfaces: wallpaper and desktop icons, widgets, top bar, dock, notifications, on-screen indicators, Spotlight, overview and hot corners. It also runs the notification server, the system tray host, clipboard history, Night Light, the dynamic wallpaper, the weather, Storage Sense and screen time. Running aurora-shell again with a command talks to the running shell (see Shell commands).

Logging out

Logging out writes a marker so the watchdog doesn't restart the shell, ends the compositor, and greetd shows the login screen again.