web-dev-qa-db-ja.com

ConEmuで256色を有効にできません

私は素晴らしい ConEmu-Maximus5 コンソールで256色を取得しようとしています。

更新:8色のみが表示されるようになりました。 「$ tputcolors」の出力は「8」なのでわかります

指示 に従い、アクティブ化しました:

  • TrueMod(24ビットカラー)のサポート
  • ConEmuHkを注入します
  • ANSI x3.64/xterm256色

'バッファ/スライドかどうかを確認してください。'をどうすればよいかわかりません。

  • 私はウィンドウズ7にいます。
  • カスタムダイレクトリンクでConEmuを起動するので、cygwinbashファイルが読み込まれます。
 "C:\ Program Files\ConEmu\ConEmu64.exe"/cmd "" C:\ cygwin\bin\bash.exe "--login -i" 
  • 私のbashrcプロファイルには-> export TERM = cygwinがあります
  • これは私のカスタムコマンドプロンプトです:
関数プロンプト{
 
ローカルRED = "\ [\ 033 [0; 31m \]" 
ローカルGREEN = "\ [\ 033 [0; 32m \] "[。 u @\h $ LIGHT_COOLGREEN\$ PWD\[\ e [0m \]> "
 
} 
 
プロンプト
  • ちなみに、ONでのConEmuANSIの値。

スクリーンショットがいくつかあります。

enter image description here

ご覧のとおり、コマンドプロンプトは、256色の設定が気に入らないため、非常に贅沢に見えます。変数COOLREDとCOOLGREENをREDとGREENに置き換えると、問題ないように見えますが、256色ではありません。

設定のその他のスクリーンショット:

enter image description hereenter image description here

そして最後のシーンショットはcygwinのミントです。そこはすべて大丈夫です。フル256色をサポート。残念なことに、ミンティにはタブがありません。それが主に私がConEmuに移行しようとしている理由です。

enter image description here

助けてくれてありがとう!!!

22
RafaelGP

BashはANSIシーケンスをコンソールに送信しません。それら自体を処理しようとします。また、* nix端末は通常8色(256色モードを考慮しない)のみであるため、bashはWindows端末に共通の16色パレットではなく8色パレットを使用します。

_isattyはその端末でゼロを返すため、256色はminttyで機能すると思います。ただし、ConEmuではゼロ以外の値を返します。将来のビルドでこのパズルを解くかもしれません(一部のアプリケーションでPTY機能を備えた実際の端末を作成する方法)。

質問は

実際には256色は必要ありません。プロンプトパレットを再定義するには、「前景色を背景色に拡張する」機能を使用できます。 breafの場合-ConEmuで色16、17などを設定し、bashのプロンプト背景を#5(ConEmuで構成可能)に設定し、出来上がり。

ConEmuの「Extend ...」処理に小さなバグがありました。ビルド121016以降を使用してください。

PS1="\e[30;45m\u@\h \e[34;45m$PWD \[\e[0m\] > "

ConEmu and real console window

ConEmu settings

次の情報は質問と一致しませんが、役立つ場合があります

現在のバージョンは、「全体」のコンソールバッファーで256色モードをサポートしていません(制限、はい、プランで削除します)。

だから、あなたは2つの方法で行くことができます

  • スクロールバックバッファを完全に無効にします(多くの方法、たとえば「cmd -cur_console:h0」)
  • スクロールバッファの下部で作業します。
12
Maximus

また、256色のサポートを機能させることができませんでした(色は表示されますが、16色のパレットと同じように見えました)。 「xterm」の配色に切り替えたところ、ネイティブのWindows実行可能ファイル(Pythonなど)では機能しますが、Cygwinを使用するものでは機能しません。 Cygwinには、オフにできないターミナルエスケープシーケンス処理があるようです。これにより、ConEmuHkインジェクションが無効になります。

これは、ConEmu wikiに記載されています。

2
Glyph

私はこの奇妙な問題と奇妙な解決策を持っていました、そしてどういうわけかそれはうまくいきます。これが他の人にもあるかどうかはわかりませんが、これが役立つ場合に備えて、情報を共有するだけです。

私はコンソールに色を付けるのが好きで、実際の256ビットのRGB色を完全に利用するのが好きです。コーンム/ CMDerのように構成した後(私はフォークされたものを使用しました) 指示 。私の256ビットカラーリングテストは次のようになりました。 enter image description here 。少しいじって、私のbash256ビット機能でテストした後。つまり、このコマンドを実行します:

for i in {1..16384}; do echo -en "\e[38;5;${i}mTest";done

*注は{1..256}であるはずですが、カラー印刷を長くするために強制する必要があったため、乱数を長くしました。結果は次のようになります。 enter image description here

しかし、2〜3回実行すると、このきれいな灰色の色合いが突然見られました enter image description here

そしてそれはそれから働きました.. enter image description here

奇妙ですが、私はこれを機能させました。 CMDerが最適化の理由で256ビット全体を使用しておらず、キックインされたときにトリガーされる可能性がありますか??、

PS:コンソール用のCMDerコマンド:

-cur_console:fp -cur_console:d:"C:\WS":P:"<Cobalt>":t:"test":C:"C:\Arbeit\tools\Iconka-Buddy-Ninja.ico" set "PATH=%ConEmuDrive%\Program Files\Git\usr\bin;%PATH%" & "%ConEmuDrive%\Program Files\Git\git-bash.exe" --no-cd --command=%ConEmuBaseDirShort%\conemu-msys2-64.exe /usr/bin/bash.exe -l -i
0