21

我经常使用腻子(http://www.chiark.greenend.org.uk/~sgtatham/putty/)连接到 Ubuntu 盒子(现在是 9.04)。它运行良好,但我无法在 Ubuntu 端弄清楚 Putty 字体、字符编码、字符翻译和终端配置的正确组合,以便终端正确显示所有内容。在运行诸如“screen-profiles”或“w3m”之类的 ncurses 程序时,问题最为明显。方框图字符搞砸了。

有没有人对这种组合感到满意?

4

6 回答 6

29

尝试导出以下环境变量

export NCURSES_NO_UTF8_ACS=1

这会阻止 ncurses 在 UTF-8 语言环境中使用 VT100“备用字符集”线条绘图字符,并改为使用 Unicode 方框绘图字符。

于 2011-08-10T10:45:29.083 回答
10

我能想到的最好的方法是将 Window/Translation 中的 putty 配置更改为 UTF-8,并将 Window/Appearance 中的字体更改为 Lucida Console。

它使大多数字符正确。在“aptitude”中,菜单以线条绘制字符正确勾勒出来,但不是“您确定要退出”弹出对话框。运行像“man ls”这样的命令现在可以正确显示大部分字符,但连字符的单词最终会以一个框代替连字符。

无论如何,这对于在 Emacs 中编程来说已经足够好了。更好的解决方案表示赞赏。

于 2009-05-13T20:19:38.050 回答
5

例如,在“UTF-8”中,Putty(或增强的 fork Kitty)都不会尊重切换到 VT100 样式线条绘制模式的请求aptitude- 这是设计使然(http://www.chiark.greenend.org .uk/~sgtatham/putty/wishlist/utf8-plus-vt100.html)。

但是,如果我们将“连接 > 数据 > 终端类型字符串”设置为“putty”而不是默认的“xterm”,它可以解决问题,因为服务器会调整渲染字符。

我相信这个解决方案比export NCURSES_NO_UTF8_ACS=1我自己迄今为止使用的更好。

修复腻子画线问题

于 2015-01-19T02:16:00.483 回答
0

就我而言,它不是 ncurses,也不是腻子。这是语言环境,未设置为 UTF-8 ......

所以locale调用产生了下面的结果。

$ locale
LANG=en_US

但是,需要的是

$ locale
LANG=en_US.UTF-8

我能够通过

$ sudo locale-gen en_US.UTF-8
$ sudo update-locale LANG=en_US.UTF-8
于 2015-09-16T07:15:23.187 回答
0

不要挖掘旧帖子,但KiTTY(PuTTY fork)提供了一个复选框以“允许 ACS 以 UTF 绘制线条”(新/当前会话设置-> 窗口-> 翻译),这似乎适用于 aptitude 等应用程序。我刚刚下载了最新版本的 PuTTY,这个复选框不存在,所以它必须是特定于 KiTTY 的。

关于手头的问题,其他答案没有错;这只是附加环境变量或更改广告终端类型的替代方法。(如果您使用的是 screen/tmux 以及 termcap 是如何参与的,另请参阅https://stackoverflow.com/a/8485457/1011365了解更多信息,尽管仅供参考,我使用的是最新的 tmux 并且仍然需要选中 KiTTY 中的复选框以允许字符正确显示)

于 2016-09-25T18:01:38.060 回答
-1

我主要使用 Putty 与我的 Ubuntu vm-boxen 进行交互,所以我确实花了一些时间让视觉配置正确。基本上,我将字体设置为 MS Gothic、9pt(用于等宽和日文)、UTF-8 用于接收数据,并将终端类型字符串设置为xterm-256color. 我不理会大多数终端设置,因为默认设置似乎运行良好。

在 Ubuntu 方面,我设置了LANG=en_US.UTF-8,aptitude install ncurses-term附加条款。我通过一个不错的脚本检查终端颜色,并在GNU Screen会话和GNU Emacs( M-x list-colors-display) 中仔细检查。GNU Screen没有用 256 色选项编译,所以我重新编译它。我通过使用Emacs( M-x view-hello-file) 以及tig一个git包含 i18n utf-8 日志提交的目录来检查语言。

不幸的是,我仍然得到奇怪的“lqqqqk”东西aptitude(线条艺术缺失?)但间距仍然正确。按下退格键也会aptitude插入一个字符,我还没有征服。我还在我的系统上测试了你的命令行 w3m,它看起来不错。我宁愿使用 emacs 中的 w3m。:-)

说实话,我用的是日本的腻子叉,叫做 Gottani(腻子ごった煮版),它对日语的帮助更大,但我认为它非常接近普通的腻子。

另外:我还设置了终端 > 功能 > 禁用远程控制终端调整大小,因为“GNU 屏幕”覆盖了我的窗口大小设置。

以上所有内容均在 Ubuntu 8.04 LTS "Hardy Heron" 上进行了测试。

于 2009-12-20T04:38:35.737 回答