Tmux边界显示为x q而不是行?

时间:2022-07-02 10:46:50

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

我很难让tmux显示边界。它们是用x和q创建的,它是一个debian压缩服务器,本地设置为en_US UTF8。我也试过添加

# 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...

行.tmux.conf。似乎没有什么工作。我不确定这是不是一个地区问题。它在其他服务器上正确显示,而不是debian。我很感激你能提供的任何建议!谢谢……

8 个解决方案

#1


54  

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).

在您的终端模拟器和tmux使用的终端数据库条目之间存在一些不匹配(当您开始/附加到tmux服务器时,术语环境变量指定的一个)。


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”.

在VT100用户指南中,表3-9:特殊图形字符,当选择“特殊图形集”时,使用x绘制“竖线”,q被用于绘制“水平线-扫描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.

在终端下,VT100特殊图形字符作为替代字符集功能的一部分可用;请参阅终端(5)手册页的“行图形”部分。


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.

可能(在您的Debian服务器上)有效的终止数据库条目表明ACS是可用的,但是您的终端模拟器实际上并没有响应指定的控制序列。

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).

tmux更改文件表明一些终端模拟器(例如Putty)在UTF-8模式下不遵守ACS控制序列。因此,tmux 1.4有一个变化,它总是使用UTF-8字符而不是ACS序列,当附加的客户端指定它可以处理UTF-8(即当附加时,-u被给定或UTF-8在LC_ALL、LC_CTYPE或LANG中出现;utf8窗口选项是关于tmux应该从它运行的程序中期望什么,而不是它可以发送给附加的客户端。

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).

Debian“压缩”只包含tmux 1.3,所以您的tmux可能没有“更喜欢UTF-8线条图”的特性(除非它从一个backports源提取)。

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):

如果您不能修复您的终端模拟器,也不能升级到至少tmux 1.4,那么您可能可以使用tmux的终端overrides选项来取消与acs相关的功能,这样tmux就会回到ASCII线图。在你.tmux。conf(在Debian系统上):

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

#2


42  

I had the same problem with PuTTY and Windows 8 when connecting to tmux running on a Debian Squeeze machine. Even when setting the charset to UTF-8 in PuTTY (in the settings under Window > Translation > Remote character set) I didn't get the correct line drawing.

当连接到Debian压缩机器上的tmux时,我遇到了同样的问题:PuTTY和Windows 8。即使将charset设置为PuTTY中的UTF-8(在窗口> Translation > Remote字符集下的设置中),我也没有得到正确的线条图。

Setting the Remote character set to "Use font encoding" did the trick for me.

将远程字符集设置为“使用字体编码”为我提供了一个技巧。

#3


37  

Try setting the character set to "UTF-8" and "Use Unicode line drawing code points" under Window -> Translation in your putty settings.

尝试将字符集设置为“UTF-8”,并“在您的putty设置中使用Window ->翻译”的“使用Unicode线条绘制代码点”。

#4


10  

I had the same problem with Putty when launching tmux on Linux 12.04 machine. Even setting the charset to UTF-8 in PuTTY (in the settings under Window > Translation > Remote character set) didn't solve the problem.

在Linux 12.04机器上启动tmux时,我遇到了与Putty相同的问题。即使将charset设置为PuTTY中的UTF-8(在窗口>转换>远程字符集下的设置中)也不能解决问题。

Launching tmux with -u option did the trick (tmux -u)

使用-u选项启动tmux的技巧(tmux -u)

#5


5  

I ran thru the gamut of suggestions including:

我对各种建议进行了讨论,包括:

  • confirming locale and UTF-8 setting in PuTTY
  • 确认地区和UTF-8设置在PuTTY。
  • exporting NCURSES_NO_UT8_ACS=1
  • 出口NCURSES_NO_UT8_ACS = 1
  • manually trying various fonts and PuTTY translation selections
  • 手动尝试各种字体和PuTTY翻译选择。

Above did not work. Dialog displays showed qqqq... and xxxx with various corner characters.

以上没有工作。对话框显示显示qqqq……和各种角字符的xxxx。

Changing all dialog calls to include --ascii-lines was an option but it would involve a lot of script changes.

更改所有对话框的调用包括-ascii-lines是一个选项,但它会涉及很多脚本更改。

Best recommendation was to change the Remote Character Set to Use font encoding.

最好的建议是更改远程字符集以使用字体编码。

PuTTY Change Settings --> Window --> Translation --> Remote Character Set --> Use font encoding

PuTTY更改设置——>窗口——>翻译——>远程字符集——>使用字体编码。

Left all other PuTTY settings default.

所有其他的PuTTY设置都默认了。

#6


3  

I changed the setting in Putty for terminal to Latin-1 and that seemed to fix the problem.

我将Putty的设置改为Latin-1,这似乎解决了问题。

#7


1  

under windows/ putty the font you use has to have the characters for it to display set translation "UTF-8" and "Use Unicode line drawing code points" and font to "courier-new" and most of those problems go away

在windows/ putty下,你所使用的字体必须有字符来显示设置的翻译“UTF-8”和“使用Unicode线条绘制代码点”和字体“courier-new”,这些问题大部分都消失了。

#8


0  

For me the issue was I forgot to make a locale.conf file when I setup this Arch Linux box. Below line fixed the issue, substitute your own language. A reboot was not required for me.

