どのttyが「フォアグラウンド」/「現在表示」されているかを確認しますか?

どのttyが「フォアグラウンド」/「現在表示」されているかを確認しますか?

Linuxでは、キーの組み合わせを使用して利用可能な他の組み合わせに切り替えることができますAlt-Ctrl-F1Alt-Ctrl-F2tty1man chvt

このコマンドを使用すると、tty現在あるテレタイプ/Linux仮想コンソールを表示することもできます。

xtermただし、aまたはttyの場合は、gnome-terminal関連する疑似端末が表示されます。

これらすべてを考慮すると:

  • tty現在、「アクティブ」(画面に表示されるという意味)が何であるか、どうすればわかりますか?

これはやや解決策です(しかしこれは歪んでいてloginctlログインに依存しています)。体系的ではない調べる):

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

実行して手動で別のコンソールに切り替えて数秒待ってから再度切り替えると、他のコンソールが報告されていることがわかります。

関連情報