![每当我启动 tmux 或重新连接到 cygwin 中的会话时,tmux 都会打印“1;2c”](https://linux22.com/image/1373317/%E6%AF%8F%E5%BD%93%E6%88%91%E5%90%AF%E5%8A%A8%20tmux%20%E6%88%96%E9%87%8D%E6%96%B0%E8%BF%9E%E6%8E%A5%E5%88%B0%20cygwin%20%E4%B8%AD%E7%9A%84%E4%BC%9A%E8%AF%9D%E6%97%B6%EF%BC%8Ctmux%20%E9%83%BD%E4%BC%9A%E6%89%93%E5%8D%B0%E2%80%9C1%3B2c%E2%80%9D.png)
tmux
如果我从 cygwin bash shell运行,它1;2c
会在 tmux 启动后在我的提示符上打印。如果我连接到我之前打开的会话,tmux attach-session
它会执行相同的操作。如果我在该会话中打开了 vim,它将表现得好像我1;2c
在 vim 中输入了一样。
我将其.bashrc
清空,因此我知道这是由 tmux 而不是我的 bash 设置引起的。
答案1
在 cygwin 上,tmux 中肯定存在竞争条件,因为escape-time
从 0 改为 1 就可以解决这个问题大多数时候。
对于超过 50ms 的值,这个问题不会再出现。
答案2
对于那些有同样问题的人。这都是关于 /dev/pts/ 权限
使用以下命令将您的用户添加到 tty 组:
sudo usermod -a -G tty escaper
然后更改权限:
sudo chmod 730 /dev/pts
或任何您想要的,但必须具有集体写作权限。
另外,如果在 make chroot 和 mount /dev 之后遇到此问题,那么您可以 mount dev/pts。如下所示:
sudo mount --bind /dev/ /home/jail/dev
sudo mount --bind /dev/pts/ /home/jail/dev/pts