Это действительно зависит от вашего определения "загружен". Я полагаю, вы хотите, чтобы он запускался сразу после запуска getty. Для этого вам нужно добавить свой сервис в каталог /etc/systemd/system/getty.target.wants/
. Вы также должны убедиться, что ваш файл использует код, аналогичный другим службам в этом каталоге. Для запуска пользовательского сервиса при загрузке и завершении работы (просто подает звуковой сигнал на мою материнскую плату) я использую следующий скрипт в /etc/systemd/system/getty.target.wants/service_name.service
[Unit]
After=systemd-user-sessions.service plymouth-quit-wait.service
After=rc-local.service
Before=getty.target
IgnoreOnIsolate=yes
[Service]
ExecStart=/usr/bin/myinitscript.sh start
ExecStop=/usr/bin/myinitscript.sh stop
Type=oneshot
RemainAfterExit=true
[Install]
WantedBy=basic.target
/usr/bin/myinitscript.sh
- исполняемый файл, в начале которого стоит шебанг .
Обратите внимание, что не все будет запущено в этот момент при загрузке, но это точка, в которой пользователю будет предложено войти в систему.
Хотя для этого используются Before=
и After=
, для меня это было гораздо более понятно и действительно работает; Я не нашел вышеуказанный ответ достаточно информативным. Это также позволяет вам использовать как ExecStart=
и ExecStop=
, вместо того, чтобы ограничиваться простой подобной службой Type=simple
.