ここでsystemdに関するすべての質問を見ましたが、答えが見つからないようです。もし逃してしまったらお詫び申し上げます。
起動時に次のスクリプトを実行したいが、起動するネットワークとGUIに依存するため、systemdが完了した後に実行する必要があるようです。クリックを許可するようにマウスパッドを設定し、VPNに接続するconnect.shスクリプトを実行しようとしています。以下のスクリプトは、手動で実行するときに実行する必要があるすべてのタスクを実行しますが、起動時に実行されない理由を生涯知ることはできません。
開始.sh:
#! /bin/sh
# /root/Scripts/startup.sh
synclient tapbutton1=1 clickfinger2=3 tapbutton2=3
sleep 2
sh /root/Scripts/connect.sh
sleep 10
connect.shの内容:
#! /bin/sh
# /root/Scripts/connect.sh
echo "disabling wifi adapter..\n"
ifconfig wlan0 down
sleep 3
macchanger -r wlan0
echo "enabling wifi adapter..\n"
ifconfig wlan0 up
sleep 3
echo "connecting to VPN..\n"
nmcli con up id vpnconnection1
sleep 3
ifconfig
echo "finished\n"
/etc/systemd/system/mystartup.service:
[Unit]
After=network.target
[Service]
ExecStart=/root/Scripts/startup.sh
[Install]
WantedBy=default.target
実行しsystemctl enable mystartup.service
て再起動しましたが、変更がまだ適用されていないため、スクリプトはまだ実行されていません。
私は何が間違っていましたか?
編集:スクリプトの場所の絶対パスを反映するようにスクリプトを更新しました。実行systemctl
して再起動しましたが、まだ機能しません。
より明確に説明するために、起動時にこれら2つのスクリプトを実行したいと思います。サービスとして登録することは私にとっては理解できませんが、私が調査したすべてが私をここに導きました。つまり、systemctl --state=failed
mystartup.serviceはリストされず、次のようservice mystartup.service status
に表示されます。Unit mystartup.service.service could not be found.