我在 ubuntu 12.04 中使用 x11rdp 和 xrdp v0.6.0
问题是,当我从家远程连接到办公室时,我的会话被卡住了!
当我重新开始工作时,我无法打开已经在 x11rdp 会话中运行的应用程序。例如 Firefox、empathy...
我必须关闭它们然后才能再次打开所需的应用程序。
我知道我可以,pkill -u user
但这似乎不专业
我试过sudo service xrdp restart
(或停止然后启动)。它不会关闭当前会话。
是否有像 Windows 服务器那样的 xrdp 会话管理器,或者我只能终止我的用户的会话?
答案1
使用以下命令:
ps u -u "$USER" | awk '/xrdp/ && ! /awk / {system("kill "$2)}'
$USER
如果进程由与您不同的用户运行,则替换为另一个用户名- 替换
xrdp
为您的进程名称
答案2
要关闭您自己的会话,
pkill -HUP xrdp
应该足够好了。(对我来说,它很有用。)
答案3
ps aux | grep <user> | grep -i x11rdp
将在非 grep 行的第二列中为您提供进程 ID。
然后您就可以
kill -9 <pid>
答案4
列出所有 rdp 会话及其各自的 pid 和端口号:
{ 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
然后你可以终止特定的进程 id (pid):
$ kill -9 <pid>