itskingname
V2EX  ›  问与答

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

  •  
  •   itskingname · Aug 29, 2022 · 1454 views
    This topic created in 1359 days ago, the information mentioned may be changed or developed.

    macOS + iTerms + zsh + oh-my-zsh

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

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

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

    大家有什么办法解决吗?

    6 replies    2022-08-29 21:21:06 +08:00
    LindsayZhou
        1
    LindsayZhou  
       Aug 29, 2022
    原因应该是用了什么 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
        2
    LindsayZhou  
       Aug 29, 2022
    `printf \\033c` 可以试一下,参考 https://zh.wikipedia.org/zh/ANSI%E8%BD%AC%E4%B9%89%E5%BA%8F%E5%88%97 结尾
    lululau
        3
    lululau  
       Aug 29, 2022
    如果你说的是 iTerm2 的话,reset session 就可以了
    ysc3839
        4
    ysc3839  
       Aug 29, 2022
    执行 reset 命令即可。这是因为 tmux 开启了鼠标输入,但异常断开连接后没有关闭。
    itskingname
        5
    itskingname  
    OP
       Aug 29, 2022
    @lululau
    itskingname
        6
    itskingname  
    OP
       Aug 29, 2022
    @LindsayZhou 感谢
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   5075 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 51ms · UTC 09:18 · PVG 17:18 · LAX 02:18 · JFK 05:18
    ♥ Do have faith in what you're doing.