终端不显示输入字符,是什么问题?

2023-09-09 15:44:11 +08:00
 amlee

windows terminal连本地的wsl,在每次使用tail -f xxx.log观察文件变化之后,所有的键盘输入字符,终端都不显示了。

但实际上,键盘的输入是到了终端的,比如要是能记住输入了什么命令,那么该命令能正常执行,而且终端能正常显式STDOUT

也不知道我说清楚了没有,反正就是很恶心。

另外,我的 bash 使用了 starship ,不知道跟这个有没有关系

784 次点击
所在节点    问与答
10 条回复
YGHMXFAL
2023-09-09 16:30:39 +08:00
盲打`reset`重置试试呢?
ysc3839
2023-09-09 20:44:29 +08:00
是任意 log 文件都会遇到吗?空文件呢?
如果是的话,八成又是遇到 Windows Terminal 的 bug 了。
Windows Terminal 为了兼容传统 Windows 控制台应用,内部工作逻辑是类似 screen 或 tmux 的,程序输出的内容会先更新内部的“screen”,再输出 screen 的变化。有这一层转换,就难免不支持某些特性,或者可能会遇到一些 bug 。
曾经有几个版本的 Windows Terminal ,配合 MSYS2 OpenSSH 使用时,按 Ctrl+C 不能发送到远程服务器,会停止本地的 ssh 进程。自从那时候起我就换 mintty 了。
amlee
2023-09-09 22:50:18 +08:00
@ysc3839 原来还有这么一说啊,那我换其他终端试试
amlee
2023-09-09 23:08:35 +08:00
@ysc3839 还真是 windows terminal 的 bug
amlee
2023-09-10 00:11:15 +08:00
@ysc3839 疯了,疯了,好像不是终端的 bug ,我试了 vscode 中的终端和 tabby ,都出现了这个问题,头大

是任意的文件都会出现(包括空间),tail -f 任意文件,然后 ctrl + c ,终端就不显式输入了
amlee
2023-09-10 00:11:43 +08:00
@amlee 包括空文件
amlee
2023-09-10 00:24:19 +08:00
@YGHMXFAL 盲打 `stty echo` 好像可以成功恢复,这玩意是叫做回显?
YGHMXFAL
2023-09-10 12:38:20 +08:00
还有一种可能,你的 xxx.log 里是不是有肉眼不可见地转义字符?那可能导致奇怪地显示行为~~~
ysc3839
2023-09-10 16:37:03 +08:00
@amlee 试过 mintty 吗? Tabby 底层也是用 Windows Terminal 那套的。建议试试 mintty 直接 ssh 连接 wsl 。
amlee
2023-09-10 16:55:02 +08:00
@YGHMXFAL 我 tail -f 空文件,也会出现这样的情况

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/972277

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX