Как мне заменить 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. Я не уверен, что это самый простой способ сделать это, но он работает довольно хорошо.