ソラリゼーションカラースキーム alsamixer

ソラリゼーションカラースキーム alsamixer

そこで、ターミナル(te​​rmite)のカラーテーマをsolarized(light)に変更したのですが、 には影響しないようですalsamixer。背景を明るくしたいです。termiteとの設定を.Xresourcessolarizedカラーテーマに変更しました...

ここに画像の説明を入力してください

答え1

alsamixerこれは、背景色を黒に設定するためです。ANSIエスケープコードこれは^[[40mシーケンスを送信することを意味します。出力をいじることでこれを確認できます。

  1. alsamixer出力をファイルにリダイレクトしながら実行します。

    $ alsamixer > alsamixer.ansi
    

    Escまたはを使用しCtrl+Cて終了します。

    $ alsamixer | tee alsamixer.ansi
    

    出力を同時に確認したい場合。

  2. 問題のある部分を取り外します。

    $ 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 が時々表示されることがあります。ここでの問題は、生成される出力が 1 行であるため、sed内部バッファが十分に満たされたときにのみ処理が開始されることです。したがって、対話性については忘れてください。

ご質問に関してですが、修正は再コンパイルか、最小限のバッファリングでシーケンスを削除するフィルターのいずれかです。

関連情報