diff --git a/roles/screensaver/files/screenlock.service b/roles/screensaver/files/screenlock.service new file mode 100644 index 0000000..e7f82f4 --- /dev/null +++ b/roles/screensaver/files/screenlock.service @@ -0,0 +1,13 @@ +[Unit] +Description=Screen lock +Before=sleep.target + +[Service] +User=%I +Type=forking +Environment=DISPLAY=:0 +ExecStart=/usr/local/bin/lock +ExecStartPost=/usr/bin/sleep 1 + +[Install] +WantedBy=sleep.target diff --git a/roles/screensaver/files/sleeplock.sh b/roles/screensaver/files/sleeplock.sh deleted file mode 100755 index ef51243..0000000 --- a/roles/screensaver/files/sleeplock.sh +++ /dev/null @@ -1,6 +0,0 @@ -#!/bin/bash -# {{ ansible_managed }} - -if [ "$1" = "post" ]; then - /usr/local/bin/lock -fi diff --git a/roles/screensaver/meta/main.yml b/roles/screensaver/meta/main.yml index ead01fd..a0729fb 100644 --- a/roles/screensaver/meta/main.yml +++ b/roles/screensaver/meta/main.yml @@ -1,4 +1,3 @@ --- dependencies: - - { role: base } - - { role: x } + - { role: systemd } diff --git a/roles/screensaver/tasks/main.yml b/roles/screensaver/tasks/main.yml index b4aec7c..f53694a 100644 --- a/roles/screensaver/tasks/main.yml +++ b/roles/screensaver/tasks/main.yml @@ -10,5 +10,10 @@ - name: Push lock script copy: src=lock.sh dest=/usr/local/bin/lock mode=0755 -- name: Push sleep lock script - copy: src=sleeplock.sh dest=/usr/lib/systemd/system-sleep/lock.sh mode=0755 +- name: Push screen lock service file + copy: src=screenlock.service dest=/etc/systemd/system/screenlock@.service + notify: + - reload systemd config + +- name: Enable screen lock service + service: name="screenlock@{{ user.name }}.service" enabled=yes