如何将LIne Draw Characters写入终端

时间:2015-01-11 09:49:17

标签: terminal xterm

我目前正致力于为文本终端提供服务的服务器程序。它的目标客户端是xterm。 我试图在矩形部分周围“画线”,类似于旧TUI模式程序中的窗框。 当然有ASCII字符> 127定义那些线条绘制字符,但是通过telnet连接只有7位是相关的并且所有字符都是> 127转为客户端屏幕上的默认块。 我知道VT100控制序列,它设置其他图形集,如G0,G1等,以及如何通过ESC)x和ESC(x以及单字符代码SI和SO激活它们。问题是,这些似乎都没有达到预期的效果。

迄今为止我最好的成功是发送

ESC,')','0',SO

当我之后发送数据时,我仍然会得到普通字符。但是,一旦我终止连接并且xterm程序(我使用MobaXTerm)打印出它的deconnect消息,该消息现在出现在所选的图形字符集中。

将终端切换到图形模式然后绘制相应的图形字符的最佳方法是什么?

1 个答案:

答案 0 :(得分:0)

也许你不能:我记得MobyXterm是基于PuTTY的,其开发人员决定在进行UTF-8编码时不支持VT100线条绘制。当设置环境变量NCURSES_NO_UTF8_ACS时,ncurses库有一个解决方法可以解决这个问题 - 但这对你正在进行的转义序列的直接写入没有帮助。