对我来说,问题是我忘了做locale。当我设置这个Arch Linux框时,conf文件。下面的问题解决了,用你自己的语言。我不需要重新启动。

echo "LANG=en_US.UTF-8" > /etc/locale.conf 

#1


54  

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).

在您的终端模拟器和tmux使用的终端数据库条目之间存在一些不匹配(当您开始/附加到tmux服务器时,术语环境变量指定的一个)。


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”.

在VT100用户指南中,表3-9:特殊图形字符,当选择“特殊图形集”时,使用x绘制“竖线”,q被用于绘制“水平线-扫描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.

在终端下,VT100特殊图形字符作为替代字符集功能的一部分可用;请参阅终端(5)手册页的“行图形”部分。


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.

可能(在您的Debian服务器上)有效的终止数据库条目表明ACS是可用的,但是您的终端模拟器实际上并没有响应指定的控制序列。

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).

tmux更改文件表明一些终端模拟器(例如Putty)在UTF-8模式下不遵守ACS控制序列。因此,tmux 1.4有一个变化,它总是使用UTF-8字符而不是ACS序列,当附加的客户端指定它可以处理UTF-8(即当附加时,-u被给定或UTF-8在LC_ALL、LC_CTYPE或LANG中出现;utf8窗口选项是关于tmux应该从它运行的程序中期望什么,而不是它可以发送给附加的客户端。

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).

Debian“压缩”只包含tmux 1.3,所以您的tmux可能没有“更喜欢UTF-8线条图”的特性(除非它从一个backports源提取)。

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):

如果您不能修复您的终端模拟器,也不能升级到至少tmux 1.4,那么您可能可以使用tmux的终端overrides选项来取消与acs相关的功能,这样tmux就会回到ASCII线图。在你.tmux。conf(在Debian系统上):

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

#2


42  

I had the same problem with PuTTY and Windows 8 when connecting to tmux running on a Debian Squeeze machine. Even when setting the charset to UTF-8 in PuTTY (in the settings under Window > Translation > Remote character set) I didn't get the correct line drawing.

当连接到Debian压缩机器上的tmux时,我遇到了同样的问题:PuTTY和Windows 8。即使将charset设置为PuTTY中的UTF-8(在窗口> Translation > Remote字符集下的设置中),我也没有得到正确的线条图。

Setting the Remote character set to "Use font encoding" did the trick for me.

将远程字符集设置为“使用字体编码”为我提供了一个技巧。

#3


37  

Try setting the character set to "UTF-8" and "Use Unicode line drawing code points" under Window -> Translation in your putty settings.

尝试将字符集设置为“UTF-8”,并“在您的putty设置中使用Window ->翻译”的“使用Unicode线条绘制代码点”。

#4


10  

I had the same problem with Putty when launching tmux on Linux 12.04 machine. Even setting the charset to UTF-8 in PuTTY (in the settings under Window > Translation > Remote character set) didn't solve the problem.

在Linux 12.04机器上启动tmux时,我遇到了与Putty相同的问题。即使将charset设置为PuTTY中的UTF-8(在窗口>转换>远程字符集下的设置中)也不能解决问题。

Launching tmux with -u option did the trick (tmux -u)

使用-u选项启动tmux的技巧(tmux -u)

#5


5  

I ran thru the gamut of suggestions including:

我对各种建议进行了讨论,包括:

  • confirming locale and UTF-8 setting in PuTTY
  • 确认地区和UTF-8设置在PuTTY。
  • exporting NCURSES_NO_UT8_ACS=1
  • 出口NCURSES_NO_UT8_ACS = 1
  • manually trying various fonts and PuTTY translation selections
  • 手动尝试各种字体和PuTTY翻译选择。

Above did not work. Dialog displays showed qqqq... and xxxx with various corner characters.

以上没有工作。对话框显示显示qqqq……和各种角字符的xxxx。

Changing all dialog calls to include --ascii-lines was an option but it would involve a lot of script changes.

更改所有对话框的调用包括-ascii-lines是一个选项,但它会涉及很多脚本更改。

Best recommendation was to change the Remote Character Set to Use font encoding.

最好的建议是更改远程字符集以使用字体编码。

PuTTY Change Settings --> Window --> Translation --> Remote Character Set --> Use font encoding

PuTTY更改设置——>窗口——>翻译——>远程字符集——>使用字体编码。

Left all other PuTTY settings default.

所有其他的PuTTY设置都默认了。

#6


3  

I changed the setting in Putty for terminal to Latin-1 and that seemed to fix the problem.

我将Putty的设置改为Latin-1,这似乎解决了问题。

#7


1  

under windows/ putty the font you use has to have the characters for it to display set translation "UTF-8" and "Use Unicode line drawing code points" and font to "courier-new" and most of those problems go away

在windows/ putty下,你所使用的字体必须有字符来显示设置的翻译“UTF-8”和“使用Unicode线条绘制代码点”和字体“courier-new”,这些问题大部分都消失了。

#8


0  

For me the issue was I forgot to make a locale.conf file when I setup this Arch Linux box. Below line fixed the issue, substitute your own language. A reboot was not required for me.

对我来说,问题是我忘了做locale。当我设置这个Arch Linux框时,conf文件。下面的问题解决了,用你自己的语言。我不需要重新启动。

echo "LANG=en_US.UTF-8" > /etc/locale.conf