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