使 256 色和线图字符都可以在 PuTTY 中使用

Swi*_*iss 33 linux terminal putty ncurses

我在使用 Ubuntu 设置 PuTTY 时遇到问题。

我试图让线条字符在 aptitude 和 256 色支持下工作,但只能得到一个或另一个。

  • Ubuntu 配置
    • 使用 64 位 Ubuntu
    • 终端类型 xterm-256color 或 putty-256color 提供 256 色但不正确的行字符。
    • 终端类型 linux 在 aptitude 中给出了适当的线条,但只有 16 种颜色。
  • 腻子配置
    • 使用带有 Unicode 字符的字体。(DejaVu Sans Mono)
    • 接收的数据假定为 UTF-8。
    • 设置为使用 Unicode 线条绘制代码点。

输出locale

LANG=en_US.UTF-8
LANGUAGE=
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=
Run Code Online (Sandbox Code Playgroud)

use*_*686 44

问题在于 UTF-8 模式下的 PuTTY 会忽略1 个VT100“备用字符集”命令,并且 ncurses 尝试使用“图形”字符集来绘制 GUI。(方框绘图字符的位置与klmqx通常相同。)

export NCURSES_NO_UTF8_ACS=1 对于您的环境,它应该通过告诉 ncurses 在选择 UTF-8 语言环境时始终使用 Unicode 框绘图字符来解决问题。

1为此有一个 PuTTY愿望清单条目,并解释了为什么当前的行为更好

更新 (2018-05-12):看来PuTTY 0.71支持此组合。

更新:PuTTY 现在在设置窗口 -> 翻译中有选项“即使在 UTF-8 模式下也启用 VT100 线图”。

  • 我只想指出,运行一个将备用字符集转换为 UTF-8 的程序也可以解决这个问题。我从你提供的链接中找到了这个。最好的示例程序是屏幕。 (8认同)
  • 不是挖掘旧帖子,而是 [Kitty](http://kitty.9bis.net/) - PuTTY fork - 提供了一个复选框以“允许 ACS 以 UTF 画线”(新/当前会话设置->窗口- >Translation) 似乎适用于 aptitude 等应用程序。 (3认同)

小智 10

这现在作为 PuTTY git master 中的一个选项实现。

腻子 0.71 ->

类别 -> 窗口 -> 翻译 -> 勾选“即使在 UTF-8 模式下也启用 VT100 线图”

截屏