Centos
在 CentOS 6 中用腳本替換 TTY
我將如何在 CentOS 6 中用自定義腳本替換 TTY。CentOS 6 使用 upstart 而不是標準的 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
這最終會在 tty1 上啟動 /root/myscript,而不是 mingetty。我不確定這是否是最簡單的方法,但效果很好。