状況は次のとおりです。
Debian Linux 6.0を搭載したマルチユーザーデスクトップマシンと、1台のモニターが接続されたATIビデオカードを持っています。私はそれにアクセスできます。次のように、いくつかのKDEセッションが開始される可能性があります。
$ w
21:51:30 up ? days, 4:22, ? users, load average: 1.72, 1.68, 1.67
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
u1 pts/0 :0 Sat18 4days 0.00s 11.68s kdeinit4: kded4 [kdeinit]
u2 pts/5 :1 Mon17 2days 0.00s 6.65s kdeinit4: kded4 [kdeinit]
したがって、tty7とtty8の2つの仮想端末が使用されています。
$ ps aux|grep /usr/bin/[X]
root 2944 3.1 12.4 670040 1019904 tty7 Ss+ Aug27 187:52 /usr/bin/X :0 vt7 -br -nolisten tcp -auth /var/run/xauth/A:0-??????
root 5507 0.9 3.7 425136 309676 tty8 Ss+ Aug29 29:38 /usr/bin/X :1 vt8 -br -nolisten tcp -auth /var/run/xauth/A:1-??????
ただし、もちろんアクティブになっているのは1つだけです。つまり、モニターに表示されます。キーボードに座っている人は、Ctrl + Alt + F [78]を使用してそれらを切り替えることができます
したがって、私はリモートホストからsshを介して接続します。現在どのX DISPLAYがアクティブであるかを知る必要があります。出来ますか?私はいたるところにググってみましたが、答えが見つかりません。
fgconsoleはあなたが探しているものです
または、Sudo
を使用して現在のtty
が何であるかを理解したくない場合は、Linux固有のsysfs
エントリを使用できます。
$ cat /sys/class/tty/tty0/active
tty8