No linux eu posso usar as combinações de teclas Alt-Ctrl-F1
, Alt-Ctrl-F2
... para mudar para diferentes tty1
como eu poderia usar man chvt
.
usando o comando tty
, também é exibido o console virtual teletype/linux em que estou.
No entanto, se eu estiver em xterm
ou em gnome-terminal
tty, exibirá o pseude-terminal relevante.
Diante de tudo isso:
- Como posso saber qual é o atualmente "ativo"
tty
(ou seja, ele está sendo exibido na tela)?
Isso seria um pouco a solução (no entanto, parece contorcido e depende do loginctl logind, deve haver um não-systemd para descobrir):
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
refere-se ao console virtual atual (compare esta resposta ). Ao ler/sys/devices/virtual/tty/tty0/active
você pode saber qual console é esse."Atual" significa o que você vê, não onde
cat
está sendo executado. Por exemplo, se você iniciar este loopdeixe em execução, mude manualmente para outro console, espere alguns segundos e volte, então você verá que o outro console foi relatado quando você o olhou.