поскольку экран в сочетании с библиотекой python-newt вызывает segfault в нашей текущей настройке, я искал программу для замены экрана. Система абсолютно минимальна и нужна только для выполнения python-скрипта, устанавливающего будущую ОС.
Я нашел dtach (http://linux.die.net/man/1/dtach ). Я мог бы запустить желаемый сценарий с помощью команды в работающем сеансе tty.
dtach -c /tmp/test /usr/local/bin/master.py
Я также мог бы подключиться к работающему сеансу и т. д. Кроме того, мне нужно запустить ut при загрузке, поскольку пользователь перед экраном должен получить возможность вводить значения, если они отсутствуют.
Я сделал следующий файл службы systemd, который находится в /etc/systemd/system/master.service.
[Unit]
Description=Job that starts the master.py
Requires=premaster.service
After=premaster.service
[Service]
Type=simple
ExecStart=/usr/bin/dtach -c /tmp/master /usr/local/bin/master.py
[Install]
WantedBy=multi-user.target
а также включил его при загрузке с помощью
systemctl enable /etc/systemd/system/master.service
premaster находится в /etc/init.d/premaster и выполняется как положено
Когда я запускаю master.service, я получаю следующую ошибку
/usr/bin/dtach: Attaching to a session requires a terminal