情况如下。
我有一台多用户台式机,装有 Debian Linux 6.0 和一块 ATI 显卡,连接了一台显示器。我拥有它的 root 访问权限。可以启动多个 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:
$ 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-??????
但当然,在任意时刻,只有一个是活动的,即显示在显示器上。坐在键盘前的人可以使用 Ctrl+Alt+F[78] 在它们之间切换
因此,我通过 ssh 从远程主机进行连接。我需要知道现在哪个 X DISPLAY 处于活动状态。这可能吗?我在 Google 上搜索了所有地方,但找不到答案。
答案1
fgconsole 就是你要找的
答案2
或者,如果您不想使用sudo
来确定当前tty
是什么,您可以使用 Linux 特定的sysfs
条目:
$ cat /sys/class/tty/tty0/active
tty8