[Unit]
Description=My Interactive Script
# Запускаемся до display manager и login prompt
Before=display-manager.service getty.target
# Блокируем запуск этих сервисов до завершения нашего
Conflicts=getty@tty1.service
After=systemd-user-sessions.service plymouth-quit-wait.service
[Service]
Type=oneshot
RemainAfterExit=yes
ExecStart=/path/to/your/script.sh
StandardInput=tty
TTYPath=/dev/tty1
TTYReset=yes
TTYVHangup=yes
# Принудительно переключаемся на tty1
ExecStartPre=/bin/chvt 1
[Install]
WantedBy=multi-user.target