Como executar a sessão normal do script do usuário depois de passar o init = MY_SCRIPT na entrada do grub

2

Eu tenho entrada no grub para iniciar meu script de configuração escrito em Python. Gostaria de dar a opção de usuário para iniciar a sessão normal após o trabalho estar concluído. Mas eu descobri que / sbin / init precisa ter PID == 1, então quando eu corro em Python:

#!/usr/bin/python
...
import subprocess
subprocess.call(["/bin/bash", "-c", "exec /sbin/init 2"])
#subprocess.call("exec /sbin/init 2", shell=True)

-it termina com:

  

init: Falha ao conectar-se ao socket / com / ubuntu / upstart: Connection   recusou

e kernel panic

Existe alguma solução para isso?

    
por user39684 30.12.2011 / 15:05

1 resposta

1

Você precisa executar exec (os.execv) init, não executá-lo como um subprocesso. Como isso: os.execv('/sbin/init', ['/sbin/init'])

    
por psusi 31.12.2011 / 18:52