ssh 断开以后,在终端鼠标点击或者滚动都会出现奇怪的控制字符

2022-08-29 14:06:37 +08:00
 itskingname

macOS + iTerms + zsh + oh-my-zsh

  1. 在 iTerms 上面新建标签页
  2. ssh 链接远程服务器,在远程服务器开启 tmux
  3. 放着不管。等一段时间,让 ssh 自动断开
  4. 现在你在 iTerms 窗口上面点击鼠标左键,或者滚动鼠标滚轮,就会出现下面这种控制字符:
0;49;104M0;49;65;57;90;

此时,鼠标滚轮失效,无法滚动,也无法反选任何内容。鼠标的任何操作都只能在 iTerms 上面生成更多这样的控制字符。

目前我的解决办法只有关闭 iTerms 标签页,新开一个。

大家有什么办法解决吗?

906 次点击
所在节点    问与答
6 条回复
LindsayZhou
2022-08-29 16:01:00 +08:00
原因应该是用了什么 ansi code 没有结束恢复。我不太懂 ansi code ,你可以去查一下怎么用,应该是 echo 一个特殊字符就好了。
如果稍微暴力一点,就用 reset 命令,手动也行,每次 ssh 结束自动跑一下也行,只是终端会闪一下。

参考链接:
https://askubuntu.com/questions/25077/how-to-really-clear-the-terminal
https://unix.stackexchange.com/questions/315395/how-to-automatically-run-a-command-after-exiting-ssh
LindsayZhou
2022-08-29 16:10:17 +08:00
`printf \\033c` 可以试一下,参考 https://zh.wikipedia.org/zh/ANSI%E8%BD%AC%E4%B9%89%E5%BA%8F%E5%88%97 结尾
lululau
2022-08-29 16:49:28 +08:00
如果你说的是 iTerm2 的话,reset session 就可以了
ysc3839
2022-08-29 17:42:12 +08:00
执行 reset 命令即可。这是因为 tmux 开启了鼠标输入,但异常断开连接后没有关闭。
itskingname
2022-08-29 21:20:51 +08:00
@lululau
itskingname
2022-08-29 21:21:06 +08:00
@LindsayZhou 感谢

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

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

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

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

© 2021 V2EX