trzsz / trzsz-go

trzsz-go is the go version of trzsz, makes all terminals that support local shell to support trzsz ( trz / tsz ).
https://trzsz.github.io/go
MIT License
884 stars 53 forks source link

manjaro konsole下,trz 和 tsz hanging up #16

Closed pmzgit closed 1 year ago

pmzgit commented 2 years ago

一:环境+工具链

os:manjaro21.3.5 minimal version kernel:5.15.55 DE:kde plasma 5.24.6 terminal:konsole +fish shell tmux:3.3a tmux 配置方案:https://github.com/gpakosz/.tmux 安装方式:github-release下编译好的trzsz-go的可执行文件,已经配置在fish下的path下了

换句话说,上面基本上是 manjaro minimal 的最新版(滚动更新)

二、场景复现

感觉在我的环境下,local模式不管用,只能local+server模式正常(单纯server模式下,还没来得及测试是否正常),难道不支持konsole吗,那我打算有时间试试alacrity,(当然全部在tmux里)

最后,非常感谢大佬开发在tmux下支持的上传下载工具,之前一直找类似工具都找不到,一开始trzsz只支持macos的时候,心都死了,后来大佬支持linux了,感动到哭

需要配合调试啥的,随时提供

lonnywong commented 2 years ago

local 模式是指在本地运行 tmux ? 没太看明白你这三种的 tmux 是在哪一步运行的。

如果是本地运行 tmux ,需要先运行 tmux ,再运行 trzsz ssh。

如果是先运行 trzsz bash,再运行 tmux,然后 ssh ,那是不支持的。把 ssh 换成 trzsz ssh 按理说也可以的,第一步 trzsz bash 实际就是多余的了。

lonnywong commented 2 years ago

trzsz 只能在本地运行,不支持在服务器上运行。 tmux 之后,再来一个 ssh 是不支持的( 除非 tmux 是在本地,并且使用 trzsz ssh )。

举一些例子: 用法 是否支持
本地 trzsz bash -> trz
本地 trzsz tmux -> trz
本地 trzsz bash -> tmux -> trz
本地 trzsz tmux -> bash -> trz
本地 trzsz ssh -> 服务器 tmux -> trz
本地 tmux -> trzsz ssh -> 服务器 trz
本地 trzsz tmux -> ssh -> 服务器 trz X
本地 trzsz bash -> tmux -> ssh -> 服务器 trz X

如果测试结果不符合上表,那可能与 konsole + fish shell 有关,需要协助定位一下问题。

pmzgit commented 2 years ago

local 模式是指在本地运行 tmux ? 没太看明白你这三种的 tmux 是在哪一步运行的。

如果是本地运行 tmux ,需要先运行 tmux ,再运行 trzsz ssh。

如果是先运行 trzsz bash,再运行 tmux,然后 ssh ,那是不支持的。把 ssh 换成 trzsz ssh 按理说也可以的,第一步 trzsz bash 实际就是多余的了。

就是本地运行 tmux ,需要先运行 tmux ,再运行 trzsz ssh

pmzgit commented 2 years ago
本地 tmux -> trzsz ssh -> 服务器 trz | √ -- | --

就是这种使用方式,先进入tmux,然后 trzsz ssh,就进入服务器了,然后执行trz;这种场景下hanging up了。

pmzgit commented 2 years ago

具体命令列表:

tmux new -s local
trz ssh root@1xx.xx.xx.xx
trz or tsz file.md
lonnywong commented 2 years ago

trz ssh root@1xx.xx.xx.xx

这里应该是 trzsz ssh root@1xx.xx.xx.xx 吧?

日志收集方法:

trzsz -t ssh root@1xx.xx.xx.xx
echo -e '<ENABLE_TRZSZ_TRACE_LOG\x3E'
trz
echo -e '<DISABLE_TRZSZ_TRACE_LOG\x3E' 

第一个 echo 之后,正常会输出日志的路径(在本地电脑上的),第二个 echo 会关闭日志。

日志文件可以发送到我的邮箱 lonnywong@qq.com

pmzgit commented 2 years ago

抱歉前几天比较忙,今天收集了日志。日志稍后发您邮箱,命令执行现场如下截图。

如截图:必须本地机器和ssh到的远程服务器都安装上trzsz-go,才能正常传输吗?我看readme以为只要本地安装trzsz-go就可以了

当然整个日志是,上传功能正常的日志,没有出现hanging up。因为本机器和远程机器都是manjaro的环境(我自己的两台机器),周一我再次用别的系统服务器试试,并收集日志

Screenshot_20220730_190742

lonnywong commented 2 years ago

192.168.31.137 这台机器上运行的是 fish shell ?在这台服务器上没有运行 tmux 吧?

我看日志中有大量 VT100 控制字符的输出(这些导致了传输失败),看来我要抽空安装个 fish shell 试一下。

如果你有什么特殊的配置,也可以发一下给我。

lonnywong commented 2 years ago

@pmzgit 你发给我的日志是成功了的,不是挂起时的日志。

~我刚安装了个 fish shell ,用 trzsz-go 时确实遇到了挂起的情况,我研究下看看。~

这个 fish shell 只是遇到了挂起一次,后来一直复现不出来,还不知什么原因。

lonnywong commented 2 years ago

我看readme以为只要本地安装trzsz-go就可以了

服务端也是要安装的,可以安装 trzsz-go ,也可以安装 trzsz https://github.com/trzsz/trzsz

@pmzgit 有空时,再发一个挂起的日志来看看吧。

pmzgit commented 2 years ago

192.168.31.137 这台机器上运行的是 fish shell ?在这台服务器上没有运行 tmux 吧?

我看日志中有大量 VT100 控制字符的输出(这些导致了传输失败),看来我要抽空安装个 fish shell 试一下。

如果你有什么特殊的配置,也可以发一下给我。

对,192.168.31.137 这台机器上运行的也是 fish shell,没有运行tmux, 192.168.31.137 这台机器上,除了fish shell,没有其他配置了

服务端也是要安装的,可以安装 trzsz-go ,也可以安装 trzsz https://github.com/trzsz/trzsz

明白了,后期如果在我的环境下,在遇到挂起时,我回发您

lonnywong commented 1 year ago

@pmzgit 可以更新到 trzsz v1.0.0 ,如果还有问题可以抓个包再看看。

如果没遇到问题可以先把 issue 关了,后面遇到再 reopen,或者另外开一个新 issue。

pmzgit commented 1 year ago

@pmzgit 可以更新到 trzsz v1.0.0 ,如果还有问题可以抓个包再看看。

如果没遇到问题可以先把 issue 关了,后面遇到再 reopen,或者另外开一个新 issue。