繁体   English   中英

如何获得 FreeBSD 无头控制台/终端的 256 色支持?

[英]How to get 256 color support for FreeBSD headless console/terminal?

如何使用控制台/终端在 FreeBSD 13 无头机器上获得 256 色支持?

我在机器上安装了一个矫枉过正的 GPU“AMD Radeon PRO WX 2100”。

基本上想避免使用桌面环境,因为我只需要使用纯粹基于“文本”的机器。

该机器将用于显示实时股票定价,我想使用颜色突出显示使基于文本的实时图表终端/控制台应用程序更加用户友好和可读。

我找不到任何可理解或简单的指南来这样做,也不知道从哪里开始。

我正在使用 ncurses 来制作应用程序。

当我在控制台输入tput color时,我得到一个返回值80

OP 误用了“无头”一词来表示非桌面,但从对 ncurses 的引用中可以清楚地看出其意图。 这指的是 FreeBSD 控制台中的文本模式。

简而言之:你不能那样做。

更长:没有 X(桌面),除非你要开发一个终端模拟器,在 FreeBSD 上使用 256 色运行 ncurses,否则你就不走运了。 参见例如concol (也许是一个起点,但没有什么可以与 ncurses 一起使用)。

许多用户被 FreeBSD 开发人员选择将较新的控制台终端仿真器的TERM变量设置为“xterm”的选择误导了,假设它可以显示 256 色。 这在 XTerm 常见问题解答“我可以通过它的数字设置颜色吗”的末尾提到,其中详细解释了 256 色功能是如何产生的。 teken(FreeBSD 控制台模拟器的专有名称)的 屏幕截图显示它无法呈现 256 色。 除了更改调色板以将其移向红色之外,它自 2014 年以来没有变化。

xterm 与 FreeBSD 256 色

FreeBSD 文档将teken称为“vt”。 与旧的“sc”(syscons)一样,它仅适用于 VGA 颜色(8 种 ANSI 颜色与明亮/粗体属性相结合以模拟 16 种颜色)。

FreeBSD 控制台终端仿真器记录在 FreeBSD 控制台仿真器的 ncurses 终端数据库部分。 特别是,在teken-2018条目之前,对此有很长的评论。


关于这一点:

当我在控制台输入 tput color 时,我得到一个值 80 的返回值。

这是 FreeBSD 配置的错误特征。 它的系统实用程序tput模仿了旧的基于 termcap 的实用程序(参见手册页),Keith Bostic 在 1989 年编写的模仿 AT&T tput实用程序。 这实际上已经晚了几年才能被视为“原始termcap”,但大多数用户不知道其中的区别。 无论如何,作为一个termcap实用程序(表面上),只使用该color的前两个字符,给出co (termcap 等效于columns )。 colors的术语名称是Co (参见手册页):

      max_colors                  colors    Co     maximum number of
                                                   colors on screen

termcap 应用程序无法理解 ncurses 中用于颜色的终端描述。 这发生在 FreeBSD 控制台中的某种工作(16 色)中,因为在外观下面是基于 terminfo 的 ncurses 库。


一些用户对文本和图形 VGA 模式之间的区别感到困惑。 非桌面环境使用文本模式,它提供 3 位(8 种文本颜色)和 1 位(通常被视为粗体),形成 16 种颜色。

图形模式下,可以使用 256 色的闪屏 这与文本模式无关。

vidcontrol程序显示当前视频模式的可用颜色。 它可以列出可用的模式,如此处所示。 只有少数可用于文本(所有这些都是如前所述的 VGA):

vidcontrol 显示视频模式摘要

它还可以显示不同版本的 FreeBSD 具有大不相同的视频功能的警告。 这是来自 FreeBSD 11 的屏幕截图

FreeBSD 11 vidcontrol 显示

自由BSD 12

FreeBSD 12 vidcontrol 显示

和 FreeBSD 13(其中 vidcontrol 没有选择):

FreeBSD 13 vidcontrol 显示

也许 FreeBSD 13 缺少模式信息表明有人打算让它使用其中一种图形模式,如手册页中所暗示的那样。 但是调色板还没有改进。 手册页例如说

注意:vt VGA 硬件驱动程序不支持调色板配置。

进一步阅读:

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM