systemd: tentative to manage session with systemd

To me, I think it was cleaner to have a parameter with the current
display. This way, the session is specific to the current display. It
seems BindsTo doesn't think this way.
This commit is contained in:
Vincent Bernat 2020-01-19 18:36:36 +01:00
parent d5b72851ec
commit ae691bb025
20 changed files with 132 additions and 82 deletions

View file

@ -0,0 +1,12 @@
[Unit]
Description=Configure displays
PartOf=graphical-session@%i.target
[Service]
Environment=DISPLAY=%I
ExecStart=/usr/bin/autorandr --change --default default
Type=oneshot
RemainAfterExit=false
[Install]
WantedBy=graphical-session@%i.target

12
systemd/awesome@.service Normal file
View file

@ -0,0 +1,12 @@
[Unit]
Description=Awesome window manager
PartOf=graphical-session@%i.target
[Service]
Environment=DISPLAY=%I
ExecStart=/usr/bin/awesome
ExecStopPost=/bin/systemctl --user stop graphical-session@%i.target
Restart=on-failure
[Install]
RequiredBy=xsession@%i.target

14
systemd/compton@.service Normal file
View file

@ -0,0 +1,14 @@
[Unit]
Description=Compositor for X11
PartOf=graphical-session@%i.target
[Service]
Environment=DISPLAY=%I
ExecStart=/usr/bin/compton --backend glx \
--xrender-sync \
--xrender-sync-fence \
--vsync opengl-swc \
--paint-on-overlay
[Install]
WantedBy=graphical-session@%i.target

View file

@ -0,0 +1,12 @@
[Unit]
Description=XInput event monitor
PartOf=graphical-session@%i.target
[Service]
Environment=DISPLAY=%I
ExecStartPre=/usr/bin/setxkbmap us
ExecStart=%h/bin/inputplug -0 -c %h/.config/awesome/bin/input-event
Type=forking
[Install]
WantedBy=graphical-session@%i.target

13
systemd/misc-x@.service Normal file
View file

@ -0,0 +1,13 @@
[Unit]
Description=Miscellaneous settings for X11
PartOf=graphical-session@%i.target
[Service]
Environment=DISPLAY=%I
ExecStart=/usr/bin/xset -b
ExecStart=/usr/bin/numlock on
Type=oneshot
RemainAfterExit=false
[Install]
WantedBy=graphical-session@%i.target

View file

@ -0,0 +1,10 @@
[Unit]
Description=Network Manager applet
PartOf=graphical-session@%i.target
[Service]
Environment=DISPLAY=%I
ExecStart=/usr/bin/nm-applet
[Install]
WantedBy=graphical-session@%i.target

View file

@ -0,0 +1,10 @@
[Unit]
Description=PolicyKit authentication agent
PartOf=graphical-session@%i.target
[Service]
Environment=DISPLAY=%I
ExecStart=/usr/lib/policykit-1-gnome/polkit-gnome-authentication-agent-1
[Install]
WantedBy=graphical-session@%i.target

10
systemd/redshift@.service Normal file
View file

@ -0,0 +1,10 @@
[Unit]
Description=Set color temperature
PartOf=graphical-session@%i.target
[Service]
Environment=DISPLAY=%I
ExecStart=/usr/bin/redshift -l 2.35:48.87 -t 6500:3900
[Install]
WantedBy=graphical-session@%i.target

10
systemd/xiccd@.service Normal file
View file

@ -0,0 +1,10 @@
[Unit]
Description=X color management
PartOf=graphical-session@%i.target
[Service]
Environment=DISPLAY=%I
ExecStart=/usr/bin/xiccd --edid
[Install]
WantedBy=graphical-session@%i.target

3
systemd/xsession@.target Normal file
View file

@ -0,0 +1,3 @@
[Unit]
Description=X session managed by systemd
BindsTo=graphical-session@%i.target

View file

@ -0,0 +1,10 @@
[Unit]
Description=XSETTINGS daemon
PartOf=graphical-session@%i.target
[Service]
Environment=DISPLAY=%I
ExecStart=/usr/bin/xsettingsd -c %h/.xsettingsd
[Install]
WantedBy=graphical-session@%i.target

10
systemd/xss-lock@.service Normal file
View file

@ -0,0 +1,10 @@
[Unit]
Description=Manage X screen saver
PartOf=graphical-session@%i.target
[Service]
Environment=DISPLAY=%I
ExecStart=%h/.config/awesome/bin/xss-lock start
[Install]
WantedBy=graphical-session@%i.target