
Ich verwende x11rdp mit xrdp v0.6.0 in Ubuntu 12.04
Das Problem besteht darin, dass meine Sitzung hängen bleibt, wenn ich von zu Hause aus eine Remote-Verbindung zum Büro herstelle.
Wenn ich wieder zur Arbeit gehe, kann ich keine Anwendungen öffnen, die bereits in der x11rdp-Sitzung ausgeführt werden, z. B. Firefox, Empathy ...
Ich muss sie schließen, bevor ich die benötigte App wieder öffnen kann.
Ich weiß, dass ich das kann pkill -u user
, aber es wirkt unprofessionell
Ich habe es versucht sudo service xrdp restart
(oder stoppen und dann starten). Aktuelle Sitzungen werden dadurch nicht geschlossen.
Gibt es einen XRDP-Sitzungsmanager wie beim Windows-Server oder kann ich nur die Sitzung meines Benutzers beenden?
Antwort1
Verwenden Sie den folgenden Befehl:
ps u -u "$USER" | awk '/xrdp/ && ! /awk / {system("kill "$2)}'
- Ersetzen Sie
$USER
durch einen anderen Benutzernamen, wenn der Prozess mit einem anderen Benutzer als Ihrem ausgeführt wird. - Ersetzen Sie es
xrdp
durch Ihren Prozessnamen
Antwort2
Um Ihre eigene(n) Sitzung(en) zu schließen,
pkill -HUP xrdp
sollte gut genug sein. (Bei mir funktioniert es.)
Antwort3
ps aux | grep <user> | grep -i x11rdp
gibt Ihnen die Prozess-ID in der zweiten Spalte der Zeile, die nicht Ihr grep ist.
Sie können dann
kill -9 <pid>
Antwort4
So listen Sie alle RDP-Sitzungen mit ihren jeweiligen PID- und Portnummern auf:
{ echo "user pid Xdisplay port"; { ps -ef | \
awk '/Xvnc :[[:digit:]]+/ {print $1,$2,$9}' | while read tu tpid tvnc; \
do sudo netstat -tlpn | awk -v "tpid=${tpid}" '$0 ~ tpid {print $4;}' | \
sed -r -e 's/^.*://;' -e "s/^/${tu} ${tpid} ${tvnc} /;" ; done ; } | \
sort -k3 ; } | column -c4 -t
Sie können dann die spezifische Prozess-ID (PID) beenden:
$ kill -9 <pid>