Windows 上的 PuTTY 中的 Ncurses 提示似乎已损坏

Windows 上的 PuTTY 中的 Ncurses 提示似乎已损坏

Byobu 在 PuTTY 中看起来非常糟糕。我已经修复了键映射问题,但手册页甚至 Google 中都没有指出这个问题:

损坏的PuTTY控制台

请注意窗口列表的位置错误、选择器位置损坏、最后一个窗口重复、右上角随机出现一个 a 以及错误放置的应用选项。虽然看不到这些,但最后一个选项是不可选的。

为了正确看到这一点,我需要使用 PuTTY 中的某些选项吗?

答案1

配置 putty 以读取 utf8。putty -> 配置 -> 窗口 -> 翻译在“接收数据...”中选择 utf。这不是 byobu 问题,而是 putty 问题。

也可以看看:

答案2

与 Putty 相关,我将此注释添加到屏风(1)之前的手册页:

> PuTTY  users have reported that the
> F2, F3, and F4 shortcut keys are not
> working properly.  PuTTY sends the
> same escape sequences as the linux
> console for F1-F4 by default.  You can
> fix this problem in the PuTTY config,
> Terminal -> Keyboard -> Function keys:
> Xterm R6.

看:

答案3

Ubuntu 的终端使用 UTF-8,但 byobu 的菜单似乎使用“ISO-8859-1(西欧)”字符集。您可以在窗口 -> 翻译中设置字符集。

我在互联网上找到了以下代码,我仍然对它很满意。byobu可能会有更多选择,但我也喜欢这个(~/.screenrc):

startup_message off
hardstatus alwayslastline
hardstatus string '%{= kG}[ %{G}%H %{g}][%= %{=kw}%?%-Lw%?%{r}(%{W}%n*%f%t%?(%u)%?%{r})%{w}%?%+Lw%?%?%= %{g}][%{B}%Y-%m-%d %{W}%c %{g}]%{w} %l'
shelltitle "$ |bash"
termcapinfo xterm ti@:te@
altscreen on

注意:对于 byobu,shelltitle "$ |bash"必须将其删除/注释掉,否则 byobu 将不起作用。

答案4

它对我有用(适合Putty-临时):

窗口 -> 翻译 -> 远程字符集:DEC-MCS

为了在您的应用程序中获得明确的解决方案:

  1. 添加文件.bashrc(仅针对当前用户)或添加 etc/bash.bashrc (针对所有用户)

NCURSES_NO_UTF8_ACS=1

  1. 确保您拥有:

    • sudo apt-get-install ncurses

    • sudo apt-get 安装 libncursesw5-dev

  2. 添加代码: #include <locale.h> #include <ncurses.h> //change curses ------------------------------------- //add in main setlocale(LC_TYPE, "");

  3. 使用以下方式编译应用程序-lncursesw,类似这样:

    gcc -o 档案 档案.c-lncursesw

相关内容