如何重置系统颜色

如何重置系统颜色

我使用的是 Linux Mint,MATE 版本。我在终端中向下滚动日志文件时经常遇到一个奇怪的问题:机器暂停一两秒,当它恢复时,我的系统颜色就乱了。也就是说,ANSI 颜色全都混在一起了 - 红色认为是黄色,黄色认为是绿色等等。这不仅影响终端,还影响其他几个桌面应用程序:Caja(nautilus 替代品)、Geany(文本编辑器)和 Gedit。

颜色分配似乎是随机的,有时会导致无法使用的组合,例如白色被黑色替换(在黑色背景上无用)。我需要重新启动才能恢复颜色。

我认为发生的情况是日志文件中的某些字符串未正确转义,并且正在影响系统中的某些内容,但我的技术不够,无法尝试调试此问题。是否有任何命令可以输入以重置所有颜色,有人知道吗?

非常感谢您的建议,max

编辑-附加截图在此处输入图片描述

编辑-我正在使用 MATE Terminal 1.2.1

答案1

向终端屏幕发出二进制字符是有风险的,因为某些控制序列会被解释为更改终端模式的命令,而不仅仅是颜色。这是因为 Linux 终端模拟了古老的 VT100 控制台(带有附加功能)。请参阅这个帖子以便更好地解释这个问题。

要清理你的tty,请使用以下一个或多个命令:

  • reset
  • stty sane
  • tput init
  • tput reset

更可靠的方法可能是使用stty 命令一次保存并重置所有设置:

  1. 用于stty -g以 stty 可读格式打印当前设置
  2. 复制结果字符串
  3. 将别名(s 代表 sane)添加到您的 shell 初始化文件(.bashrc 或其他文件)中,如下所示:
    alias s='stty <output string from step 2>'
  4. 当出现混淆时,只需输入:s Enter

答案2

正确答案是(至少对我来说是有效的):

tput sgr0

来自文档:

tput sgr0 – 关闭所有属性

相关内容