Utf 8 Tmux边框显示为x q而不是线?
我无法让tmux显示边框的线条。它们是用x和q创建的。这是一个debian压缩服务器,区域设置为en_US UTF8。我还尝试添加Utf 8 Tmux边框显示为x q而不是线?,utf-8,debian,tmux,Utf 8,Debian,Tmux,我无法让tmux显示边框的线条。它们是用x和q创建的。这是一个debian压缩服务器,区域设置为en_US UTF8。我还尝试添加 # instructs tmux to expect UTF-8 sequences setw -g utf8 on set -g status-utf8 on echo "LANG=en_US.UTF-8" > /etc/locale.conf 指向.tmux.conf的行。似乎什么都不管用。我不确定这是否是区域设置问题。它在其他服务器上显示正确,但在
# instructs tmux to expect UTF-8 sequences
setw -g utf8 on
set -g status-utf8 on
echo "LANG=en_US.UTF-8" > /etc/locale.conf
指向.tmux.conf的行。似乎什么都不管用。我不确定这是否是区域设置问题。它在其他服务器上显示正确,但在debian上显示不正确。我很感激你能给我的任何建议!谢谢…您的终端仿真器与tmux正在使用的terminfo数据库条目(启动/连接到tmux服务器时由TERM环境变量命名的条目)之间存在一些不匹配
echo "LANG=en_US.UTF-8" > /etc/locale.conf
根据,当选择“特殊图形集”时,
x
用于绘制“垂直条”,而q
用于绘制“水平线-扫描5”
echo "LANG=en_US.UTF-8" > /etc/locale.conf
在terminfo下,VT100特殊图形字符可作为备用字符集功能的一部分使用;请参阅中的“线条图形”部分
echo "LANG=en_US.UTF-8" > /etc/locale.conf
可能(在Debian服务器上)有效的terminfo数据库条目表明ACS可用,但终端仿真器实际上没有响应指定的控制序列
echo "LANG=en_US.UTF-8" > /etc/locale.conf
tmux文件表明,某些终端仿真器(如Putty)在UTF-8模式下不遵守ACS控制序列。因此,tmux 1.4有一个变化,当连接的客户端指定它可以处理UTF-8时,它总是使用UTF-8字符而不是ACS序列(即,在附加时,-u
已给出,或者UTF-8
存在于LC\u ALL、LC\u CTYPE或LANG中;utf8
窗口选项是关于tmux应该从其运行的程序中得到什么,而不是它可以发送给附加的客户端的内容)
echo "LANG=en_US.UTF-8" > /etc/locale.conf
,因此您的tmux可能没有“首选UTF-8线条绘制”功能(除非它从源中提取)
echo "LANG=en_US.UTF-8" > /etc/locale.conf
如果您无法修复终端仿真器,也无法升级到至少tmux 1.4,那么您可能可以使用tmux的终端覆盖
选项来取消设置ACS相关功能,以便tmux返回到ASCII线条绘制。在.tmux.conf
中(在Debian系统上):
echo "LANG=en_US.UTF-8" > /etc/locale.conf
在putty设置中,尝试在Window->Translation下将字符集设置为“UTF-8”和“使用Unicode线描代码点”。在windows/putty下,您使用的字体必须具有要显示的字符
echo "LANG=en_US.UTF-8" > /etc/locale.conf
将翻译“UTF-8”和“使用Unicode线条绘制代码点”以及字体设置为“courier new”,这些问题大部分都会消失当连接到Debian挤压机上运行的tmux时,PuTTY和Windows 8也有同样的问题。即使在PuTTY中将字符集设置为UTF-8(在“窗口>翻译>远程字符集”下的设置中)我没有获得正确的线条图
echo "LANG=en_US.UTF-8" > /etc/locale.conf
在Linux 12.04机器上启动tmux时,我遇到了与Putty相同的问题。即使在Putty中将字符集设置为UTF-8(在“窗口>翻译>远程字符集”下的设置中),也无法解决问题
echo "LANG=en_US.UTF-8" > /etc/locale.conf
使用-u选项启动tmux成功了(
tmux-u
)我将Putty中terminal的设置更改为Latin-1,这似乎解决了问题。我浏览了一系列建议,包括:
echo "LANG=en_US.UTF-8" > /etc/locale.conf
- 确认现场和腻子中的UTF-8设置
- 导出NCURSES\u NO\u UT8\u ACS=1
- 手动尝试各种字体和PuTTY翻译选项
echo "LANG=en_US.UTF-8" > /etc/locale.conf
将所有对话框调用更改为包含--ascii行是一个选项,但这将涉及大量脚本更改
echo "LANG=en_US.UTF-8" > /etc/locale.conf
最好的建议是将远程字符集更改为使用字体编码
echo "LANG=en_US.UTF-8" > /etc/locale.conf
PuTTY更改设置-->窗口-->转换-->远程字符集-->使用字体编码
echo "LANG=en_US.UTF-8" > /etc/locale.conf
将所有其他PuTTY设置保留为默认设置。对我来说,问题是我在设置此Arch Linux box时忘记创建
locale.conf
文件。下面一行修复了此问题,请替换您自己的语言。我不需要重新启动
echo "LANG=en_US.UTF-8" > /etc/locale.conf
如果您正在使用Windows->Translation选项卡下有一个复选框,称为“允许ACS在UTF中绘制线条”。需要选中该复选框:
echo "LANG=en_US.UTF-8" > /etc/locale.conf
字体选择似乎是一个令人困惑的因素,也就是说:
echo "LANG=en_US.UTF-8" > /etc/locale.conf
- Lucida sans不显示UTF-8线条图,仅显示-+|(管道) 替代品
- Courier New Bold不显示水平线,但| 垂直替代
- 信使新常态会把他们都干掉
echo "LANG=en_US.UTF-8" > /etc/locale.conf
感谢所有提示……你说得对!我没有继续尝试修复安装,而是升级到1.5,它修复了角色问题。现在看起来很棒:)在Debian Squence上为我工作,将q变成-并将x变成|。在Squence上也为我工作。从后台安装tmux的命令是
sudo apt get-t Debian backports install tmux
。Squence当前是否有tmux 1.6。我遇到的问题是客户端总是使用ASCII码,但不起作用。我将其设置为UTF-8
and一切正常。+1解释Putty不支持ACS+UTF。Kitty(Putty分叉/增强)有一个允许此选项(默认情况下似乎未选中)。为我解决了一个类似的问题。修复了一个我一直遇到的类似问题,但具有不同的字符(带有重音标记的a)我不得不将Putty使用的字符集切换到UTF-8。tmux-u为我做了这个技巧(cygwin mintty、mosh 1.4.2和tmux)作为参考,tmux-u
强制tmux在UTF-8模式下运行。默认情况下,它将尝试基于区域设置环境变量pr进行检测
echo "LANG=en_US.UTF-8" > /etc/locale.conf