trzsz / trzsz-ssh

trzsz-ssh ( tssh ) is an ssh client designed as a drop-in replacement for the openssh client. It aims to provide complete compatibility with openssh, mirroring all its features, while also offering additional useful features. Such as login prompt, batch login, remember password, automated interaction, trzsz, zmodem(rz/sz), udp mode like mosh, etc.
https://trzsz.github.io/ssh
MIT License
1.74k stars 102 forks source link

mintty Ctrl-C退出整个tssh #110

Closed SadSock closed 5 months ago

SadSock commented 6 months ago

在win上,mintty内用tssh连接远程的Linux服务器,当按下Ctrl-C组合键时,tssh整个直接退出了。

使用ssh时,只会中断远程Linux服务器当前运行的程序。

tssh的这个行为是符合预期的吗?有什么办法只是终止Linux服务器上的程序?

lonnywong commented 6 months ago

不符合预期。只是 mintty 这样?安装的是 Windows 版 tssh 吗?

SadSock commented 6 months ago

对,Windows terminal就不是这样。问题可能出在哪里?

lonnywong commented 6 months ago

在你按下 ctrl + c 时,可能 mintty 直接杀了 tssh 进程,并没有将 ctrl + c 事件转发给 tssh 进程处理。

ctrl + c 默认是让进程退出,但是进程可以注册自己来处理 ctrl + c 事件。不知 mintty 为什么不遵守这个规则。

你试试加 .exetssh.exe 运行,看看会不会按 Windows 的方式来处理。

SadSock commented 6 months ago

在你按下 ctrl + c 时,可能 mintty 直接杀了 tssh 进程,并没有将 ctrl + c 事件转发给 tssh 进程处理。

ctrl + c 默认是让进程退出,但是进程可以注册自己来处理 ctrl + c 事件。不知 mintty 为什么不遵守这个规则。

你试试加 .exetssh.exe 运行,看看会不会按 Windows 的方式来处理。

我就是用tssh.exe来运行的

lonnywong commented 6 months ago

你可以试试 winpty tssh 怎么样,可能需要手工安装 winpty。

SadSock commented 6 months ago

你可以试试 winpty tssh 怎么样,可能需要手工安装 winpty。

我是在断网的环境下用的,winpty可以支持在断网的环境吗?

lonnywong commented 6 months ago

应该支持的吧,只要你能连通你的服务器就行。

lonnywong commented 5 months ago

@SadSock 你的 mintty 是怎么安装的?我安装了 Cygwin 之后,里面默认有个 mintty,先打开 cygwin ,在 cygwin 中运行 mintty,再在 mintty 中运行 tssh xxx 登录 Linux 服务器,Ctrl + C 并不会退出。

SadSock commented 5 months ago

@SadSock 你的 mintty 是怎么安装的?我安装了 Cygwin 之后,里面默认有个 mintty,先打开 cygwin ,在 cygwin 中运行 mintty,再在 mintty 中运行 tssh xxx 登录 Linux 服务器,Ctrl + C 并不会退出。

我的是装git自带的

lonnywong commented 5 months ago

我的是装git自带的

git bash ?

SadSock commented 5 months ago
  • mintty -V

这样啊,我看了一下,我的是显示的是3.6.3,我升级一下试试。

SadSock commented 5 months ago

换了新版本的mintty就好了