我将术语设置为tmux-256color
through .tmux.conf
,但我无法在 ncurses 应用程序中使用 256 色模式。根据这个邮政现在应该已经支持了。xterm-256color
工作得很好。
运行应用程序:
env TERM=tmux-256color ./ncurses_app
也不行。对于 screen-256color 也是如此。
CMAKE脚本:
cmake_minimum_required(VERSION 3.8)
project(pkgsinfo)
set(CMAKE_C_STANDARD 11)
set(CMAKE_VERBOSE_MAKEFILE on)
set(SOURCE_FILES
ProjectFiles.c)
set(CURSES_NEED_WIDE ON)
set(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/CMake/Modules")
find_package(Curses 6 EXACT REQUIRED)
add_executable(pkgsinfo ${SOURCE_FILES})
target_link_libraries(pkgsinfo ${CURSES_LIBRARIES})
该项目的链接参数:
/usr/bin/cc -g CMakeFiles/pkgsinfo.dir/ProjectFiles.c.o -o
pkgsinfo /usr/lib/libncursesw.so /usr/lib/libtinfo.so -lform
它正在使用宽库。 screen-256color 和 tmux-256color 也安装在 terminfo 数据库中。
还没有完全支持 tmux 和屏幕 256color 吗?
答案1
这是相当模糊的:要么安装了终端条目,要么没有安装。默认为“小型”终端数据库的系统(例如 Debian 及其派生系统,例如 Ubuntu)不会安装任何多路复用器变体。
如果你设置TERM
为未安装的东西,screen 和 tmux 都会给出错误并停止。 ncurses 应用程序调用initscr
也会给出错误,并停止。
使用 256 色时,您需要 ncurses6 并使用宽字符库,-lncursesw
因为窄 ( -lncurses
) 库仅支持最多 16 种颜色。