Acessando stdin durante a inicialização do systemd

4

Eu tenho um script que solicita uma entrada numérica do usuário durante a inicialização do computador. O computador está rodando o Fedora 16. Ele usou o trabalho no Fedora 13, mas após o upgrade

read INTEGER

retorna imediatamente, sem capturar nenhuma entrada do usuário. Eu tentei

read INTEGER
wait $!

mas (previsivelmente) isso também não funciona. O script é executado a partir de um arquivo de serviço do systemd (veja os comentários abaixo). Ele deve ser executado como root, e deve ser iniciado antes de o usuário efetuar login. Ele atualmente chama bash como seu interpretador, mas com algum esforço, isso pode ser alterado. Alguém pode ajudar a devolver esse script ao normal?

Crédito extra: na F13, costumava interromper a inicialização da entrada do usuário (conforme desejado), mas a entrada não era exibida como o usuário digitava. Existe uma maneira de adicionar essa funcionalidade?

Como alternativa, eu poderia indicar uma interface gráfica (por exemplo, do tkinter / Python) para solicitar INTEGER depois de graphical.target carregar. Alguma idéia de como eu poderia fazer isso? É simples carregar coisas com o Windows antes que a área de trabalho seja carregada?

    
por Mark C. 23.01.2012 / 00:08

1 resposta

1

Use o comando systemd-ask-password e o systemd cuidará de solicitar a entrada do usuário de maneira apropriada, usando um prompt de texto ou um prompt gráfico.

    
por 23.01.2012 / 11:08

Tags