Назад | Перейти на главную страницу

Доступ к stdin во время загрузки systemd

У меня есть сценарий, который запрашивает числовой ввод от пользователя при загрузке компьютера. На компьютере установлена ​​Fedora 16. Раньше он работал на Fedora 13, но после обновления

read INTEGER

немедленно возвращается, не улавливая никаких действий пользователя. Я попытался

read INTEGER
wait $!

но (как и ожидалось) это тоже не работает. Скрипт запускается из служебного файла systemd (см. Комментарии ниже). Это должен запускаться как root, и должен запускается до того, как пользователь входит в систему. В настоящее время он вызывает bash в качестве своего интерпретатора, но с некоторыми усилиями это можно изменить. Может ли кто-нибудь помочь вернуть этот скрипт в нормальное состояние?

Дополнительный кредит: в F13 он использовался для остановки загрузки при вводе пользователем (по желанию), но ввод не отображался при вводе пользователем. Есть ли способ добавить эту функциональность?

В качестве альтернативы я мог бы указать графический интерфейс (например, из tkinter / Python), чтобы запросить INTEGER после graphical.target нагрузки. Есть мысли о том, как я могу это сделать? Легко ли загружать вещи с окнами до загрузки рабочего стола?

Использовать systemd-ask-password command и systemd позаботятся о том, чтобы запрашивать у пользователя ввод соответствующим образом, используя текстовую или графическую подсказку.