web-dev-qa-db-ja.com

起動時に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) wakeup.serviceという名前のサービスを/ etc/systemd/system /に作成しました:

[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

その後、私はそれをアクティブにしました

systemctl enable wakeup.service

そして

systemctl status wakeup.service

検証します。

4)試行後、スクリプトが起動しますが、ログに次のエラーが記録されています。

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

どうしましたか ? nmcliは通常のユーザーで使用できます。

4
Guillaume

AfterWantedByを別々に持つ代わりに、次のようなシリーズに入れます。

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

少なくともそれは私のために働いた。 basic.targetが何であるかはわかりませんが、他の2つは上に示したように正常に使用します。

1
oregonjohn