我想知道是否有办法获得终端类型但获得env(“TERM”)。
tgetent(NULL, getenv("TERM"));
但是如果我用空的env执行我的程序
env -i ./a.out
我无法获得我需要使用termcap库的终端类型。
有没有办法找到空env的终端类型?
答案 0 :(得分:0)
您找不到终端环境,而是设置它,以便您的应用程序正常运行。它应设置为与程序运行的终端的功能相对应。
有一些特殊情况,例如cron
,你没有终端,但出于某种原因希望能够使用termcap(更有可能是一个termcap接口到一个terminfo库,由办法)。在ncurses中,有一些条目,例如generic
,unknown
和dumb
,它们指的是不能用于全屏模式的终端。
今天使用的大多数(例如2/3或更多)终端仿真器与DEC VT100具有合理的兼容性,因此将TERM
设置为vt100
"工作&#34 ;.为了更好地适应,您需要知道终端的功能。例如,有些人会说将其设置为xterm
,但这可能不是一个好建议(ncurses FAQ Why not just use TERM set to "xterm"? )。