В дополнение к тому, что TokyoMEWS нашли сами по себе ...
Видимо, если ваш скрипт запускает что-то еще, ему нужно "Type = forking"
(что не совсем правильно - Type=forking
становится необходимым только в том случае, если ваш сценарий завершается во время работы его дочерних элементов )
... другие возможные проблемы:
Я предполагаю, что под «отображением на экране» вы подразумевали, что скрипт просто что-то пишет в стандартный вывод. Это не выводится на экран во время загрузки - скорее, все данные из stdout службы отправляются в журнал (или в системный журнал в зависимости от вашей версии systemd).
Если же на самом деле попытка записи на экране (например, с помощью
echo Hi >/dev/tty1
), то очень вероятно, что выход скрипта исчезает, когда agetty очищает экран перед показом входа подсказкам. (Чтобы избежать этого, вам придется заказать устройствоAfter=getty@tty1.service
).Чтобы что-то записать в файл, вам нужно смонтировать файловую систему для чтения-записи. Для этого,
After=local-fs.target
возможно, потребуется, в противном случае устройство может быть запущено слишком рано. Но это зависит от конкретной конфигурации ОС.