【发布时间】:2014-04-29 14:56:14
【问题描述】:
这篇文章类似于this和this,但是没有putty,边框可以正常显示。因此,我怀疑这是由旧版本的tmux 引起的。
我正在运行 FreeBSD 9.2-release 和 tmux 1.9a(最新于 FreeBSD)。
我希望有人能给我解决这个问题的原因以及如何解决它。
【问题讨论】:
这篇文章类似于this和this,但是没有putty,边框可以正常显示。因此,我怀疑这是由旧版本的tmux 引起的。
我正在运行 FreeBSD 9.2-release 和 tmux 1.9a(最新于 FreeBSD)。
我希望有人能给我解决这个问题的原因以及如何解决它。
【问题讨论】:
我遇到了同样的问题。根本原因是 Linux 系统使用的是语言环境“POSIX”。 该问题已通过以下方式解决:
# show system locale
locale
# using utf-8 as system locale
export LC_ALL=en_US.UTF-8
export LANG=en_US.UTF-8
# attach tmux
tmux a
【讨论】:
在 Linux 12.04 机器上启动 tmux 时,我遇到了与 Putty 相同的问题。即使在 PuTTY 中将字符集设置为 UTF-8(在 Window > Translation > Remote character set 下的设置中)也不能解决问题。
使用 -u 选项启动 tmux 可以解决问题 (tmux -u)
【讨论】:
来自tmux FAQ:
我使用
PuTTY而我的tmux窗格分隔符都是qqqqqqqqq's!
PuTTY正在使用不支持 ACS 行的字符集转换 绘画。使用 Unicode 字体,尝试设置PuTTY以使用不同的翻译 在窗口 -> 翻译配置页面上。例如,将UTF-8更改为ISO-8859-1或CP437。可能还需要调整PuTTY对待的方式 画线字符在同一配置页面的下部。
话虽如此,我将tmux 1.8 与PuTTY 0.62、“UTF-8 翻译”、“Unicode 线条绘图代码点”和en_US.utf8 的远程语言环境一起使用,效果非常好。
您可能已将 PuTTY 配置为使用 Unicode,而无需在您的 FreeBSD 机器上使用 UTF-8 区域设置,或者反过来(如果我将远程区域设置切换到 C 而不触及我的 PuTTY 设置我得到您描述的行为)。
【讨论】:
locale 查询了远程主机的语言环境,发现它是C,所以我将Putty 的“远程字符集”设置更改为ISO-8859-15,tmux 行也很漂亮!感谢您的回答!
在我的情况下,我可以通过启用 PuTTY 中的设置来修复它:
Window ->
Translation ->
Adjust how PuTTY handles line drawing characters ->
[X] Enable VT100 line drawing even in UTF-8 mode
这是有道理的,因为“lqqqk”序列是 VT100 线条图的样子,如果它不被解释为这样。
【讨论】: