aboutsummaryrefslogtreecommitdiff
path: root/SystemdGraphicalSession/README.md
blob: c987c5d8bb6d71f69b866e93f797ccf3971c7818 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# Systemd Graphical Session

An experiment of using systemd/User to start and manage i3wm, xcompmgr, XDG Autostart and user programs.

graphical-session.target
  -> gui-session.target
     -> window-manager.service            # Window Manager (alias: i3.service, slice: session)
     -> compositor.service                # Compositor (alias: xcompmgr, slice: session)
     -> xdg-desktop-autostart.target      # XDG Autostart (slice: app. In fact daemons like blueman-applet should be in background slice)
     -> xrdb.service                      # xrdb merge
     -> notification-daemon.service       # libnotify daemon (alias: deadd-notification-center, slice: app)
     -> xbindkeys.service		  # Keyboard shortcuts (slice: session)

User programs (e.g. xterm, rofi and their children) are started under separate scopes. I'm not sure if that's light enough.

Environment variables are managed by `environment.d(5)`.

To start: `systemctl --user start --wait gui-session.target` (put in your `.xinitrc`).

To be continued. This configuration has flaws.

Keyboard shortcuts are managed by `xbindkeys.service`.