Linux 终端跳过一些(重复/空格)字符

Linux 终端跳过一些(重复/空格)字符

在某些控制台应用程序中,我的 Linux 服务器已开始“剥离”某些重复字符,从而显着影响用户界面。

这里有一些例子:

具有不均匀列和 CPU 图表的 htop 视图此 htop 视图的 CPU 图形大小和列不一致。

具有不均匀列的 iptraf-ng 视图iptraf-ng 主菜单缺少框字符 这些 iptraf-ng 视图显示菜单框字符未“填充”,并且实时视图中的列不均匀。

几点:

  1. 已确认,这种情况仅发生在 Windows 上的 PuTTY 和 Windows 上的 Cygwin (mintty) shell 上。我还没有测试过它是否发生在 Mac OS X 终端上。它不会发生在本地控制台上。
  2. 如果您从另一个 Linux 文本控制台通过 SSH 连接到计算机,则不会发生这种情况。
  3. 我的高度怀疑是这与终端类型有关。但是,我拥有的另一台 Linux 服务器在 PuTTY 或 Cygwin 上没有表现出此行为。两者都报告$TERM为设置为xterm
  4. 我尝试在有问题的服务器上重新安装 ncurses,这也应该刷新 terminfo 文件,但没有解决方案。
  5. 两台机器——工作正常的一台和表现出这种行为的一台——都用作en_US.UTF-8区域设置(LANG变量)。两人locale.gen最近均已被处决。
  6. 表现出这种行为的应用程序似乎都是基于诅咒的应用程序。纯终端应用程序就可以了。

如果相关的话,两个系统都是 Arch Linux 64 位,并且应用了所有当前补丁。

有人可以帮助查明/解决问题吗

答案1

terminfo这是由数据库(的一部分)最近的更改触发的,ncurses表示TERM=xterm(和变体)支持 REP(重复前一个字符)转义序列,除了其他几个终端模拟器之外,还xterm没有,或者刚刚添加/很快将添加支持。

参见例如康索尔或者侏儒终端错误报告以获取更多详细信息。

相关内容