我运行一些虚拟机,其中一些虚拟机专用于多项任务。例如,假设一台机器运行 samba 和 ftp 服务,另一台机器运行 Apache 和一些数据库。
现在我想做的是在启动时运行几个程序来显示状态,这样当我达到虚拟机输出的峰值时,我可以轻松地看到发生了什么。
假设我想将屏幕分成三部分,这样我就可以运行“ftptop”和“watch smbstatus”,这样我就可以始终看到正在发生的事情 + 一台机器上的登录提示。在另一台机器上,我可能想运行“apachetop”和“htop”+ 登录提示。
我需要将终端分成几个部分才能同时运行所有程序,据我所知,screen 或 tmux 是可行的方法,但我不知道如何正确设置它。
编辑:如果这有点不清楚,我希望每次启动时都自动发生这种情况。另外,我没有提到的是,最好将用户锁定在终端上的一个单独的“窗口”中,这样用户就无法通过破坏任何正在运行的显示状态信息的程序来打破登录提示“窗口”并访问 shell。
答案1
在大多数发行版上,这非常简单,您需要更改 inittab 以在第一个 tty 上生成脚本而不是 getty。编辑 /etc/inittab 并更改以下行:
1:2345:respawn:/sbin/getty 38400 tty1
类似于
1:2345:respawn:/path/to/your/script