我想在唤醒后连接我的 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
,但我成功地使用了另外两个,就像我所展示的那样。