UEFIを搭載したDellLatitudeE7470にFreeBSD11.2をインストールしました(重要な場合があります)。デフォルトではGUIはインストールされませんが、私はそれで問題ありません(今のところ)。 <Alt>
+ <Fn>
キーを使用して、異なる仮想端末を切り替えることができます。
/ boot/loader.confで次のことを試しましたが、効果がありませんでした。
i915kms_load="YES"
kern.vt.color.1.rgb="#cc241d"
# definitions for all other colors follow but omitted in this example
さらに、/ etc/ttysを変更して、3番目の列にxterm
ではなくxterm-256color
を設定しましたが、これでは256色のサポートが有効になりません。
独自のキーボードを介してコンピューターにローカルにアクセスし、テキストモード(gnome、Xorg、KDE ...なし)でモニターするときに、色の数を変更したいことを強調したいと思います。 SSH経由でコンピューターにアクセスすることはまったく異なるものです。
FreeBSDコンソールはtekenを使用してxtermを模倣します( ここでの以前の議論 および メーリングリスト を参照)。これは完全な実装ではありません。 FreeBSD開発者は、端末の説明からいくつかの項目を削除しました(そのプラットフォームでは、実際のxtermの有用性が低くなります)。
FreeBSDコンソール(teken)は実際にはimplement256色ではありません。 ソースコード を参照してください:
499 /** 500 * xterm-256カラーマップのステップは0x28(0-0xffの範囲)です。ただし、 501 *最初のステップは0x5fです。 。 502 *を0x28で除算し、切り捨てて、0〜6の範囲にスケーリングします。 0〜5の範囲は、 503 *より大きな最初のステップを表すことはできません。 504 * 505 *このテーブルは、次のルールによって生成されます: 506 * -すべてのコンポーネントが等しい場合、結果は(0、0、0)および 507 *(2、2、2)の場合は黒、それ以外の場合は白です。それ以外の場合:[。が他のゼロ以外のコンポーネントより2つ以上大きい場合、 511 *そのコンポーネントは色を与えます 512 *-それ以外の場合、2つの非ゼロコンポーネントがあります。色は、これらの成分(シアン、黄色、またはマゼンタ)の小さな 513 *等しい混合物の色です。例: 514 *(0、5、6)(Turquoise2)は(0、2、3) 515 *(DeepSkyBlue4)よりもはるかに純粋なシアンですが、両方をシアンにマッピングしています。表現することはできません 516 *青またはシアンと青の繊細な色合いはさらに悪くなります。 517 *ここでは、1の成分が発生しないことが重要です。青は 518 *(0、1、2)の緑の2倍の大きさです。 519 * /
これらのステップマップアプリケーションの使用試行256コンソールの16色に色付けします。
要求された処理を実行できないため、TERM
をxterm-256color
に設定してもあまり効果的ではありません。
rgbコードは、カーネルの 異なる部分 でサポートされており、(16-)の値を設定できます。カラーパレット:
41 static struct { 42 unsigned char r;/*赤のパーセンテージ値。 */ 43unsigned char g;/*緑のパーセンテージ値。 */ 44unsigned char b;/*青いパーセンテージ値。 */ 45} color_def [NCOLORS] = { 46 {0、0、0}、/ *黒*/ 47 {50、0、0}、/ *ダークレッド*/ 48 {0、50、0}、/ *ダークグリーン*/ 49 {77、63、0}、/ *ダークイエロー*/ 50 {20、40、64}、/ *ダークブルー*/ 51 {50、0、50}、/ *ダークマゼンタ*/ 52 {0、50、50}、/ *ダークシアン*/ 53 {75、75、75}、/ *ライトグレー*/ 54 55 {18、20、21}、/ *ダークグレー*/ 56 {100、0、0}、/ *ライトレッド*/ 57 {0、100、0}、/ *ライトグリーン*/ 58 {100、100 、0}、/ *ライトイエロー*/ 59 {45、62、81}、/ *ライトブルー*/ 60 {100、0、100}、/ *ライトマゼンタ*/ 61 {0、100、100}、/ *ライトシアン*/ 62 {100、100、100}、/ *ホワイト*/ 63};
M. Dickeyが言うように、FreeBSDカーネルの組み込みターミナルエミュレーターは、インデックス付きまたは24ビットの直接カラーサポートを持っていません。実際、これをxtermとして扱うべきではありません。これは、xterm
ターミナルタイプの使用が間違っているもう1つのケースです。これは、この点やその他の点で実際のXTermとはかなり異なります。
terminfoデータベースレコードはteken
という名前を使用します。 FreeBSDのtermcapに追加するteken
termcapエントリがあります。これらを使用すると、TERM
環境変数値をteken
またはxterm-256color
ではなく、適切な値xterm
に設定できます。
Termcapエントリを noshツールセット と一緒にnosh-bundlesバイナリパッケージで出荷します。これは、cap_mkdb
を使用して/etc/system-control/convert/termcap/termcap.db
に結合されたtermcapデータベース(interix
とlinux
の追加も含まれます)を作成する外部構成インポートサブシステムによってセットアップされます。 、/etc/termcap.db
からシンボリックにリンクできます。または、/etc/system-control/convert/termcap/
の生の構成要素を使用して、自分でtermcapデータベースを作成することもできます。
teken-256color
エントリもあります。これはFreeBSDターミナルエミュレータ用ではありません。これは私のターミナルエミュレータ用で、teken
のスーパーセットを提供します。これには、特にインデックス付きの24ビットダイレクトカラー機能が含まれています。これは、ほとんどの場合teken
に忠実であるように設計されており、FreeBSDターミナルエミュレータが実際に生成するDECFNKとXenixConsoleのファンクションキーシーケンスの同じ文書化されていない混合を採用することにも拡張されます。
JdeBP%console-decode-ecma48 ^ [OP ^ [OQ ^ [OR ^ [OS ^ [OT ^ [[17〜 ^ [[18〜 ^ [[19〜 ^ [[20〜 ^ [[ 21〜 ^ [[23〜 ^ [[24〜 DEC KEY_PAD_F1 DEC KEY_PAD_F2 DEC KEY_PAD_F3 DEC KEY_PAD_F4 DEC KEY_PAD__ 。] DEC F6 DEC F7 DEC F8 DEC F9 DEC F10 DEC F11 DEC F12 LF ^ [[Y ^ [[Z ^ [[a ^ [[b ^ [[o ^ [[p ^ [[q ^ [[r ^ [[^^ [[_ ^ [[ `^ [[{[。 SCOコントロール+ F6 SCOコントロール+ F7 SCOコントロール+ F8 SCOコントロール+レベル2+ F9 SCOコントロール+レベル2+ F10 SCOコントロール+レベル2+ F11 SCOコントロール+レベル2+ F12 LF JdeBP%
その用途の1つは、X11を必要としないFreeBSDカーネルターミナルエミュレーターのユーザースペースの代替として、フレームバッファーにレンダリングし、キーボードとマウスのHIDから入力を読み取ることです。 M. Dickeyの答えと同じカラーキューブは、多少異なって見えます。
カーネルに組み込まれているのではなく、ユーザースペースであるため、複数フォントのUnicodeサポート、CINファイル駆動のCJKV入力メソッド、およびLinuxを含む他の組み込みカーネルターミナルエミュレーターとの互換性を含めることができます。 (したがって、同様に拡張されたlinux
termcapエントリ)。
X11なしで16色以上が必要な場合は、私のターミナルエミュレーターまたは他のいくつかのフルスクリーンフレームバッファーターミナルエミュレーターの1つを使用する必要があります。
console-decode-ecma48
"。 noshガイド。ソフトウェア。