Substituindo o TTY por um script no CentOS 6

1

Como eu iria substituir um TTY por um script personalizado no CentOS 6. O CentOS 6 usa o upstart em vez dos scripts de init padrão do SysV, então estou tendo dificuldades em descobrir como tudo funciona.

Normalmente (em scripts de init do SysV), eu edito o / etc / inittab e substituo uma das linhas da mingetty pelo meu script, assim:

1:2345:respawn:/root/myscript tty1

No entanto, com o Upstart, esse arquivo não possui as linhas relevantes, então não tenho certeza de como fazer isso.

    
por devicenull 20.10.2011 / 16:17

1 resposta

5

Eu descobri isso.

Primeiro eu modifiquei o /etc/init/start-ttys.conf para ter isso na seção de script:

script
    . /etc/sysconfig/init
    for tty in $(echo $ACTIVE_CONSOLES) ; do
          [ "$RUNLEVEL" = "5" -a "$tty" = "$X_TTY" ] && continue
            if [ "$tty" == "/dev/tty1" ]; then
                    initctl start myjob TTY=$tty
                    continue
            fi
            initctl start tty TTY=$tty
    done
end script

Eu então criei o /etc/init/myjob.conf:

stop on runlevel [012456]

respawn
exec /usr/bin/openvt -c 1 -f -e /root/myscript

Isso basicamente inicia / root / myscript em tty1, ao invés de mingetty. Não tenho certeza se essa é a maneira mais simples de fazê-lo, mas funciona muito bem.

    
por 20.10.2011 / 16:56