我的问题可能有一个简单的答案(或根本没有答案),但是什么可能导致curs_set(0)(使光标不可见)在tty上失败而在终端模拟器上失败?
我的测试代码是最简单的:
#include <ncurses.h>
#include <stdio.h>
int main()
{
initscr(); curs_set(0);
getch();
endwin();
return 0;
}
答案 0 :(得分:1)
tty缺少禁用光标的能力,或,在用于tty的terminfo描述中错误地定义(或缺少)禁用光标的代码。具体来说,ncurses尝试使用“civis”功能。您可以通过“infocmp”命令检查如何以及是否为您的tty定义了这个。
this question的答案包含许多相关细节。