"전경"/"현재 표시"에 어떤 tty가 있는지 확인합니까?

"전경"/"현재 표시"에 어떤 tty가 있는지 확인합니까?

리눅스에서는 키 조합을 사용하여 Alt-Ctrl-F1... 내가 사용할 수 있는 Alt-Ctrl-F2다른 키로 전환할 수 있습니다 .tty1man chvt

명령을 사용하면 tty현재 사용 중인 텔레타이프/리눅스 가상 콘솔도 표시됩니다.

xterm그러나 내가 tty 에 있거나 있으면 gnome-terminal관련 의사 터미널이 표시됩니다.

모든 것을 고려하면:

  • tty현재 "활성" (화면에 표시된다는 의미) 이 무엇인지 어떻게 알 수 있나요 ?

이것은 어느 정도 해결책이 될 것입니다(그러나 그것은 왜곡된 것처럼 보이고 loginctl logind에 의존합니다.시스템화되지 않은알아보기 위해):

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'

답변1

cat /sys/devices/virtual/tty/tty0/active

tty0현재 가상 콘솔을 나타냅니다(비교이 답변). 읽으면 /sys/devices/virtual/tty/tty0/active이것이 어떤 콘솔인지 알 수 있습니다.

cat"현재"는 실행 중인 위치가 아니라 보이는 것을 의미합니다 . 예를 들어 이 루프를 시작하면

while sleep 1; do
   cat /sys/devices/virtual/tty/tty0/active
done

실행을 허용하고 수동으로 다른 콘솔로 전환하고 몇 초 동안 기다렸다가 다시 전환하면 보고 있는 동안 다른 콘솔이 보고된 것을 볼 수 있습니다.

관련 정보