Выполнить сетевой скрипт при пробуждении с помощью systemd (15.04)

Я хотел бы подключить свой VPN после пробуждения.

1) Я создал сценарий у себя дома (wakeup.sh)

#! /bin/bash
(echo "Sortie de veille: lancement de wakeup le $(date '+%d/%m/%Y a %H:%M')"
sleep 30
nmcli con up id "My_id_xxxxxx"
echo "-------------------END LOG-------------------") 2>&1 | tee -a /home/guillaume/sortie_veille_auto.log

2) я создал сервис в / etc / systemd / system / с именем wakeup.service:

[Unit]
Description=Run user script after suspend
After=basic.target
After=suspend.target
After=hibernate.target

[Service]
User=guillaume
Environment=DISPLAY=:0
ExecStart=/home/guillaume/wakeup

[Install]
WantedBy=basic.target
WantedBy=suspend.target
WantedBy=hibernate.target

3) Затем я активировал его

systemctl enable wakeup.service

а также

systemctl status wakeup.service

проверять.

4) После попытки запускается скрипт, но у меня есть ошибка в журнале:

Erreur : l'activation de la connexion a échoué : Not authorized to control networking.

В чем дело? nmcli может работать с обычным пользователем.

1 ответ

Вместо того, чтобы иметь отдельный After а также WantedByпоместите их в серию как:

After=basic.target suspend.target hibernate.target
WantedBy=basic.target suspend.target hibernate.target

По крайней мере, это сработало для меня. Я не уверен, что basic.target есть, но я использую другие два успешно, как я показал.

Другие вопросы по тегам