在串行终端上本地缓冲每行

在串行终端上本地缓冲每行

我使用 kermit 通过串行连接到设备。该设备相当“笨拙”,没有任何花哨的外壳。它实际上只是通过串行接收命令并通过串行发送回输出。

问题是我每隔一个单词就打一次字,而且我无法退格,所以我只能重新开始。

有什么方法可以让 kermit (或等效的)在本地缓冲每行以进行编辑,然后在按下 Enter 时将其发送到该行,以便我可以在需要时退格?

答案1

要建议替代方案,您是否尝试过minicomscreen。您想要的是更改行规则,听起来您处于原始模式(每个字符发送到远程)而不是缓冲(或熟)模式(cr 触发要发送的缓冲区)。还有一种半熟模式(cbreak)。

所有这些值都可以使用该命令设置stty,但是在初始化时可能kermit会覆盖它们,除非您满足这一点。

那你想要^? (DEL) 为删除字符。 Kermit 文档中有一个关于此的部分。这里。其中解释了如何设置基本的终端配置文件xterm

所以我建议使用minicom,但由于远程设备的传输协议,这可能是不可能的。如果您有更多信息,那么编辑你原来的问题,除非它确实是一条评论。

请注意,当您使用 stty 时,它是您设置到串行设备的输入而不是输出stty [options] </dev/sttyN(因为它想要在屏幕上显示输出)。

答案2

我已经尝试了两三个小时来弄清楚如何使用screenor来做到这一点minicom,但我无法弄清楚。我并不是说没有办法让这些程序缓冲行之类的,但是......如果有的话,我不知道。

我现在使用一个名为罗杰·梅尔 (Roger Meier) 的 CoolTerm。它是免费软件,可在 Linux/Windows/OS X 上运行,具有漂亮的 GUI,并且使行缓冲工作非常简单。只需单击选项并从左侧列表中选择终端视图,然后将终端模式更改为线路模式(默认仍为原始模式)。

本指南由 Sparkfun 提供有帮助。

相关内容