首先,您需要编辑inittab文件。在Debian上,它位于中/etc/inittab
,我想它可能与Ubuntu上的相似。正常的TTY提示由名为的程序管理getty
,因此您需要向下滚动到该程序的设置位置。您应该看到很多类似以下内容的行:
# Note that on most Debian systems tty7 is used by the X Window System,
# so if you want to add more getty's go ahead but skip tty7 if you run X.
#
1:2345:respawn:/sbin/getty 38400 tty1
2:23:respawn:/sbin/getty 38400 tty2
3:23:respawn:/sbin/getty 38400 tty3
4:23:respawn:/sbin/getty 38400 tty4
5:23:respawn:/sbin/getty 38400 tty5
6:23:respawn:/sbin/getty 38400 tty6
接下来,我们需要一个名为的程序rungetty
。这允许您以特定用户的身份在TTY上运行程序。fbterm
需要您以root身份访问by的帧缓冲区。因此,您可以fbterm
像这样在TTY2上运行(双破折号表示的开关结尾rungetty
):
2:23:respawn:/sbin/rungetty -u root tty2 -- fbterm
只有一个问题;您有一个漂亮的基于framebuffer的终端,但是您以root用户身份登录!拥有未经身份验证的root提示对安全性的危害就与它一样严重。那不会。
我们可以使用一个名为的程序login
来解决此问题,方法是接受另一组用户凭据,然后启动bash或zsh或您的登录Shell碰巧的任何方式。幸运的是,fbterm
可以接受命令作为其最终参数(同样,双破折号可以防止fbterm
和rungetty
混淆参数:
2:23:respawn:/sbin/rungetty -u root tty2 -- fbterm -- login
这样,您应该fbterm
在其中一个TTY上运行。