Mar*_*ter 13 colors tty console linux-kernel
假设,我有一个没有X server
. 我只能从控制台登录。看来,默认情况下 linux 控制台仅支持 8 种颜色:
# tput colors
8
Run Code Online (Sandbox Code Playgroud)
是否可以在控制台中使用 256 种颜色,就像我在终端仿真器(即终结器)中使用的一样?
在谷歌搜索时,我发现了许多类似的问题(其中许多已经超过 10 年),但没有明确的答案。有人建议使用帧缓冲区,其他人建议将 TERM 参数附加到内核引导选项。
目前,我只传递一个额外的选项作为内核启动参数:
append="video=1280x720"
Run Code Online (Sandbox Code Playgroud)
我相信传递视频分辨率仅适用于kernel mode setting
支持的现代内核,但我不确定。
是否可以在现代 linux 控制台 (tty) 中使用 256 种颜色
如何?
我正在使用内核 4.1 的 Debian Wheezy
更新:
根据@muru 的建议,我尝试了fbterm
. 虽然它可以使用 256 种颜色,但它的字体非常难看/乱码。此外,左下角有一个不断闪烁的光标,我觉得这很分散注意力。
我可以在没有 fbterm/framebuffer 的情况下在控制台中使用 256 色吗?
控制台中的 8 色限制从何而来?
实际问题由这两项组成:
我可以在没有 fbterm/framebuffer 的情况下在控制台中使用 256 色吗?
控制台中的 8 种颜色限制从何而来?
对于第一个问题:显然不是。所有建议的方法都使用 fbterm。对于第二个:它来自终端描述(又名“terminfo 条目”)。对于 Linux 控制台,TERM
设置为linux
,表示终端支持 8 种颜色。 tput从终端数据库获取其信息。
引用的线程中的一项内容说 fbterm 使用与 xterm 不同的转义序列来设置颜色。如果是这种情况(并且考虑到 Emacs 用户对事物进行硬编码的倾向),则 fbterm 没有合适的终端条目。