我希望有人已经知道这个问题的答案,因为我担心尝试解开 startkde shell 脚本及其微妙之处ssh -f
会很丑陋。
我正在运行 KDE 4.14.8 的 centos 7.2 服务器上使用 Cygwin ssh 版本 OpenSSH_7.1p1、OpenSSL 1.0.2d 2015 年 7 月 9 日的 cygwin shell 打开远程桌面。
我启动本地 XWin 服务器,然后运行
ssh -fXY myself@centhost /bin/startkde > /tmp/kde_out.txt 2> /tmp/kde_err.txt
这“有效”,但 ssh 永远不会返回。我从 kde 注销,XWin 显示变黑,但随后似乎挂起。当我查看 /tmp/kde_err.txt 文件时,我看到以下行
...
startkde: Shutting down...
klauncher: Exiting on signal 15
klauncher: Exiting on signal 1
startkde: Running shutdown scripts...
QThread: Destroyed while thread is still running
startkde: Done.
但 ssh 永远不会退出。此外,我的 XWin 服务器不会自动关闭,当我手动关闭它时,它会抱怨仍有 6 个客户端连接。顺便说一句,如果没有 ssh 的 stdout 和 stderr 重定向,我也会遇到同样的挂起。startkde 脚本是版本 4.11.19,它是 sh,而不是 bash。脚本的最后一行是,但脚本早期echo 'startkde: Done.' 1>&2
有一个命令。trap 'echo GOT SIGHUP' HUP
这是整个脚本的链接。
此挂起更有可能是由于 startkde 脚本、kde 可执行文件的副作用或某些已知的 ssh 客户端-服务器行为所致?
谢谢!