私の端末エミュレータでサポートされている色の数を確認する

私の端末エミュレータでサポートされている色の数を確認する

私の端末エミュレータがサポートしている色の数を確認するための確実な方法はありますか?

echo $TERM印刷さxtermれた場合明らかに私の端末エミュレータがいくつの色をサポートしているか教えてください。この情報をどのように確実に確認できますか?

ベストアンサー1

の値は、$TERMサポートされている色の数に関する多くの情報を提供しません。多くの端末は、自分自身をxtermさまざまな色(2、8、16、88、256が共通の値)で宣伝してサポートできます。

以下を使用して各色の値を照会できます。OSC 4 ; c ; ? BEL 制御シーケンス。色番号付けがサポートされており、端末がこのc制御順序を理解している場合、端末は色値で応答します。カラー番号付けがサポートされていない場合、または端末がこの制御順序を理解していない場合、端末は応答しません。以下は、カラー42がサポートされているかどうかを問い合わせるbash / zshスニペットです(必要に応じてターミナルに/からリダイレクト)。

printf '\e]4;%d;?\a' 42
if read -d $'\a' -s -t 1; then … # color 42 is supported

広く使用されている端末のうち、xtermおよびVTEライブラリベースの端末(Gnome-terminal、Terminator、Xfce4-terminalなど)はrxvt、konsole、screen、およびtmuxをサポートしていません。

より直接的な方法はわかりません。

おすすめ記事