如何在PuTTY串口通信中仅在按下回车键时发送字符?

67
我正在尝试使用PuTTY通过我的计算机串行线进行通信。我已经配置了正确的串行线、波特率、数据位数、停止位、奇偶校验和流控,并建立了连接。当我单击“确定”以打开连接时,会显示一个黑屏,并且我的每个按键都会被发送而不显示在屏幕上(窗口保持黑色)。如何配置PuTTY,使其仅在我按下回车键后才发送我的命令或操作码?
我在大学期间使用PuTTY进行Telnet / SSH,它总是显示我的命令并仅在我按下回车键后输入它们,所以我有点困惑。
1个回答

143
你需要的设置在左侧的“终端”类别下,分别是“本地回显”和“行编辑”。
将“本地回显”设置为“强制开启”,可以让字符在输入时显示在屏幕上。
将“本地行编辑”设置为“强制开启”,可以让终端在按下回车键前不发送命令。

PuTTY Line discipline options

解释:

从PuTTY用户手册中获取(通过在PuTTY中点击“帮助”按钮找到):

4.3.8 '本地回显'

禁用本地回显后,您在PuTTY窗口中键入的字符不会被PuTTY回显到窗口中。它们只是被发送到服务器。(服务器可能选择将它们回显给您;这不能从PuTTY控制面板进行控制。)

某些类型的会话需要本地回显,而许多会话则不需要。在默认模式下,PuTTY将自动尝试推断出本地回显是否适用于您正在使用的会话。如果您发现它做出了错误的决定,您可以使用此配置选项覆盖其选择:您可以强制打开本地回显或关闭它,而不是依赖于自动检测。

4.3.9 '本地行编辑'

通常情况下,您在PuTTY窗口中键入的每个字符都会立即发送到服务器。

如果启用本地行编辑,则会发生变化。PuTTY将允许您在本地一次编辑整行,并且只有在按下Return键时才会将该行发送到服务器。如果您犯了一个错误,您可以在按下Return键之前使用Backspace键进行更正,服务器将永远不会看到错误。

由于很难在看不见行的情况下本地编辑行,因此本地行编辑大多与本地回显(第4.3.8节)一起使用。这使其非常适合在原始模式下或连接到MUDs或聊天器时使用。(尽管一些更高级的MUD偶尔会打开本地行编辑并关闭本地回显,以接受用户的密码。)

某些类型的会话需要本地行编辑,而许多会话则不需要。在默认模式下,PuTTY将自动尝试推断出本地行编辑是否适用于您正在使用的会话。如果您发现它做出了错误的决定,您可以使用此配置选项覆盖其选择:您可以强制打开本地行编辑或关闭它,而不是依赖于自动检测。

当"Auto"选项启用时,Putty有时会做出错误的选择,因为它尝试检测连接配置。应用于串行线路时,这可能会更加棘手。


4
谢谢!这个方法起作用了。一旦我获得权限,我一定会点赞的! - tushark
1
为了帮助他人,你能否说一下哪些设置解决了你的问题? - oobayly
我有一个双重的ssh连接,首先连接到公共服务器,然后连接到私有服务器,这使得连接非常缓慢。因此,我将“本地回显”设置为“强制关闭”,并将“本地行编辑”设置为“自动”。这对我很有效。 - toto_tico
当连接到需要直接通信每个按键的设备时,与在按下“Enter键”后发送字符串相反,需要关闭“本地行编辑”。我看不出“本地回显”会如何影响设备,因为该选项仅是本地控制台显示选项。 - ChrisAdmin
将这些设置为“强制打开”对我有用。我还保存了我的会话名称,这样每次我想运行串口的putty会话时就不必更改它。 - bretcj7

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接