У меня есть сценарий, который запускает мое широкополосное соединение при запуске, и я хочу сделать, это начать в резюме с приостанавливает.
Мой сценарий /usr/local/bin/start_my_connection
это содержит:
#!/bin/sh
sleep 10
nmcli nm wwan on
nmcli con up id "reber connection"`
Что я должен сделать, чтобы заставить его выполнить использование systemd
?
Существует два подхода для выбора из:
/lib/systemd/system-sleep/
каталог:Создайте другой названный сценарий 00start_my_connection
:
#!/bin/sh
if [ $1 = post ] && [ $2 = suspend ]
then /usr/local/bin/start_my_connection
fi
$1
"сообщение" на резюме/оттепели и "пред" иначе. В любом случае, $2
содержит или "приостановите", "будьте в спящем режиме", или "гибридный сон". Если Вы хотите, чтобы сценарий также работал на оттепели от спящего режима, не учесть && [ $2 = suspend ]
.
Удостоверьтесь, что этот сценарий является исполняемым файлом при помощи chmod a+x 00start_my_connection
Переместите этот сценарий в /lib/systemd/system-sleep/
использование
sudo mv 00start_my_connection /lib/systemd/system-sleep/
Создайте файл /etc/systemd/system/start_my_connection.service
:
[Unit]
Description=Run start_my_connection
After=suspend.target
#After=hibernate.target
#After=hybrid-sleep.target
[Service]
ExecStart=/usr/local/bin/start_my_connection
[Install]
WantedBy=suspend.target
#WantedBy=hibernate.target
#WantedBy=hybrid-sleep.target
Не прокомментируйте все строки, если Вы также хотите, чтобы сценарий работал на оттепели от спящего режима. Затем установите сервисный файл с:
sudo systemctl enable start_my_connection.service
Создайте файл 01myscript
в /etc/pm/sleep.d/
каталог.
Содержание того файла должно быть:
#!/bin/bash
case $1 in
thaw|resume) /usr/local/bin/start_my_connection
;;
esac
Делают тот исполняемый файл сценария: sudo chmod +x /etc/pm/sleep.d/01myscript
.
Попытка приостановить