Giá trị của $TERM
không cung cấp nhiều thông tin về số lượng màu được hỗ trợ. Nhiều thiết bị đầu cuối tự quảng cáo là xterm
và có thể hỗ trợ bất kỳ số lượng màu nào (2, 8, 16, 88 và 256 là các giá trị phổ biến).
Bạn có thể truy vấn giá trị của từng màu với OSC 4 ; c ; ? BEL
trình tự điều khiển . Nếu số màu c
được hỗ trợ và nếu thiết bị đầu cuối hiểu trình tự điều khiển này, thiết bị đầu cuối sẽ trả lời lại với giá trị của màu. Nếu số màu không được hỗ trợ hoặc nếu thiết bị đầu cuối không hiểu trình tự điều khiển này, thiết bị đầu cuối không trả lời gì. Đây là một đoạn bash / zsh để truy vấn xem màu 42 có được hỗ trợ hay không (chuyển hướng đến / từ thiết bị đầu cuối nếu cần):
printf '\e]4;%d;?\a' 42
if read -d $'\a' -s -t 1; then … # color 42 is supported
Trong số các thiết bị đầu cuối phổ biến, xterm và thiết bị đầu cuối dựa trên thư viện VTE (Gnome-terminal, Terminator, Xfce4-terminal, cám) hỗ trợ trình tự điều khiển này; rxvt, konsole, màn hình và tmux không.
Tôi không biết một cách trực tiếp hơn.