所以我只是将我的终端(白蚁)颜色主题更改为日晒(光),但似乎它不会影响alsamixer
.我想要一个浅色背景。我将termite
和 的配置更改.Xresources
为日光颜色主题......
答案1
这是因为alsamixer
主动将其背景颜色设置为黑色。按照ANSI 转义码这意味着它发送^[[40m
序列。您可以通过摆弄其输出来验证这一点:
运行
alsamixer
时将其输出重定向到文件:$ alsamixer > alsamixer.ansi
使用Esc或Ctrl+C退出。您还可以使用
$ alsamixer | tee alsamixer.ansi
如果你想同时看到输出。
剥去有问题的部分:
$ sed -r -e 's/^[\[40m//g' -e 's/^[\[H^[\[2J.{,80}$//' < am.ansi
第一个正则表达式删除黑色背景,而后者删除退出时清除屏幕的序列。请注意,这
^[
实际上是一个 ESC 字符,在终端中通常由Ctrl+V Esc.最后一个 alsamixer 屏幕现在应该以默认背景显示。
您还可以尝试链接它:
$ alsamixer | sed -u 's/^[\[40m//g'
在某些情况下,可能会时不时地向您显示 alsamixer - 这里的问题是,产生的输出是一行,因此sed
只有在其内部缓冲区填满时才开始处理它。因此你可以忘记交互性。
至于你的问题:修复要么是重新编译,要么是一个过滤器,它将以最小的缓冲删除序列。