コンソールでカスタムボーレートを設定する

コンソールでカスタムボーレートを設定する

審美的な面では、コンソールのテキストが遅い速度で表示されることを望みます。 /dev/tty1のカスタム転送速度で画面を使用するのと同じ操作を試しましたが、動作しません。キーボード入力は画面に表示されますが、出力はなく、すべてが1行で停止します。実際のシリアルポートがないのでこれを行うことができるかどうかはわかりませんが、わからない場合は、文字がロードされる古い端末画面のようにSSH / ptsにカスタム転送速度を設定したいと思います。

答え1

UnixとLinuxのTTYは、すべてが「基本クラス」にプッシュされるため、「悪いOOP」です。それぞれ「TTY」の複数のデバイスがありますが、すべてシリアルI / Oに関連する属性(転送速度、フレームビット、ハードウェアハンドシェイクなど)を持っています。

これはプログラミングモデルを大幅に簡素化するので、本当に良いです。すべてのタイプのTTYデバイスでPOSIX Cライブラリ関数を呼び出して、そのtcgetattr属性の1つのタイプ()の構造struct termios、つまり「1つのサイズですべてに適しています」を取得できます。

しかし、これはすべての属性が実際ではないことを意味します。働くすべてのTTYデバイスで動作します。

Linuxコンソールや仮想ウィンドウターミナル(XtermやGnomeターミナルなど)は、実際には何らかの目的でボーレートやその他のハードウェア設定を使用しません。ボーレートを設定して検索できますが、何もしません。

実際に9600ボードで実行されている端末が必要な場合は、シリアルポートを通過するか、ボード速度がコンソールに与える影響をシミュレートするカーネルパッチを作成する必要があります。

2台目のコンピュータや物理端末なしでシリアルポートを通過するには、USBポートとRS-232ポートの間に「USBシリアルドングル」を与えるだけです。または、RS-232ポートがない場合は、USBポートからUSBシリアルアダプタ、ヌルモデムケーブル/コネクタ、他のUSBシリアルアダプタを接続してから、別のUSBポートに接続します。

どちらも外部で一緒にループされた一対のシリアルデバイスが作成されます。 1つはシリアルコンソールに切り替え、もう1つはMinicomなどのシリアル通信プログラムを実行できます。

(設定されたTTY転送速度に合わせてコンソール出力の速度を制限するカーネルハッキングがより面白いかもしれませんが、これは私の考えです。)

関連情報