Câu trả lời:
Theo tôi biết, không có cách nào để truy vấn màu sắc của trình giả lập thiết bị đầu cuối. Bạn có thể thay đổi chúng bằng \e]4;NUMBER;#RRGGBB\a
( NUMBER
số màu của thiết bị đầu cuối (0 Biến7 cho màu sáng, 8 trừ15 cho màu sáng) và #RRGGBB
là giá trị màu RGB thập lục phân) nếu thiết bị đầu cuối của bạn hỗ trợ chuỗi đó (tham khảo: ctlseqs ).
Các cơ chế phối màu mạnh mẽ thường có cài đặt nền tối hoặc sáng mà bạn phải cung cấp để cho biết bạn có nền đen hay xám đen hay nền trắng hoặc xám nhạt.
Khi bạn tự cấu hình, điều đó thường đủ để quyết định bạn sẽ luôn sử dụng cùng màu nền.
TERM
và vì vậy không thể được thu được từ môi trường.
Nếu bạn đang sử dụng gnome-terminal, bạn có thể lấy màu nền cho bất kỳ cấu hình nào, trong trường hợp này đối với cấu hình Mặc định là
$ gconftool-2 --get /apps/gnome-terminal/profiles/Default/background_color
#E12FE12FC74D
sau đó bạn có thể quyết định làm thế nào để thiết lập lời nhắc của bạn cho phù hợp.
Với xterm, bạn có thể truy vấn màu nền với \e]11;?\a
chuỗi thoát. Bạn cần đọc phản hồi từ thiết bị đầu cuối. Có một xtermcontrol
lệnh thực hiện điều đó cho bạn:
~$ xtermcontrol --get-bg
rgb:b0b0/b0b0/b0b0