这里有一个简单的问题。默认情况下,Ubuntu 18.04 运行控制台 tty1-6,其中 tty1-2 用于桌面环境。
当我加载到 gnome 登录屏幕(它在 tty1 上)时,我可以登录我的用户帐户并快速按Ctrl+ Alt+F2切换到 tty2,以免它被 DE 占用。你认为接下来会发生什么?好吧,tty2 现在处于默认 tty 模式(就像 tty3-6 一样),现在可以通过按Ctrl+ Alt+访问 DE F7。
因此,我的问题如下。此举是否会强制我的机器启动额外的 tty(因为通常它们只创建到 tty6)?此外,是否需要合理数量的额外资源来实现这一点?
答案1
据我所知,tty7 用于 Xserver 和 gnome 登录屏幕。控制台 tty1-6 始终可用,您可以随时使用 Ctrl+Alt+F1-6 访问它们,而无需您在此处描述的魔法。
答案2
这些 TTY 已经存在。只是没有任何东西可以在它们上运行然而。默认配置是在 TTY 1-6 上运行 getty,但 systemd 尝试通过仅在有人实际切换到某个 TTY 时在该 TTY 上启动 getty 来进行优化。因此 GDM 可以在 TTY1 上启动,并在 TTY2 上启动用户会话,依此类推。
$ pgrep getty
# no output, switch to TTY3 and back
$ pgrep getty
18953
# getty started on TTY3
类似地,您可以随心所欲地在其他 TTY 上启动其他程序(最多可创建多个程序):
$ ls /dev/tty[0-9]* | wc -l
64
$ sudo systemctl start getty@63
$ pgrep getty
18953
19578
# Another getty, now on TTY63
$ sudo lsof /dev/tty3
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
agetty 18953 root 0u CHR 4,3 0t0 1044 /dev/tty3
agetty 18953 root 1u CHR 4,3 0t0 1044 /dev/tty3
agetty 18953 root 2u CHR 4,3 0t0 1044 /dev/tty3
$ sudo lsof /dev/tty63
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
agetty 19578 root 0u CHR 4,63 0t0 1104 /dev/tty63
agetty 19578 root 1u CHR 4,63 0t0 1104 /dev/tty63
agetty 19578 root 2u CHR 4,63 0t0 1104 /dev/tty63