我最近买了一个新的纯文本 CRT(我明白了,它很复古,我喜欢它)。我运行最小、仅 tty 的 CentOS 7。我需要禁用系统范围内的所有颜色(显示器只有绿色,所以我看不到一些东西)。有什么帮助吗?
此外,文本对于显示屏来说长了一两行,宽了 10 个字符。帮忙吗?
谢谢
答案1
如果不是连接到 VGA 端口的 CRT 显示器,大多数串行终端(尚未失效或自发分解)都具有 132 列模式。这应该可以解决您的宽度问题(现在人们不再为 80 列屏幕设计软件)。
至于颜色,您还定义了哪些其他终端? vt-100 是一种流行的标准,大多数物理终端都可以做到这一点。如果您的终端不能,那么您就太复古了。
编辑:由于您正在通过复合管道传输普通文本控制台,我猜 132 列会使像素难以解析,因此布局问题可能很难解决。宽度可能可以通过水平偏移(通常在显示器背面)和水平尺寸(通常在显示器内部)进行调整(小心 - 内部潜伏着高压,请尊重您的 CRT)。当时的一些显示器有一个开关,可以在通过电子枪调制之前将一点色度信号添加到亮度通道,因此即使它们都具有相同的亮度级别,您也会为不同的颜色获得不同的灰色/琥珀色/绿色色调。不确定 Amdek(顺便说一句,这是一个不错的选择)。
如果上述方法均无效,您可能需要更改 VGA 调色板本身以发送非默认 VGA 亮度值(其中亮度默认为 RGBI 调色板上的高位数)。幸运的是,Linux 内核有三个方便的 vt.default_* 内核参数,它们分别采用 16 个 1 字节值作为 16 种控制台颜色的 RGB 分量。来自内核文档:
vt.default_blu= [VT]
Format: <blue0>,<blue1>,<blue2>,...,<blue15>
Change the default blue palette of the console.
This is a 16-member array composed of values
ranging from 0-255.
vt.default_grn= [VT]
Format: <green0>,<green1>,<green2>,...,<green15>
Change the default green palette of the console.
This is a 16-member array composed of values
ranging from 0-255.
vt.default_red= [VT]
Format: <red0>,<red1>,<red2>,...,<red15>
Change the default red palette of the console.
This is a 16-member array composed of values
ranging from 0-255.
使用“vt.default_grn=0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff”告诉内核进行启动,我的文本控制台呈现出漂亮的绿色色调。您需要自己微调这些值(我自己的大多数古董都在巴西,因为运到这里太贵了,而且即使我这样做了,我也从来没有一台很酷的 Amdek 300,你这个幸运的家伙 ;-))。