big*_*107 11 terminal console tty ubuntu-12.04
大约一周前,当我测试 openSUSE 时,我注意到 tty1(是的,只是 tty1)具有 openSUSE 背景。我想在 Ubuntu 中做同样的事情。
我找到了一种使用 fbsplash 的方法。我不太热衷于此,因为它涉及修改内核。
然后我找到了fbterm,它可以让你使用自己的背景并且不涉及修改内核。
所以我让 fbterm 工作;我设置了它,现在我可以以我自己的身份(而不是以 root 身份)运行它,并且它工作得很好。
现在我需要的是如何在我启动 Ubuntu 时让它在 tty 中启动。
编辑:当我启动它时,它还需要像 getty 这样的东西;否则我将无法登录。
小智 7
首先,您需要编辑 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
Run Code Online (Sandbox Code Playgroud)
接下来,我们需要一个名为rungetty. 这允许您作为特定用户在 TTY 上运行程序。fbterm要求您以 root 身份访问帧缓冲区。所以你可以fbterm像这样在 TTY2 上运行(双破折号表示 的开关结束rungetty):
2:23:respawn:/sbin/rungetty -u root tty2 -- fbterm
Run Code Online (Sandbox Code Playgroud)
只有一个问题;您有一个漂亮的基于帧缓冲区的终端,但您是以 root 身份登录的!拥有未经身份验证的 root 提示对安全性来说是不利的。那不行。
我们可以使用一个程序login来解决这个问题,方法是接受另一组用户凭据,然后启动 bash 或 zsh 或任何您的登录 shell。幸运的是,fbterm可以接受一个命令作为它的最终参数(同样,双破折号可以防止fbterm和rungetty混淆参数:
2:23:respawn:/sbin/rungetty -u root tty2 -- fbterm -- login
Run Code Online (Sandbox Code Playgroud)
有了这个,你应该fbterm在你的一个 TTY 上运行。
| 归档时间: |
|
| 查看次数: |
7536 次 |
| 最近记录: |