V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  LonnyWong  ›  全部回复第 18 页 / 共 20 页
回复总数  396
1 ... 10  11  12  13  14  15  16  17  18  19 ... 20  
@ysc3839 对的,拖文件进去就是粘贴绝对路径。
trzsz 是接管了 ssh 的输入和输出的,一般情况下只是转发。当检测到文件绝对路径时就走上传逻辑就可以了。
为了避免手工粘贴时误伤,分析了各大平台终端拖文件进去的规律,例如 mac 和 linux 都有一个空格结尾的,必须 100%满足这些规律我才会上传。
@singerll 拖文件上传已实现。
@singerll @licoycn 有需要的话可以提个 issue ,后面我有空时搞一下。
我想了下,拖拽上传和文件夹都有办法搞。
@licoycn 现在还不支持
@singerll 研究了各个平台的终端,拖拽时都是相当输入一个绝对路径,可以通过这个路径来判断。按理说应该可以搞。

可以在 github 上提个 issue ,我将来有空时搞一下。
@singerll 我想到如何让远程服务器运行接收程序了,trzsz 进程往远程发送一个命令就可以。

还剩下的问题是,拖拽文件时如何让 trzsz 进程感知到?这个也跟你使用什么终端有关系。
@9 必须支持呀。最开始时,之所以写 trzsz 就是因为 tmux 。
@singerll 有实现思路不?

拖拽时,感知到的是终端,有办法让终端里进行的进程感知到吗?

在本地进程感知到之后,如何让远程服务器运行接收程序呢?
2022-05-31 21:04:19 +08:00
回复了 idblife 创建的主题 Linux 如何用 vim 打开一个 10G 的文本。。。
mmap 到内存,用代码来改。
2022-05-29 23:34:33 +08:00
回复了 GitContract 创建的主题 分享创造 用一句话来介绍你的开源项目
兼容 tmux 的 rz / sz —— trzsz ( trz / tsz ) ,有用请点个 Star 。

Py 版: https://github.com/trzsz/trzsz

Js 版: https://github.com/trzsz/trzsz.js

Go 版: https://github.com/trzsz/trzsz-go
@ysc3839 当往 msys2 的 ssh 输入大量数据时,远程服务器的进程会有些数据收不到,不知是哪里出了问题。
@Cooky 是 trzsz 进程拉起 ssh 进程的。

对话框是 trzsz 进程弹出的,选择文件后,trzsz 进程会读取文件内容,并以 stdin 输入给 ssh 进程。
2022-05-22 23:07:17 +08:00
回复了 LonnyWong 创建的主题 程序员 支持 tmux 类似 rz / sz 的 trzsz 发布了 v0.3.1 新版本
@scemsjyd 在本地运行 tmux 的话,现在有了一个新的解决方案: https://github.com/trzsz/trzsz-go ,用 trzsz ssh x.x.x.x 登录远程服务器就行了。
@linuxsteam 你所想的是 busybox 那样的程序,但是 trzsz 并不是。

如果你需要什么程序,可以自己安装,然后用 trzsz 来运行它,跟你直接运行是一模一样的。例如 trzsz busybox xxx 。

好像 trzsz 有点多余?是的,如果你没有额外的诉求,trzsz 是多余的。

我写这个 trzsz 的目的,是为了实现 rz / sz 那样上传和下载文件的功能。如果你看了前面的贴子,了解 trzsz 的原理,那你可以写出其他的功能,例如将某个软件的输入和输出记录到日志中,等等。
@linuxsteam busybox 是将很多命令行工具集成在一个程序中,根据文件名或参数执行对应命令行工具的代码。

当你执行 ssh x.x.x.x 时,是由当前 shell 进程拉起一个 ssh 进程。当你执行 trzsz ssh x.x.x.x 时,是由当前 shell 进程拉起一个 trzsz 进程,再由 trzsz 进程拉起一个 ssh 进程。

也就是说,trzsz 没有集成其他命令行工具,你可以把它看作是一个代理的角色。
@qfdk “刀是好刀”,看你怎么用了。程序可以做很多的事情,但只会按照你写出来的运行。
@qfdk 假设你本来是用 ssh x.x.x.x 来登录到远程服务器的,可以变成 trzsz ssh x.x.x.x ,实际你运行的是 trzsz 进程,它可以帮你启动一个 ssh 进程。

你的输入,就会变成由 trzsz 进程接收,trzsz 进程可以对这些输入进行处理,然后转发给 ssh 进程。如果 trzsz 进程没有任何处理,直接转发给 ssh 进程,那么你看起来就是输入被 ssh 进程接收了。实际上 ssh 进程也是转发到远程服务器上,一样的道理。

远程服务器上的输出,实际是上由 ssh 进程接收,并输出给终端进行显示的。现在由 trzsz 进程来拉起 ssh 进程,那么 ssh 进程的输出就可以由 trzsz 进程来接收,trzsz 进程就可以对输出进行处理,然后 trzsz 再自己输出给终端进行显示。如果 trzsz 进程没有任何处理,直接输出,那么你看起来就是输出显示在终端上了。

trzsz 进程变成了一个中间人的角色了,不知道这样解释会不会好理解一些。
2022-05-13 16:33:00 +08:00
回复了 beordle 创建的主题 分享创造 做了一个隧道软件,叫做 Termtunnel,邀请大家体验
@beordle 运行的时候是要在 cygwin 中,还是可以在 cmd 中(只要安装了 cygwin )?
2022-05-13 09:13:54 +08:00
回复了 beordle 创建的主题 分享创造 做了一个隧道软件,叫做 Termtunnel,邀请大家体验
@beordle 在 windows 中运行时,你的 pty 是怎么实现的?好像没找到 windows 相关的代码。
2022-05-13 09:11:56 +08:00
回复了 beordle 创建的主题 分享创造 做了一个隧道软件,叫做 Termtunnel,邀请大家体验
@Chipmunker 你在 windows 用的是什么终端?是在 cmd 或 powershell 中运行 ssh 登录到远程的吗?

我想,需要在某处运行楼主的软件,将 ssh 进程包起来,才能使用的。
1 ... 10  11  12  13  14  15  16  17  18  19 ... 20  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1071 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 23ms · UTC 22:27 · PVG 06:27 · LAX 15:27 · JFK 18:27
Developed with CodeLauncher
♥ Do have faith in what you're doing.