запускай по крону и сделай, чтобы скрипт не мог запускаться повторно. это еще и поможет тебе перезапускать его, если вдруг из-за ошибки скрипт упадет. а в твоем случае, если упадет - он не запустится пока комп снова не включится.
а) написать systemd unit
б) написать init.d скрипт
в) вроде крон умеет делать запуск с условием @reboot, но тут есть баги
г) если включение = логин пользователя, то профиль-скрипт этого пользователя тоже подойдёт