Run i3 as a systemd user unit

This commit is contained in:
2020-12-21 17:57:18 +01:00
parent 1d12b99907
commit ab15b22832
23 changed files with 32 additions and 2 deletions

View File

@@ -1,4 +1,7 @@
[Unit] [Unit]
BindsTo=windowmanager.target
After=windowmanager.target
Wants=blueman.service Wants=blueman.service
Wants=dpms.service Wants=dpms.service
Wants=dunst.service Wants=dunst.service

View File

@@ -1,5 +1,6 @@
[Unit] [Unit]
BindsTo=autostart.target BindsTo=autostart.target
After=windowmanager.target
[Service] [Service]
ExecStart=/usr/bin/blueman-applet ExecStart=/usr/bin/blueman-applet

View File

@@ -1,5 +1,6 @@
[Unit] [Unit]
BindsTo=autostart.target BindsTo=autostart.target
After=windowmanager.target
[Service] [Service]
Type=oneshot Type=oneshot

View File

@@ -1,5 +1,6 @@
[Unit] [Unit]
BindsTo=autostart.target BindsTo=autostart.target
After=windowmanager.target
[Service] [Service]
ExecStart=/usr/bin/dunst -config %h/.config/dunstrc ExecStart=/usr/bin/dunst -config %h/.config/dunstrc

View File

@@ -1,5 +1,6 @@
[Unit] [Unit]
BindsTo=autostart.target BindsTo=autostart.target
After=windowmanager.target
[Service] [Service]
ExecStart=/usr/bin/firefox --setDefaultBrowser -P default ExecStart=/usr/bin/firefox --setDefaultBrowser -P default

View File

@@ -1,5 +1,6 @@
[Unit] [Unit]
BindsTo=autostart.target BindsTo=autostart.target
After=windowmanager.target
[Service] [Service]
Type=forking Type=forking

View File

@@ -0,0 +1,5 @@
[Service]
Type=exec
ExecStart=i3 --config %h/.i3/config
Restart=no

View File

@@ -1,5 +1,6 @@
[Unit] [Unit]
BindsTo=autostart.target BindsTo=autostart.target
After=windowmanager.target
ConditionEnvironment=MACHINE_HAS_KEEPASSX=true ConditionEnvironment=MACHINE_HAS_KEEPASSX=true
[Service] [Service]

View File

@@ -1,5 +1,6 @@
[Unit] [Unit]
BindsTo=autostart.target BindsTo=autostart.target
After=windowmanager.target
[Service] [Service]
Type=oneshot Type=oneshot

View File

@@ -1,5 +1,6 @@
[Unit] [Unit]
BindsTo=autostart.target BindsTo=autostart.target
After=windowmanager.target
ConditionEnvironment=MACHINE_TYPE=laptop ConditionEnvironment=MACHINE_TYPE=laptop

View File

@@ -1,5 +1,6 @@
[Unit] [Unit]
BindsTo=autostart.target BindsTo=autostart.target
After=windowmanager.target
ConditionEnvironment=MACHINE_HAS_NEXTCLOUD=true ConditionEnvironment=MACHINE_HAS_NEXTCLOUD=true

View File

@@ -1,5 +1,6 @@
[Unit] [Unit]
BindsTo=autostart.target BindsTo=autostart.target
After=windowmanager.target
[Service] [Service]
ExecStart=/usr/bin/nm-applet ExecStart=/usr/bin/nm-applet

View File

@@ -1,5 +1,6 @@
[Unit] [Unit]
BindsTo=autostart.target BindsTo=autostart.target
After=windowmanager.target
[Service] [Service]
ExecStart=/usr/bin/pasystray ExecStart=/usr/bin/pasystray

View File

@@ -1,5 +1,6 @@
[Unit] [Unit]
BindsTo=autostart.target BindsTo=autostart.target
After=windowmanager.target
[Service] [Service]
ExecStart=/usr/bin/redshift-gtk -c %h/.config/redshift.conf ExecStart=/usr/bin/redshift-gtk -c %h/.config/redshift.conf

View File

@@ -1,5 +1,6 @@
[Unit] [Unit]
BindsTo=autostart.target BindsTo=autostart.target
After=windowmanager.target
[Timer] [Timer]
OnCalendar=Mon..Fri 09:00:00 OnCalendar=Mon..Fri 09:00:00

View File

@@ -1,5 +1,6 @@
[Unit] [Unit]
BindsTo=autostart.target BindsTo=autostart.target
After=windowmanager.target
ConditionEnvironment=MACHINE_DEFAULT_SCREENPROFILE ConditionEnvironment=MACHINE_DEFAULT_SCREENPROFILE
[Service] [Service]

View File

@@ -1,5 +1,6 @@
[Unit] [Unit]
BindsTo=autostart.target BindsTo=autostart.target
After=windowmanager.target
[Service] [Service]
ExecStart=/usr/bin/spotify ExecStart=/usr/bin/spotify

View File

@@ -1,5 +1,6 @@
[Unit] [Unit]
BindsTo=autostart.target BindsTo=autostart.target
After=windowmanager.target
ConditionEnvironment=MACHINE_TYPE=laptop ConditionEnvironment=MACHINE_TYPE=laptop
[Service] [Service]

View File

@@ -1,5 +1,6 @@
[Unit] [Unit]
BindsTo=autostart.target BindsTo=autostart.target
After=windowmanager.target
[Timer] [Timer]
OnActiveSec=0s OnActiveSec=0s

View File

@@ -0,0 +1,3 @@
[Unit]
Requires=i3.service
After=i3.service

View File

@@ -1,5 +1,6 @@
[Unit] [Unit]
BindsTo=autostart.target BindsTo=autostart.target
After=windowmanager.target
[Service] [Service]
Type=oneshot Type=oneshot

View File

@@ -1,5 +1,6 @@
[Unit] [Unit]
BindsTo=autostart.target BindsTo=autostart.target
After=windowmanager.target
[Service] [Service]
ExecStart=/usr/bin/yubikey-touch-detector -libnotify ExecStart=/usr/bin/yubikey-touch-detector -libnotify

View File

@@ -20,13 +20,13 @@ fi
start_wm() { start_wm() {
log "starting i3" log "starting i3"
exec i3 -c "$HOME/.i3/config" >> "$LOGDIR/i3/i3.log" systemctl --user start windowmanager.target
sleep inf
# exec systemd-run --user --unit i3_user --pty --setenv=DISPLAY=${DISPLAY} i3 -c "$HOME/.i3/config" >> "$LOGDIR/i3/i3.log" # exec systemd-run --user --unit i3_user --pty --setenv=DISPLAY=${DISPLAY} i3 -c "$HOME/.i3/config" >> "$LOGDIR/i3/i3.log"
} }
autostart() { autostart() {
log "Starting systemd user target \"autostart.target\"" log "Starting systemd user target \"autostart.target\""
systemctl --user start autostart.target >>"${LOGFILE}" 2>&1
} }
exec >> "$LOGFILE" 2>&1 exec >> "$LOGFILE" 2>&1