linux内核的VT子系统实现的linux控制台,当我从串口控制台登录时,它使用terminfo还是termcap?
没有区别。一些系统可能会对某些应用程序使用termcap库(可能只是Slackware),但一个应用程序无论是否在串行端口上运行,都会使用相同的库。
一些应用程序使用到ncurses库的termcap接口(它同时提供termcap和terminfo接口),但这不会改变答案。他们仍然会使用相同的库(和相同的接口),因为在不同的低级接口之间切换到同一个库没有什么意义。
"接口"当然是指用于初始化和查询终端数据库的少数函数。使用termcap接口到ncurses的应用程序仍然可以获得terminfo数据,尽管稍作调整以更好地与screen
等应用程序配合使用,这些应用程序假设替换字符集是,而不是由termcap md
重置的(与sgr0
"相同")。
进一步阅读:
- 图书馆用户类型(ncurses常见问题解答)
- PC、UP、BC、ospeed、tgetent、tgetflag、tgetnum、tgetstr,tgoto,tputs-d将curses接口指向terminfo能力数据库
- del_curterm、mvcur、putp、restartterm、set_curterm,setterm,setupterm,tigetflag,tigetnum,tigetstr,tiparm,tparm、tput、vid_attr、vid_puts、vidattr、vidputs-curses到terminfo数据库的接口