systemd: create our own graphical-session@.target

graphical-session.target is an existing target for the system. While I
don't use several X sessions, I prefer to have each service bound to
the right display and therefore, I create my own
graphical-session@.target for this purpose.

Also, I don't like having to use `systemctl --user enable`, so I
enable everything directly in graphical-session@.target. Other
dependencies are ordered from awesome@.service. This seems good
enough.
This commit is contained in:
Vincent Bernat 2020-01-19 20:28:04 +01:00
parent ae691bb025
commit 2e9fa46f2f
13 changed files with 30 additions and 15 deletions

View file

@ -1,5 +1,5 @@
[Unit]
Description=Configure displays
Description=Configure monitors on %I
PartOf=graphical-session@%i.target
[Service]

View file

@ -1,12 +1,13 @@
[Unit]
Description=Awesome window manager
Description=Awesome window manager for %I
PartOf=graphical-session@%i.target
After=autorandr@%i.service
After=compton@%i.service
After=xsettingsd@%i.service
Before=nm-applet@%i.service
[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

View file

@ -1,5 +1,5 @@
[Unit]
Description=Compositor for X11
Description=Compositor for X11 on %I
PartOf=graphical-session@%i.target
[Service]

View file

@ -0,0 +1,14 @@
[Unit]
Description=Graphical user session for %I
StopWhenUnneeded=yes
Wants=awesome@%i.service
Wants=autorandr@%i.service
Wants=compton@%i.service
Wants=inputplug@%i.service
Wants=misc-x@%i.service
Wants=nm-applet@%i.service
Wants=policykit-agent@%i.service
Wants=redshift@%i.service
Wants=xiccd@%i.service
Wants=xsettingsd@%i.service
Wants=xss-lock@%i.service

View file

@ -1,5 +1,5 @@
[Unit]
Description=XInput event monitor
Description=XInput event monitor for %I
PartOf=graphical-session@%i.target
[Service]

View file

@ -1,5 +1,5 @@
[Unit]
Description=Miscellaneous settings for X11
Description=Miscellaneous settings for X11 on %I
PartOf=graphical-session@%i.target
[Service]

View file

@ -1,5 +1,5 @@
[Unit]
Description=Network Manager applet
Description=Network Manager applet for %I
PartOf=graphical-session@%i.target
[Service]

View file

@ -1,5 +1,5 @@
[Unit]
Description=PolicyKit authentication agent
Description=PolicyKit authentication agent on %I
PartOf=graphical-session@%i.target
[Service]

View file

@ -1,5 +1,5 @@
[Unit]
Description=Set color temperature
Description=Set color temperature on %I
PartOf=graphical-session@%i.target
[Service]

View file

@ -1,5 +1,5 @@
[Unit]
Description=X color management
Description=X color management for %I
PartOf=graphical-session@%i.target
[Service]

View file

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

View file

@ -1,5 +1,5 @@
[Unit]
Description=XSETTINGS daemon
Description=XSETTINGS daemon for %I
PartOf=graphical-session@%i.target
[Service]

View file

@ -1,5 +1,5 @@
[Unit]
Description=Manage X screen saver
Description=Manage X screen saver on %I
PartOf=graphical-session@%i.target
[Service]