web-dev-qa-db-ja.com

システムの色をリセットする方法

Linux Mintを使用しています、MATEバージョン。ターミナルでログファイルを下にスクロールすると、マシンが1〜2秒間一時停止し、それが発生すると、非常に頻繁に発生する奇妙な問題が発生します。システムの色がスクランブルされています。つまり、ANSIの色がすべて混同されています。赤は黄色、黄色は緑などです。これは、ターミナルだけでなく、他のいくつかのデスクトップアプリにも影響します。Caja(ノーチラスの代替品)、 Geany(テキストエディター)、およびGedit。

色の割り当てはランダムに見え、白が黒に置き換えられるなど、使用できない組み合わせになることがあります(黒の背景では役に立ちません)。色を元に戻すには再起動する必要があります。

私が起こっていると思うのは、ログファイル内の文字列の一部が適切にエスケープされておらず、システム内で何かにぶつかっているということですが、これをデバッグするのに十分な技術はありません。すべての色をリセットするコマンドを入力できますか?誰か知っていますか?

アドバイスに感謝します、最大

編集-添付のスクリーンショットenter image description here

編集-私はMATEターミナル1.2.1を使用しています

9
Max Williams

一部の制御シーケンスは、色だけでなく、端末モードを変更するコマンドとして解釈されるため、端末画面にバイナリ文字を発行するのは危険です。これは、Linuxターミナルが旧式のVT100コンソール(追加機能付き)をエミュレートするためです。問題の適切な説明については、 この投稿 を参照してください。

Ttyをサニタイズするには、次のコマンドの1つまたは複数を使用します。

  • reset
  • stty sane
  • tput init
  • tput reset

より確実な方法は、 stty command を使用して、すべての設定を一度に保存およびリセットすることです。

  1. 使用する stty -g現在の設定をsttyで読み取り可能な形式で印刷します
  2. 結果の文字列をコピーします
  3. シェルのinitファイル(.bashrcなど)にエイリアス(saneの場合)を次のように追加します。
    alias s='stty <output string from step 2>'
  4. 混乱が生じたら、次のように入力します。 sEnter
12
harrymc

正解は(少なくとも私の場合はうまくいきました):

tput sgr0

ドキュメントから:

tput sgr0 –すべての属性をオフにします

2