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

Замена TTY скриптом в CentOS 6

Как мне заменить TTY на собственный сценарий в CentOS 6. CentOS 6 использует выскочку вместо стандартных сценариев инициализации SysV, поэтому мне сложно понять, как все это работает.

Обычно (в сценариях инициализации SysV) я бы отредактировал / etc / inittab и заменил одну из строк mingetty своим сценарием, например:

1:2345:respawn:/root/myscript tty1

Однако с Upstart в этом файле нет соответствующих строк, поэтому я не уверен, как это сделать.

Я понял это.

Сначала я изменил /etc/init/start-ttys.conf, чтобы он был для раздела сценария:

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

Затем я создал /etc/init/myjob.conf:

stop on runlevel [012456]

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

В конечном итоге это запускает / root / myscript на tty1 вместо mingetty. Я не уверен, что это самый простой способ сделать это, но он работает довольно хорошо.