终端与颜色有什么问题?

use*_*710 5 colors terminal-emulator terminal

我是 linux/unix 的长期用户,因为几乎所有使用这种操作系统的人我都经常使用终端或终端模拟器,但我从来不明白为什么任何 GNU/Linux 发行版都很难提供像样的颜色终端或终端仿真器内的调色板(即使正确安装了驱动程序)。

例如,在 Ubuntu 下,您的 GTK 可以“美化”一切,但即使您拥有能够呈现数百万种颜色的调色板的 VGA,您仍然可能仅限于 8 或 256 种颜色的调色板:为什么?缺的是什么?还在编写终端模拟器的人采用的推理是什么?

小智 5

答案可能与 GTK 甚至现代计算零关系,绝对与 ANSI/VT100 图形有关,这是绝大多数终端所模拟的。您获得的颜色是能够以八位转义序列发送的颜色。是的,从理论上讲,人们可以将终端协议升级为新的和改进的东西,但我担心 a) 人们对现状非常满意,所以没有任何改变的真正理由,b) 一切都支持 VT100 - - 您的终端、那边的 Cisco 路由器、服务器机房服务器上的 RS-232 可访问 BIOS、我的电话……不胜枚举。基本上,如果它没有连接到 IBM 大型机(在这种情况下,EBCDIC 的 3270 仿真开始发挥作用——具有几乎所有相同的限制),它是 VT100。”

因此,在 ANSI/VT100“图形”的多字节替换开始发挥作用之前,恐怕我们被卡住了。我知道较新的终端确实支持 Unicode 字符——但据我所知,Unicode 地址只是字符,而不是颜色。对此似乎有一些相当深奥的辩论(参见/sf/ask/673828081/),但我当然没有看到任何像坚定共识那样的东西。

底线:大多数人认为它“没有坏”,所以他们并不急于修复它。