使用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 / named 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可以与普通用户一起工作。

而不是单独的AfterWantedBy ,将它们放在如下系列中:

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

至少那对我有用。 我不确定basic.target是什么,但我成功地使用了其他两个,就像我已经展示过的那样。