我制作了一些要在终端中玩的动画和游戏,它们依赖于只有 8 种可用颜色的终端。当我在有 16 种可用颜色的终端上运行它们时(当您运行 neofetch 并看到可用颜色时尤其明显),它们根本无法正确渲染。
有没有一种快速而肮脏的方法来强制 Linux 终端仅使用 8 种颜色?
编辑:问题也可能是我在制作这些程序时在 Ubuntu 18.04 LTS 上使用旧版本的 ncurses。我试图让它们在具有最新版本的库的发行版上看起来正确。对于任何有兴趣尝试回答我最初提出的问题的人,如果可能的话,我仍然会接受任何演示强制 gnome-terminal 恢复到 8 色模式的方法的内容。
编辑:该问题与我经常使用standend() 将绘图功能恢复为黑色文本上的白色有关。由于某种原因,这并没有达到我在某些发行版上的预期效果。通过明确地告诉 attron() 一个明确定义为黑色和白色的颜色对,我解决了这个问题。这是一个 hacky 和硬编码的解决方案,源于我以硬编码的方式滥用 ncurses 库。考虑这个问题已经解决了,尽管我对一些关于使用原始转义序列进行编程的易消化资源感兴趣,以便将来更好地理解这个问题。
答案1
该问题与我经常使用standend() 将绘图函数恢复为黑色文本上的白色有关。由于某种原因,这并没有达到我在某些发行版上的预期效果。通过明确地告诉 attron() 一个明确定义为黑色和白色的颜色对,我解决了这个问题。这是一个 hacky 和硬编码的解决方案,源于我以硬编码的方式滥用 ncurses 库。