强制桌面环境退出 tty2

强制桌面环境退出 tty2

这里有一个简单的问题。默认情况下,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

相关内容