端末の256色パレットの拡張部分の色は可変で、シーケンスによる指定でコマンドもしくはスクリプトからパレット上の色を設定することができる。
既定のパレットは一般的には端末によらず本家xtermの既定のパレットに合わせたものとなっているが、端末によって異なる場合がある可能性はある。その場合でも256colors2.plのスクリプトを実行すると、この中でxtermの既定のパレットと同じものに設定している部分があるため、簡単にこれに合わせることができる。
このファイルの「# display the colors」という行よりも上がパレットの書き換え,下はテスト表示となっており、それぞれファイルに保存する[56]と便利。
| 色番号の範囲 | 内容 | 色番号の値 |
|---|---|---|
| 16-231 | カラーキューブ色(赤/緑/青の各成分を0x00,0x5f,0x87,0xaf,0xd7,0xffで組み合わせた216色で、中に無彩色6つを含む) | 16 + ([赤成分(0-5)] x 36) + ([緑成分(0-5)] x 6) + ([青成分(0-5)] x 1) |
| 232-255 | 24のグレイスケール色 | 232 + [明るさの段階数(0-23)] |
xtermの既定のパレットは下のリンク先を参照。GUI上でパレットを参照できるツールも作成した。
端末の256色パレット上のそれぞれの色は以下のようにして変更でき、16番から255番の240色をそれぞれ24bitカラー(1677万色)の中の任意の色に指定できる。
(色成分ごとの指定)bash/zsh$echo-e"\e]4;[色番号(16-255)];rgb:[赤成分の16進表記]/[緑成分の16進表記]/[青成分の16進表記]\a" (#付きの16進表記による指定)bash/zsh$echo-e"\e]4;[色番号(16-255)];#[赤成分の16進表記][緑成分の16進表記][青成分の16進表記]\a"
![]() | メモ |
|---|---|
bashやzsh以外のシェルでは外部コマンドのecho( |
例114 端末の256色パレット上の17番の色を#FECCF0にする
(色成分ごとの指定)bash/zsh$echo-e"\e]4;17;rgb:fe/cc/f0\a" (#付きの16進表記による指定)bash/zsh$echo-e"\e]4;17;#feccf0\a"
![]() | 注意 |
|---|---|
256colors2.plのスクリプトを色確認に使いたい場合、「# display the colors」という行よりも上にあるパレット設定部分を消すかコメントにして実行しないとxtermの既定のパレットと同じものに上書き設定されてしまう。 |