Die Situation ist wie folgt.
Ich habe einen Mehrbenutzer-Desktop-Computer mit Debian Linux 6.0 und eine ATI-Videokarte mit einem angeschlossenen Monitor. Ich habe Root-Zugriff darauf. Es können mehrere KDE-Sitzungen wie folgt gestartet werden:
$ 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]
Es werden also zwei virtuelle Terminals verwendet, tty7 und 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-??????
Aber natürlich ist zu einem bestimmten Zeitpunkt nur einer von ihnen aktiv, dh er wird auf dem Monitor angezeigt. Jemand, der an der Tastatur sitzt, kann mit Strg + Alt + F zwischen ihnen wechseln [78].
Also verbinde ich mich über ssh von einem Remote-Host. Ich muss wissen, welches X DISPLAY jetzt aktiv ist. Ist es möglich? Ich habe überall gegoogelt und kann die Antwort nicht finden.
Antworten:
fgconsole ist das, wonach Sie suchen
http://linux.die.net/man/1/fgconsole
quelle
Couldnt get a file descriptor referring to the console
. Irgendwelche Ideen, was der Grund sein könnte?Alternativ können Sie einen Linux-spezifischen Eintrag verwenden , wenn Sie nicht
sudo
herausfinden möchten, wie hoch der aktuelle Werttty
istsysfs
:quelle