用鼠标点击终端窗口的时候出现:0;61;50M0;61;50M0;62;50M0

在做aws webrtc viewer拉流压测的过程中,我本地打开了多个终端,用于连接EC2实例:

  1. 一个终端用于启动 '并发master脚本'、监控master端的cpu、mem;
  2. 一个终端用于监控master端的带宽情况;
  3. 一个终端用于监控viewer端的cpu、mem;
  4. 一个终端用于监控viewer端的带宽情况;
  5. 一个终端用于从本地上传文件到实例、从实例下载文件到本地;
  6. 一个终端用于启动 '并发viewer脚本';

这几个终端长时间打开,没有关闭过,突然有一次,我在用鼠标点击终端窗口的时候,终端窗口会出现:0;61;50M0;61;50M0;62;50M0

鼠标点击一次出现一次"乱码",很奇怪,不知道是什么原因。不点击就不会出现。

后来查了一下资料:

  • 可能是因为 我的终端程序(比如 gnome-terminal、xterm、tmux、screen 等)处于鼠标追踪(mouse tracking)模式,点击鼠标,终端程序把鼠标事件编码成了一串字符发送给正在运行的命令行程序(比如 Vim、top、htop 等)。如果该程序没有处理这些事件,就会原样输出到屏幕上。
  • 正在运行的程序启用了 终端鼠标事件捕获模式(比如某些用 ncurses 库编写的程序)
  • 在运行 cat、bash 等普通命令时误触了这种模式(比如误运行了一段脚本或命令启用了 xterm 鼠标模式)

但是我不知道为什么会处于鼠标追踪模式。也不知道是如何误触的。当我点击选择某个终端的时候并没有什么程序正在运行。

说一下最终解决方法吧

bash 复制代码
reset

当出现 '乱码' 时就reset,搞定了。

补充说明

这种"乱码",其实是 Xterm 鼠标事件编码格式,形如:

bash 复制代码
\x1b[<0;61;50M

意思是:鼠标左键在(x=61, y=50)按下(M 表示按下,m 表示释放)

用鼠标点击终端窗口的时候出现:0;61;50M0;61;50M0;62;50M0,这些字符是由于终端程序将鼠标点击事件转成 escape sequence 发给前台进程,但前台程序没有理解它,就直接显示出来了。

相关推荐
Jurio.6 分钟前
开源 Codex Sticky:在终端 Codex CLI 长对话中始终固定底部输入框
linux·rust·github·开源软件·codex·codex cli
无足鸟ICT12 分钟前
【RHCA+】撤销和恢复撤销快捷键
linux
质造者17 分钟前
LangChain + Ollama + Tavily 实现旅游问答系统
linux·人工智能·python·langchain·rag
starvapour1 小时前
Ubuntu部署gitlab频繁出现502的问题
linux·ubuntu·gitlab
zhangfeng11332 小时前
ps aux讲解,结合国家超算中心 hpc apptainer
linux·服务器·网络
夜月yeyue2 小时前
STM32 DMA 双缓冲采样
linux·stm32·单片机·嵌入式硬件·系统架构
ScilogyHunter2 小时前
Buildroot完全指南:从入门到实战
linux·嵌入式·buildroot
毕竟是shy哥2 小时前
Claude Code 接入 DeepSeek 保姆级教程,WSL/Linux 通用
linux·安装教程·codex·deepseek·claude code·openclaw
无限进步_2 小时前
从零实现一个迷你Shell——深入理解Linux命令行解释器
linux·运维·服务器·开发语言·c++·chrome
happymaker06263 小时前
Linux常见命令总结
linux·运维·服务器