使用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可以与普通用户一起工作。
而不是单独的After
和WantedBy
,将它们放在如下系列中:
After=basic.target suspend.target hibernate.target WantedBy=basic.target suspend.target hibernate.target
至少那对我有用。 我不确定basic.target
是什么,但我成功地使用了其他两个,就像我已经展示过的那样。