用鼠标点击终端窗口的时候出现: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 发给前台进程,但前台程序没有理解它,就直接显示出来了。

相关推荐
GeW2 小时前
新质生产力路线图落地,Linux运维与数据库架构师的机会清单
linux
Brilliantwxx2 小时前
【Linux】 文件访问与路径解析:目录、文件名、dentry、路径缓冲与 dcache 全解析
linux·运维·服务器·开发语言·spring
father_12273 小时前
Greenplum 集群故障恢复与主备同步机制实战
linux·网络·greenplum
ynchyong3 小时前
linux中的 sed` 与 `seq`
linux·运维·sed·seq·文本工具
七牛云行业应用4 小时前
DeepSeek Harness(dsh)安装完整指南:Windows、macOS、Linux 三平台 + 桌面端与 Web 端全覆盖
linux·windows·macos·ai·ai编程
十年磨一剑~5 小时前
APT 仓库包查看方法文档
linux·ubuntu
DYWorker0016 小时前
第 1-1 课:启动编排:内核如何把自己装配起来
linux
wacsii6 小时前
【Linux基础开发工具(五)】Git版本控制器从入门到实战:核心操作三板斧与新手避坑指南
linux·运维·服务器
水饺编程6 小时前
第2章:Linux 基础,解压缩【.tar.gz】压缩包
linux·c语言·汇编
luoqice6 小时前
telnet登录linux实时查看xx.log日志
linux