Systemd で起動スクリプトを実行できません。

Systemd で起動スクリプトを実行できません。

ここで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=failedmystartup.serviceはリストされず、次のようservice mystartup.service statusに表示されます。Unit mystartup.service.service could not be found.

答え1

これは実際にはシステムサービスではありません...

マウスパッドの設定は実行中のXによって異なり、そのセッション内で完了する必要があります。

これを設定する正しい方法は、X構成の一部として構成することです。

バラよりここ構成方法

VPN接続に関しては、接続を制御し、ネットワークが稼働するタイミングを知っているNetworkManagerでそれを設定する必要があります。

バラよりここネットワークの起動時にVPNを起動するNetworkManagerにスケジューラスクリプトを接続する方法を学びます。

関連情報