Tmux边界显示为x q而不是行? [英] Tmux borders displayed as x q instead of lines?

查看:294
本文介绍了Tmux边界显示为x q而不是行?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我无法使tmux显示边框线。它们正在用x和q创建。这是一个debian挤压服务器,并且locale设置为en_US UTF8。我还尝试添加

 #指示tmux预期UTF-8序列
setw -g utf8 on

上设置-g status-utf8

到.tmux.conf。没有什么似乎工作。我不知道这是否是一个地区问题。它在其他服务器上正确显示,而不是debian。我感谢您提供的任何提示!谢谢...

解决方案

您的终端模拟器与 terminfo 数据库条目之间存在一些不匹配由 tmux 使用(当您启动/附加到tmux 服务器时,由TERM环境变量命名)。



< hr>

根据 VT100用户指南,表3-9:特殊图形字符,当选择特殊图形集时, x 用于绘制垂直条和 q 用于绘制水平线 - 扫描5。



terminfo 下,VT100特殊图形字符可用作为替代字符集功能的一部分;请参阅 terminfo(5)的线图部分手册页






可能(在您的Debian服务器上)有效的 terminfo 数据库条目表示ACS可用,但您的终端仿真器实际上不响应指定的控制序列。



tmux 更改文件表示某些终端仿真器(例如Putty)不遵循ACS控制序列当它们处于UTF-8模式时。因此,当连接客户端指定它可以处理UTF-8(即,当附加)时, tmux 1.4有一个变化,使其始终使用UTF-8字符而不是ACS序列-u UTF-8 存在于LC_ALL,LC_CTYPE或LANG中; utf8 窗口选项是关于tmux 应该从其运行的程序中预期的内容,而不是它可以发送给所附的客户端。



<一个href =http://packages.debian.org/search?keywords=tmux> Debiansqueeze只包括 tmux 1.3 ,所以你的 tmux 可能没有喜欢UTF-8线图功能(除非它从 backports 源中提取)。 p>

如果您无法修复终端仿真器,或至少升级到 tmux 1.4,那么您可以使用 tmux 终端覆盖选项来取消设置与ACS相关的功能,以便 tmux 将会发生我回到ASCII线图。在您的 .tmux.conf (在Debian系统上):

  set-option -ga terminal-overrides',*:enacs @:smacs @:rmacs @:acsc @'


I'm having trouble getting tmux to display lines for borders. They are being created with x and q. It's a debian squeeze server and the locale is set to en_US UTF8. I also tried adding

# instructs tmux to expect UTF-8 sequences
setw -g utf8 on
set -g status-utf8 on

lines to .tmux.conf. Nothing seems to work. I'm not sure if it's a locale issue or not. It displays correctly on other servers, but not the debian. I appreciate any tips you could offer! Thanks...

解决方案

There is some mismatch between your terminal emulator and the terminfo database entry being used by tmux (the one named by the TERM environment variable when you start/attach to a tmux server).


Per the VT100 User Guide, Table 3-9: Special Graphics Characters, when the "special graphics set" is selected, x is used to draw the "Vertical bar" and q is used to draw "Horizontal line - Scan 5".

Under terminfo, the VT100 special graphics characters are available as a part of the Alternate Character Set functionality; see the "Line Graphics" section of the terminfo(5) man page.


Probably (on your Debian server) the effective terminfo database entry indicates that ACS is available, but your terminal emulator is not actually responding to the specified control sequences.

The tmux CHANGES file indicates that some terminal emulators (e.g. Putty) do not respect the ACS control sequences when they are in UTF-8 mode. Thus, tmux 1.4 has a change that makes it always use UTF-8 characters instead of ACS sequences when the attaching client specifies that it can handle UTF-8 (i.e. when attaching, -u was given or UTF-8 is present in LC_ALL, LC_CTYPE or LANG; the utf8 window option is about what tmux should expect from the programs it runs, not what it can send to the attached client).

Debian "squeeze" only includes tmux 1.3, so your tmux probably does not have the "prefer UTF-8 line drawing" feature (unless it pulls from a backports source).

If you can not fix your terminal emulator nor upgrade to at least tmux 1.4, then you might be able to use tmux’s terminal-overrides option to unset the ACS-related capabilities so that tmux will fall back to ASCII line drawing. In your .tmux.conf (on the Debian system):

set-option -ga terminal-overrides ',*:enacs@:smacs@:rmacs@:acsc@'

这篇关于Tmux边界显示为x q而不是行?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