TTY行と列をリアルタイムで変更する方法は?

TTY行と列をリアルタイムで変更する方法は?

Compulabと呼ばれるデバイスで実行されているLinuxに関する質問です。 実用的なプロフェッショナルバージョンしかし、可能であれば、すべてのプラットフォームの問題を解決するには、ここでこの質問をする価値があると思います。

一緒にいたスパイ、完璧リモコン予定TTYテキストモードコンソール。
Utiliteを起動するとUbuntu12.04そしてHDMIケーブルが接続されている720pホーム画面では、すべてのTTY(たとえば、最初のTTY)にリモートで接続できます。

# conspy 1

しかし、もし私が切断するケーブルを接続して再起動します。

luis@utilite-desktop:~$ sudo conspy 1
conspy: screen too large.  I only handle up to 200x80.

そうだ最大1080pの解像度したがって、TTYテキストモードの列/行は、ConSpyが管理するには大きすぎます。

Kali v1.0.9と同じ結果です。

私が読んだところ、Linuxはテキストモードの解像度を変更するのに深刻な問題を抱えているようです(信じられないが事実です)。
私が見つけたすべての方法には、次のものが必要です。GRUBの修正しかし、UtiliteはUSBブートGRUBではなく、私が管理するのは難しいです(データをフラッシュに保存する際のリスクについては絶対に言及しないでください)。

ありますか?TTYを変更する簡単な方法テキスト解像度(例:行と列)?

私は試した:

# nano /etc/rc.local

...その後、次を追加します。

stty cols 83 rows 40

しかし、結果は同じままです。

答え1

テキストバッファのサイズが何であるかは不明です。大きすぎるConSpy(stty --allまたは提供されていない)の場合、テキスト行数とcplの推奨事項は次のとおりです。

TUIコンソールにはさまざまなパラメータがあります。

  • 動画モード(例:スキャンライン数×画面幅(ポイント))
  • どのくらいキャラクターボックス存在します(例:テキスト行×cpl)。

通常:
   テキスト行数=スキャン行数/文字の高さ
   cpl =画面の幅(ポイント)/文字の幅
文字の高さと幅はポイント単位です。除算は整数にし、残りは丸めます。

テキスト行数を減らすには、文字の高さが大きいフォントを読み込みます。 cpl(1行あたりの文字数)を減らすには、12以上の文字幅を持つフォントをロードします。たとえば、

 setfont /usr/share/consolefonts/Uni3-TerminusBold24x12.psf.gz

(IMHO Terminusは多くの点で見苦しいですが)。

Ubuntuでは、/etc/init/console-setup.conf起動時に実行するカスタムスクリプトを生成できます。つまり、代わりに

exec loadkeys /etc/console-setup/cached.kmap.gz

誰かを書くことができます。

script
    setfont /usr/share/consolefonts/Uni3-TerminusBold24x12.psf.gz
    loadkeys /etc/console-setup/cached.kmap.gz
end script

cashed.kmap.gzは次のとおりです。(キーマップ)であり、フォントを邪魔しません。setfont「console-setup.conf」で実行する必要はありません。なぜなら「コンソール」という言葉の意味選択は論理的なように見えました。
修正する:/etc/init/console-font.confUbuntuには仕事があります。

または読んでくださいUbuntuでこれを聞いてください、おそらく便利なものを見つけることができます。

上記の提案の多くは、フレームバッファ(fbdev)ドライバが有効になっていると仮定しています。また、この場合、fbset引数のないコマンド(またはsudo fbsetユーザーシェル)は、次のように現在のビデオモードのジオメトリを報告します。
   geometry 画面幅 スキャンライン数

存在する同様のハードウェアVGAモード、これは最新のLinuxでは廃止され、最大文字幅は9です。したがって、cpl(1行あたりの文字数)は、非標準(縮小)画面幅を有効にし、より低いピクセルクロック周波数を使用する非標準モードを有効にする必要があります。これは常に可能で安全なわけではありません。


Linux 仮想コンソールのテキスト行 × cpl に関する追加注意事項です。この値は次のようにして取得できます。
sudo od -t u1 -N 2 /dev/vcsa数字
最初の 10 進数はテキストを減らし、2 番目の 10 進数は cpl です。これがどのように機能するかについては、vcs(4)とod(1)を参照してください。

関連情報