Загрузка данных


#!/bin/bash
# Антисон для Astra Linux (X11 / Fly): каждые N секунд сдвигает мышь на 1 px и обратно.
# Запуск из терминала в своей графической сессии:
#   chmod +x anti_sleep_astra_v1.0.sh && ./anti_sleep_astra_v1.0.sh [интервал_сек]
# Остановка: Ctrl+C

INTERVAL=${1:-60}

if [ -z "$DISPLAY" ]; then
    echo "Нет DISPLAY — запускайте из терминала в графической сессии." >&2
    exit 1
fi

jiggle() {
    if command -v xdotool >/dev/null 2>&1; then
        xdotool mousemove_relative -- 1 0
        sleep 0.1
        xdotool mousemove_relative -- -1 0
    else
        # Без установки пакетов: XTest через python3 + ctypes
        python3 - <<'EOF'
import ctypes, time, sys
x11 = ctypes.cdll.LoadLibrary("libX11.so.6")
xt  = ctypes.cdll.LoadLibrary("libXtst.so.6")
x11.XOpenDisplay.restype = ctypes.c_void_p
x11.XOpenDisplay.argtypes = [ctypes.c_char_p]
x11.XFlush.argtypes = [ctypes.c_void_p]
x11.XCloseDisplay.argtypes = [ctypes.c_void_p]
xt.XTestFakeRelativeMotionEvent.argtypes = [ctypes.c_void_p, ctypes.c_int, ctypes.c_int, ctypes.c_ulong]
d = x11.XOpenDisplay(None)
if not d:
    sys.exit("Не удалось открыть X-дисплей")
xt.XTestFakeRelativeMotionEvent(d, 1, 0, 0);  x11.XFlush(d)
time.sleep(0.1)
xt.XTestFakeRelativeMotionEvent(d, -1, 0, 0); x11.XFlush(d)
x11.XCloseDisplay(d)
EOF
    fi
    xset s reset 2>/dev/null   # сброс таймера хранителя экрана
}

echo "Антисон запущен, интервал ${INTERVAL} с. Ctrl+C — стоп."
while true; do
    jiggle
    echo "$(date +%H:%M:%S) сдвиг"
    sleep "$INTERVAL"
done