我在 gnome-terminal 中定义了它在 shell 结束时关闭。当我按下 Control-D 或执行 exit 时,终端就会关闭。
但是如果我使用 打开 SSH 会话并在 SSH 会话中gnome-terminal -x ssh server
执行(reboot
重启远程服务器),它挂起并且无法关闭。发生了什么事?
这以前对我有用,但我必须重新安装我的 Ubuntu(在本地),现在当 SSH 会话结束时,gnome-terminal 不会自行关闭。
答案1
将其添加到远程服务器的~/.bashrc
或~/.profile
(以适当者为准):
alias reboot='{ sleep 2; reboot; }& exit'
每次在远程服务器上输入“reboot”时,它都会告诉计算机在 2 秒内重新启动,同时立即退出,确保您的终端不会挂起。
编辑:我误解了你的问题吗?
要关闭终端,请在 SSH 会话结束后,使用别名通过 ssh 连接您的服务器,并在末尾附加“exit”:
alias server_ssh='ssh [email protected]; exit'
将其放入你的 ~/.bashrc 中
答案2
ssh 服务器在没有正确关闭连接的情况下死机。客户端会一直处于静止状态,因为它不知道服务器发生了什么。服务器只是保持安静了一段时间;这与服务器在那里但什么也没说是没有区别的。最终,客户端将发送一个测试数据包,没有收到回复,然后死机。您可以通过按一个键来加速这一过程;客户端将发送一个真正的数据包,没有收到回复,然后死机。或者您可以通过按Returnthen强制关闭客户端上的连接~.
。