コンソール(tty)で256色


11

のないシステムがあるとしますX server。コンソールからのみログインできます。デフォルトでは、Linuxコンソールは8色しかサポートしていないようです。

# tput colors
8

端末エミュレータ(つまりターミネータ)で使用するのと同じように、コンソールで256色を使用することは可能ですか?

グーグル検索中に、Ihaveは多くの同様の質問(10歳以上の質問の多く)を見つけましたが、明確な回答はありませんでした。誰かがフレームバッファの使用を提案したり、カーネルの起動オプションにTERM引数を追加することを提案したりします。

現時点では、カーネルブートパラメーターとして1つの追加オプションのみを渡します。

append="video=1280x720"

ビデオ解像度を渡すことは、kernel mode settingサポートのある最新のカーネルでのみ機能すると思いますが、それについてはわかりません。

最新のLinuxコンソール(tty)で256色を使用することは可能ですか?

どうやって?

カーネル4.1でDebian Wheezyを使用しています

更新:

@muruからの提案に基づいて、私は試しましたfbterm。256色で動作しますが、非常に見苦しい/文字化けしたフォントがあります。その上、左下隅にカーソルが常に点滅しているので、気が散ります。

fbterm / framebufferなしでコンソールで256色を使用できますか?

コンソールの8色の制限はどこから来たのですか?


FbTermは明らかに次のことを行いますsuperuser.com/a/492078/334516、askubuntu.com / a / 57128/158442
muru

@muru-提案をありがとう。質問を更新しました。
Martin Vegter

もちろん、Linuxコンソール用に設定TERMした場合xterm-256color、ワームの別の缶を開くだけです。 このリンクはヒントを与えます。
トーマスディッキー

回答:


2

実際の質問は、次の2つの項目で構成されています。

  • fbterm / framebufferなしでコンソールで256色を使用できますか?

  • コンソールの8色の制限はどこから来たのですか?

最初に:どうやらそうではない。提案されているアプローチはすべてfbtermを使用しています。第二に:それは端末の説明(別名 "terminfoエントリ")から取得されます。Linuxコンソールの場合、にTERM設定するlinuxと、端末は8色をサポートすることになります。 tputは端末データベースから情報を取得します。

引用されたスレッドの項目の 1つは、fbtermがxtermとは異なる色の設定に異なるエスケープシーケンスを使用することを示しています。その場合(およびEmacsユーザーがハードコードする傾向がある場合)、fbtermに適切な端末エントリはありません。


Linuxカーネルの端末エミュレータは、近年では、いくつかの追加SGRの支持を得ていますgithub.com/torvalds/linux/commit/... github.com/torvalds/linux/commit/... github.com/torvalds/linux/commit/...
JdeBP

確かに-チェックインコメントを読んでいない可能性があります。VGA コンソールのハードウェアの制限により、色は*フォアグラウンド16個とバックグラウンド8個にダウングレードされます。fbdevコンソールでは、品質を損なうことなくそれらをサポートすることは可能ですが、これを追加するにはかなりの量のコードが必要になります。*
Thomas Dickey

私はすでにコメントをすでに読んでいます。そのため、追加のSGRサポートを得たと書いています。( - :あなたはここに2016年に書いたように、それは常にこのように8色の制限はありませんことを。しかし予告。
JdeBP

これは、25年以上前と同じように、8 ANSIと8太字/明るいANSIのパレットと同じです(ncursesは、2009年からlinux-16colorエントリを持っています)。
トーマスディッキー2018年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.