在 linux 中,我可以使用组合键Alt-Ctrl-F1
,Alt-Ctrl-F2
... 来切换到tty1
我可以使用的不同man chvt
。
使用该命令tty
,我还可以显示我正在使用的电传打字机/linux 虚拟控制台。
但是,如果我在 tty 中xterm
或在gnome-terminal
tty 中,将显示相关的伪终端。
鉴于这一切:
- 我如何判断哪个是当前“活动”
tty
(意味着它正在显示在屏幕上)?
这在某种程度上是一种解决方案(但是它看起来很扭曲并且依赖于 loginctl logind,必须有一个非 systemd才能找到):
for sessionid in $(loginctl list-sessions --no-legend | awk '{ print $1 }'); do loginctl show-session -p State -p TTY $sessionid; done | grep "State=active" -B1 | head -n 1 | sed 's/.*=//g'
tty0
指当前的虚拟控制台(比较这个答案)。通过阅读/sys/devices/virtual/tty/tty0/active
,您可以了解这是哪个控制台。“当前”是指您所看到的,而不是在哪里
cat
运行。例如,如果你开始这个循环让运行,手动切换到另一个控制台,等待几秒钟再切换回来,然后你会看到另一个控制台在你看的时候被报告了。