Сценарий инициализации daemon находится в /etc/init.d/
Чтобы включить его для запуска после запуска
update-rc.d daemon defaults
Другие параметры вы найдете в man update-rc.d. 2]
Чтобы запустить его
invoke-rc.d daemon start
Для пользователей systemd:
См. Как написать сценарий запуска для systemd
И использовать для автозапуска службы.
Вы можете запустить фоновый скрипт (очень низкий сок), который приостановит работу компьютера, округленное на 10 секунд:
#!/usr/bin/env python3
import time
import subprocess
# --- set idle time below (seconds)
idle_set = 1200
# ---
def get_packets():
return int([l.strip().split()[1].replace("packets:", "") for l in \
subprocess.check_output("ifconfig").decode("utf-8").splitlines()\
if " RX " in l][0])
def get_idle():
return int(int(subprocess.check_output("xprintidle").decode("utf-8").strip())/1000)
data1 = get_packets()
t = 0
while True:
time.sleep(10)
data2 = get_packets()
if data2 - data1 > 3000:
t = 0
else:
t += 10
idletime = get_idle()
if all([idletime > idle_set, t > idle_set]):
subprocess.Popen(["systemctl", "suspend", "-i"])
data1 = data2
Если оба превышают установленное время (в начале сценария), компьютер усыпляется. [ ! d6]
sudo apt-get xprintidle
Скопируйте сценарий в пустой файл, сохраните его как set_idle.py. В разделе заголовка скрипта установите Примечание:
Этот ответ предполагает, что это будет означать, трафик через Ethernet-соединение. Если нет, функция get_packets(), возможно, нуждается в небольшом редактировании.