tmux随机打印u'0x001b'和“] 112”


2

因此,我已经忍受了这个问题几周了,希望如果我让它发生足够多的话,我会找出潜在的触发因素。没运气。

在Ubuntu 14.04.1 LTS上的XMonad中gnome-terminal的bash中的tmux(干净安装)。当我使用香草Unity(甚至干净安装)而不是XMonad时出现相同的错误。

似乎不时有一些东西在打印字符u'0x001b',该字符叠加在字符串“] 112”中的']'字符上,而不是将其识别为转义后跟一些数字,tmux逐字打印为(随机)在屏幕上的位置。最近,字符串“] 112”也开始偶尔出现没有Unicode字符的情况。看来,如果字符超出了vim行的结尾,替换第一个字符有时会使其他字符保持完整。

强制重绘包含unicode字符的矩形的所有内容都将摆脱它们的整个序列。在Vim中,我可以删除字符串“] 112”中的每个单独字符,就好像它确实存在。简单地改变它们的颜色(例如,通过在vim中将光标定位在它们之上)并不能消除它们。

我没有足够的声誉来发布图像,但是我将在以下位置进行一些问题的屏幕录像:http : //www.brunobeltran.com/junkdump/tmux_error.mkv

以下是我的.tmux.conf。对于逃生时间,我玩过各种值,但没有用。此外,删除鼠标内容也无济于事。

任何想法或尝试尝试将不胜感激!


# 0 is too far from 1
set -g base-index 1

# Automatically set window title
set-window-option -g automatic-rename on
set-option -g set-titles on

set -g default-terminal screen-256color
set -g status-keys vi
set -g history-limit 10000

setw -g mode-keys vi
setw -g mode-mouse on
setw -g mouse-resize-pane on
setw -g mouse-select-pane on
setw -g mouse-select-window on
setw -g monitor-activity on

bind-key v split-window -h
bind-key s split-window -v
bind-key J resize-pane -D 5
bind-key K resize-pane -U 5
bind-key H resize-pane -L 5
bind-key L resize-pane -R 5
bind-key M-j resize-pane -D
bind-key M-k resize-pane -U
bind-key M-h resize-pane -L
bind-key M-l resize-pane -R

# Vim style pane selection
bind h select-pane -L
bind j select-pane -D
bind k select-pane -U
bind l select-pane -R

# Use Alt-vim keys without prefix key to switch panes
bind -n M-h select-pane -L
bind -n M-j select-pane -D
bind -n M-k select-pane -U
bind -n M-l select-pane -R

# Use Alt-arrow keys without prefix key to switch panes
bind -n M-Left select-pane -L
bind -n M-Right select-pane -R
bind -n M-Up select-pane -U
bind -n M-Down select-pane -D

# Shift arrow to switch windows
bind -n S-Left  previous-window
bind -n S-Right next-window

# No delay for escape key press
set -sg escape-time 0

# copy to clipboard in sane way on linux with xclip
bind -t vi-copy y copy-pipe 'xclip -in -selection clipboard'

# Reload tmux config
bind r source-file ~/.tmux.conf

# THEME
set -g status-bg black
set -g status-fg white
set -g window-status-current-bg white
set -g window-status-current-fg black
set -g window-status-current-attr bold
set -g status-interval 60
set -g status-left-length 30
set -g status-left '#[fg=green](#S) #(whoami)'
set -g status-right '#[fg=yellow]#(cut -d " " -f 1-3 /proc/loadavg)#[default] #[fg=white]%H:%M#[default]'

## my additions start here
# fix pgup/pgdn issues
#set -ga terminal-overrides ',xterm*:smcup@:rmcup@'
# Set up workflow for CJW Lab
#
new  -n Shell  "/usr/bin/env bash"
splitw -h -p 50 -t 0 "bash"
neww -n Matlab "/opt/MATLAB/R2014b/bin/matlab -nodesktop -nosplash"
splitw -h -p 50 -t 0 "bash"
neww -n Mathematica  "/opt/Wolfram/Mathematica/10.0/Executables/math"
splitw -h -p 50 -t 0 "bash"
neww -n Asciiquarium "~/bin/asciiquarium"
neww -n Media  "/usr/bin/ncmpcpp"

# Fix my leader to be Ctrl-q
unbind-key C-b
set -g prefix 'C-q'
bind-key 'C-q' send-prefix


我看到了同样的问题!你有没有解决?
杰夫

到目前为止,我还没有弄清楚(最新版本的Ubuntu,所有更新,来自repo的最新tmux)。你的设置是什么?也许我们俩都提交错误报告,有人会听吗?我不知道在哪里提交有关此主题的错误的正确位置。
brunobeltran0

我正在运行Crunchbang(我的终端带有Debian的Debian)。您是否正在执行任何远程ssh会话并重新连接到tmux会话?我还使用Cygwin / Mintty ssh并附加到我的tmux会话,但在这些会话中看不到此行为,这使我认为它与终端而不是tmux有关。
杰夫

另一件事,直到我最近切换到使用Solarized配色方案之前,我才从未注意到这一点。
杰夫2015年

1
另外,从Solarized移开也无济于事,所以我想认为这确实是终端特定的问题。杰夫,您能将此漏洞标记为也会影响您吗? bugs.launchpad.net/ubuntu/+source/gnome-terminal/+bug/1435905
brunobeltran0

Answers:


2

根据Egmont Koblinger在bugtracker(https://bugs.launchpad.net/ubuntu/+source/gnome-terminal/+bug/1435905)上的有用输入,看来此错误已在上游修复。

该错误似乎是由于libvte缺乏对OSC 112(“重置光标颜色”转义符)的支持所致。这可能就是Jeff在安装solarized后注意到该错误的原因。终结器和gnome-terminal都使用libvte,因此相同的修复程序应同时应用于两者。

通过添加以下行,只需从utopic仓库中安装最新版本的libvte(libvte-2.90-9 / utopic)

deb http://us.archive.ubuntu.com/ubuntu utopic main restricted

deb http://extras.ubuntu.com/ubuntu utopic main

到文件

/etc/apt/sources.list

(需要root特权)。

然后执行以下命令,要求apt 从utopic仓库安装libvte-2.90-9:

~# apt-get update

其次是

~# apt-get install libvte-2.90-9/utopic

这应该可以解决Ubuntu Trusty中的问题。很难知道,较旧版本的Ubuntu可能会遇到依赖性问题。


0

这也在github上进行了报道。在.tmux.conf文件中添加以下行可以解决此问题,直到更新libvte。

set-option -g terminal-overrides ',xterm*:Cr=\E]12;gray\007'
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.