インタラクティブコンソールプログラムはどのように機能しますか?
質問
プログラムがどのようなものかを理解したいです vim
また man
シェルで作業します。ユーザーにスクロールし、ディスプレイなどを更新させるにはどうすればよいですか?
彼らはいくつかのコンソールライブラリと対話しているようで、したがって、私たちが見るものを操作します。本当に何が起こっているの?
解決
端末には、aと呼ばれるものがあります ターミナルドライバー. 。これは、ハードウェアへのインターフェイスの意味でのドライバーではなく、スクロール、テキスト属性などの操作を実行する特定の文字シーケンスを解釈します。
文字シーケンスはに保存されます Terminfoデータベース. 。呼ばれるライブラリ 呪い (またはその最新の同等物、 ncurses)TermINFOデータベースを読み取り、呼び出された関数に基づいてさまざまな文字シーケンスを放出します。
Terminfoデータベースをターミナルドライバー自体から分離することで、プログラムはXterm、テキストコンソール、ネットワーククライアント、シリアルラインで接続されたリモートダム端子など、多くの端末をサポートできます。
他のヒント
所属していません StackOverflow