In der X-Sitzung können Sie immer die DISPLAY
Umgebungsvariable konsultieren , um die aktuelle Anzeigenummer zu erhalten ( echo $DISPLAY
).
Das Herausfinden der Anzeigenummern anderer ist schwieriger. Ich glaube nicht, dass es eine Standardmethode gibt, um die Informationen abzurufen, außer dass alle Benutzer gefragt werden, mit welchem Display sie verbunden sind. Daher erfordert jeder Versuch, diese Informationen abzurufen, eine Art Hackerangriff und funktioniert nicht in allen Fällen.
Es gibt einige Optionen, die an anderer Stelle in SE angegeben sind, aber sie funktionieren beispielsweise nicht für Debian Wheezy. Das Auflisten der derzeit aktiven Anzeigen ist jedoch einfach, wie in dem Beitrag gezeigt, den ich oben verlinkt habe:
ps axu | grep "X "
zeigt Ihnen die aktuell ausgeführten X-Prozesse, etwa wie folgt:
root 2354 0.0 0.5 23380 18292 tty8 Ss+ Sep15 2:36 /usr/bin/X :1 vt8 -br -nolisten tcp -auth /var/run/xauth/A:1-7xlyuc
root 7901 0.0 0.3 17044 12072 tty7 Ss+ Sep14 5:58 /usr/bin/X :0 vt7 -br -nolisten tcp -auth /var/run/xauth/A:0-wckh0a
Der erste Parameter nach /usr/bin/X
ist die durch Doppelpunkt gekennzeichnete Anzeigenummer, und der nächste zeigt Ihnen das der Sitzung zugewiesene virtuelle Terminal.
Möglicherweise erhalten Sie eine Antwort, wenn Sie sich die Prozessliste ansehen:
ps axu |grep -3 "X "
root 1990 0.0 0.0 0 0 ? S Sep14 0:00 [kjournald]
root 1991 0.0 0.0 0 0 ? S Sep14 0:00 [kjournald]
root 1992 0.0 0.0 0 0 ? S Sep14 0:00 [kjournald]
root 2354 0.0 0.5 23380 18292 tty8 Ss+ Sep15 2:36 /usr/bin/X :1 vt8 -br -nolisten tcp -auth /var/run/xauth/A:1-7xlyuc
root 2359 0.0 0.0 5264 2228 ? S Sep15 0:00 -:1
user_1 2378 0.0 0.0 4920 1348 ? Ss Sep15 0:00 /bin/sh /usr/bin/startkde
user_1 2443 0.0 0.0 3868 348 ? Ss Sep15 0:00 /usr/bin/ssh-agent env TMPDIR=/var/tmp /usr/bin/dbus-launch --exit-with-session /usr/bin/openbox-kde-session
--
root 7500 0.0 0.0 6460 1080 ? Ss Sep14 0:00 /usr/sbin/sshd
ntp 7841 0.0 0.0 5352 1760 ? Ss Sep14 0:17 /usr/sbin/ntpd -p /var/run/ntpd.pid -g -u 108:111
root 7882 0.0 0.0 3964 716 ? Ss Sep14 0:00 /usr/bin/kdm -config /var/run/kdm/kdmrc
root 7901 0.0 0.3 17044 12072 tty7 Ss+ Sep14 5:59 /usr/bin/X :0 vt7 -br -nolisten tcp -auth /var/run/xauth/A:0-wckh0a
root 7906 0.0 0.0 5260 2224 ? S Sep14 0:00 -:0
user_2 7925 0.0 0.0 12924 1560 ? Ssl Sep14 0:00 /usr/bin/lxsession -s LXDE -e LXDE
user_2 7990 0.0 0.0 3868 348 ? Ss Sep14 0:00 /usr/bin/ssh-agent env TMPDIR=/var/tmp /usr/bin/dbus-launch --exit-with-session /usr/bin/startlxde
Schauen Sie sich die folgenden Zeilen an /usr/bin/X
: Beim Start der X-Sitzung wird in der Regel ein Fenstermanager als der Benutzer gestartet, zu dem die Sitzung gehört, und dort erhalten Sie den Benutzernamen. In meinem Fall verwendet Benutzer_1 KDE und Benutzer_2 LXDE. Diese Lösung beruht jedoch nur auf der Tatsache, dass der Kernel zufällig neue Prozess-IDs in aufsteigender Reihenfolge zuweist, was möglicherweise nicht immer der Fall ist.
;
vor dem hinzufügendone
.