GoGPT Best VPN GoSearch

OnWorksファビコン

タック-クラウドでのオンライン

Ubuntu Online、Fedora Online、Windows Onlineエミュレーター、またはMACOSオンラインエミュレーターを介してOnWorks無料ホスティングプロバイダーでタックを実行します

これは、Ubuntu Online、Fedora Online、Windowsオンラインエミュレーター、MACOSオンラインエミュレーターなどの複数の無料オンラインワークステーションのXNUMXつを使用してOnWorks無料ホスティングプロバイダーで実行できるコマンドタックです。

プログラム:

NAME


介して - 端末情報 アクションチェッカー

SYNOPSIS


介して [-itV] [期間]

DESCRIPTION


当学校区の 介して プログラムには1つの目的があります。(XNUMX)説明する新しいterminfoエントリの作成を支援する
未知の端末、(2)既存のエントリの正確性をテストするため、および(3)開発するため
画面の更新が遅れないようにするために必要な正しいパッドのタイミング
着信データストリーム。

感謝 意図された方法で一連のスクリーンペイントとインタラクティブテストを提示します
terminfoエントリと現実の間の不一致を視覚的に明らかにするため。 感謝 また
端末がどのように動作するかを理解するのに役立つツールを提供します。

OPTIONS
-i 通常 介して プログラムが起動すると、リセット文字列と初期化文字列が端末に送信されます
起動します。 The -i オプションは端末の初期化を禁止します。

-t 言う 介して 基本的な端末機能のterminfo設定を上書きします。 いつ
このオプションが設定されています 介して (cr)を\ rに、(cud1)を\ nに、(ind)を\ nに、(nel)に変換します
\ r \ n、(cub1)から\ b、(bel)から\ 007、(ff)から\ f、(ht)から\ t。

-V バージョン情報を表示して終了します。

期間 テストするTerminfo端末名。 存在しない場合は、$ TERM環境
変数が使用されます。

概要


Since 介して terminfoをテストするように設計されています。
terminfoデータベース。 このため、で使用されるメニューシステム 介して 変化します
原生的。 メニューを印刷すると、画面全体がスクロールします。 補うために
この冗長なメニューシステム 介して 先のメニュー選択タイプを許可します。 あなたがすでに何を知っているなら
あなたが望む行動 介して 実行するには、その値をすぐに入力して回避できます
メニュー表示。 疑わしい場合は、疑問符(?)を入力するのが適切です。 A
キャリッジリターンはデフォルトのアクションを実行します。 これらのデフォルトのアクションは、
すべての標準テストを実行します。

日時 介して 最初に表示され、端末に関するいくつかの基本情報が表示されます。 取った
この情報を確認するためにしばらく時間がかかります。 それが間違っている場合、後続のテストの多くは
不合格。 最も重要な項目は画面サイズです。 画面サイズが間違っている場合は
続行しても意味がありません。 (ホーム)と(クリア)もその後の成功に不可欠です
テスト。 (cr)(ind)(cub1)および(ht)の値は、それらが定義されている場合、テストに影響を与える可能性があります
間違って。 それらが未定義の場合 介して それらを適切なデフォルトに設定します。 最後
ディスプレイ上のXNUMXつのエントリは、照会文字列と確認応答文字列です。 これらの文字列は
ユーザー文字列(u9)および(u8)から取得。

ここまでで、terminfo名が括弧で囲まれている理由を疑問に思う必要があります。 これは持っています
それが彼らを際立たせること以外に深遠な意味はありません。 The 介して プログラムはこれを使用します
terminfo名を表示するときはいつでも慣例。 覚えて 介して に依存するように設計されています
terminfoエントリは可能な限り少なくします。

作成 NEW エントリー


感謝 に関する情報を収集するのに役立つように設計されたツールがいくつかあります
ターミナル。 これらの機能は端末の種類に依存しませんが、
実行します 介して オプション付き -それ。 これにより、初期化がオフになり、標準がデフォルトになります
エントリー。

これらのツールには、メインメニューから「ツール」エントリを選択してアクセスできます。

Echo ツール:キーボードから入力されたすべてのデータは、端末にエコーバックされます。 コントロール
文字は上矢印形式に変換されませんが、制御文字として送信されます。
これにより、エスケープシーケンスをテストして、実際に何が行われるかを確認できます。 あなたも
に選択する enable 16進法 出力 on echo ツール これにより、文字がXNUMX進数でエコーされます。
テストが実行されたら、「行」または「列」キーワードを入力できます。
画面サイズを決定するのに役立つパターンを表示します。 の完全なリスト
テスト開始時にキーワードが表示されます。 'help'と入力して、のリストを再表示します
利用可能なコマンド。

返信 ツール:このツールはエコーツールとよく似ていますが、送信される制御文字
キャリッジリターン後のターミナルから複数の文字がに​​拡張されます
上矢印形式。 たとえば、標準のANSI端末では、次のように入力できます。

CR ESC [c

応答は次のようにエコーされます。

^ [[? 6 c

ANSI Sgr ディスプレイ:このテストは、ANSI端末があることを前提としています。 属性を通過します
0から79までの数字で、それぞれを順番に表示し、そのSGR番号を使用してテキストを書き込みます。
これは、どのSGRモードが実際に端末によって実装されているかを示します。 ノート:
一部の端末(Tektronixカラーなど)は、専用文字を使用して
SGRコマンドの機能。 これらの私的使用文字はに挿入される可能性があります
元の表示の後に文字(<、=、>、?)を入力してエスケープシーケンスを実行します。
示されています。

ANSI status レポート:このテストは、標準のANSI / VT-100方式で端末を照会します。 ザ
このテストの結果は、端末でサポートされているオプションを判別するのに役立つ場合があります。

ANSI 文字 セット:このテストは、ANSI / VT-100で使用可能な文字セットを表示します
スタイルのターミナル。 実際のVT-100端末の文字セットは、通常、次のように定義されます。
smacs = \ E(0およびrmacs = \ E(B。エスケープ後の最初の文字はフォントバンクを定義します。
XNUMX番目の文字は、文字セットを定義します。 このテストでは、
可能な組み合わせ。 専用文字セットは数字で定義されます。 標準
文字セットはアルファベットの範囲にあります。

確認中 AN 既存 エントリ


「テストの開始」機能を使用して、エントリの正当性を確認できます。 このエントリ
はデフォルトのアクションであり、キャリッジリターン(またはEnter)を押すと選択されます。 この意志
より具体的なテストを選択できるセカンダリメニューを表示します。

プログラムの一般的な哲学は、機能ごとに、適切なテストを送信することです
次に、パターンを端末に送信し、ユーザーが期待する内容の説明を送信します。
時折(ファンクションキーの機能をチェックするときのように)、プログラムはあなたに
チェックする入力を入力します。

テストが失敗した場合は、terminfoエントリを動的に変更するオプションがあります。
テストを再実行します。 これは、「terminfoの編集」メニュー項目で実行されます。 編集サブメニュー
問題のあるterminfoエントリを変更し、すぐに機能を再テストできます。
編集メニューでは、terminfoを使用して次のような他のことを行うことができます。 全体を表示する
terminfoエントリ、テストされたキャップを表示し、できないキャップを表示します
テスト済み。 このメニューでは、新しく変更されたterminfoをディスクに書き込むこともできます。 もし、あんたが
terminfoに変更を加えました 介して ファイルを保存するかどうかを尋ねられます
終了する前にディスクに。 ファイル名は端末名と同じになります。 後に
プログラムが終了すると、実行できます チック(1M)新しいterminfoのコンパイラーにインストールします
terminfoデータベース。

訂正 PAD タイミング


理論 of オーバーラン   パディング
一部の端末はかなりの時間を必要とします(つまり、複数の送信-
文字間隔)画面の大部分を変更する画面更新を行うために、
画面のクリア、行の挿入、行の削除、およびスクロール(トリガーされたスクロールを含む)
画面の一番下の右端のセルへの改行または書き込みによる)。

これらの時間のいずれかの間、コンピュータが端末に文字を送信し続ける場合-
消費操作が行われているため、画面が文字化けする場合があります。 の長さから
文字の送信時間は、cpsの送信速度に反比例して変化します。
低速での機能は、高速で機能しなくなる可能性があります。

ホストマシンが単に文字を持続的に送信している場合にも、同様の問題が発生します
端末がそれらをバッファリングして処理できるよりも速いレート。 いずれの場合も、
端末はそれらを処理できず、ホストにすぐに停止するように指示できません。
それらをドロップします。 ドロップされた文字は、テキスト、エスケープシーケンス、またはエスケープ文字である可能性があります
それ自体、いくつかの本当に奇妙に見える表示を引き起こします。 この種のグリッチは、
オーバーラン.

terminfoエントリでは、 パッド 時間 数値である各文字列機能に
送信後の遅延ミリ秒。 これにより、ターミナルが追いつく時間が与えられます
オーバーランを避けます。

ソフトウェアターミナルエミュレータを実行している場合、またはX pseudo-ttyを使用している場合、または
端末は、RTS / CTSハードウェアフロー制御を正しく処理するRS-232C回線上にあります。
パッドは厳密には必要ありません。 ただし、一部のディスプレイパッケージ( 呪う(3X))使用
パッドは、特定の機能を実装するための最速の方法を計算するためにカウントされます。 例えば:
画面のスクロールは、一番上の行を削除するよりも速い場合があります。

オーバーランを回避する一般的な方法のXNUMXつは、XON / XOFFハンドシェイクを使用することです。 しかし、この握手でさえ
高いボーレートで問題が発生する可能性があります。 これは、XON / XOFFの動作の結果です。 ザ
端末は、XOFFで停止するようにホストに指示します。 ホストがこのキャラクターを取得すると、停止します
送信。 ただし、停止リクエストと実際のリクエストの間には少し時間があります
止まる。 このウィンドウの間、端末は文字を受け入れ続ける必要があります。
ホストに停止するように指示しました。 端末が停止要求を送信するのが遅すぎる場合、
内部バッファがオーバーフローします。 停止文字の送信が早すぎる場合は、
端末は、内部バッファを最も効率的に使用していません。 実際には
高いボーレートでのアプリケーションでは、端末は、
ホストは送信を一時停止します。 ネットワーク経由で端末を接続すると、
問題をさらに悪化させます。

(UARTは信号接続されており、
「ストップフロー」は、ソフトウェアの介入なしに、最低レベルで実行されます)。

タイミング ターミナル
ターミナルから正確なタイミングを取得するために 介して ターミナルがいつ
送信されたすべての文字の処理が終了しました。 これには別のタイプが必要です
ほとんどの端末でサポートされているXON / XOFFよりもハンドシェイクの方が優れています。 感謝 送信する必要があります
端末への要求とその応答を待ちます。 多くの端末はACKで応答します
ENQを受け取ったとき。 シーケンスが短いため、これが推奨される方法です。
ANSI / VT-100スタイルの端末は、このハンドシェイクをエスケープシーケンスで模倣できます。
「プライマリデバイス属性」を要求します。

ESC [c

端末は次のようなシーケンスで応答します。

ESC [ ? 1; 0 c

感謝 (u9)が照会シーケンスであり、(u8)が確認応答文字列であると想定しています。 A
VT-100スタイルの端末は、u9 = \ E [cおよびu8 = \ E [?1; 0cを設定できます。 文字列が分類されることを確認する
1つのカテゴリ。 2)一意の終了文字を含む文字列、およびXNUMX)固定された文字列
長さ。 VT-100の確認応答文字列は、常に終了するため、最初のタイプです。
文字「c」で。 一部のTektronics端末には、固定長の確認応答文字列があります。
感謝 終了文字をスキャンすることにより、両方のタイプの文字列をサポートします。
予期された確認応答文字列の長さが到着しました。 (u8)はいくつかの典型的なものに設定する必要があります
(u9)が送信されたときに返されることを確認します。

感謝 パッドテストまたはファンクションキーを実行する前に、このシーケンスをテストします
テスト。 感謝 次のことを尋ねます。

小文字のgを押して、テストを開始します。

このメッセージを送信した後、照会文字列を送信します。 その後、文字を読み取ります
ターミナルから文字gが表示されるまで。

テスト   修理 パッド タイミング
分散terminfoエントリのパッドタイミングは、多くの場合正しくありません。 XNUMXつの主な動機
このプログラムは、これらのタイミングを比較的簡単に調整できるようにするためのものです。

「テスト文字列機能」を使用して、端末のパッドタイミングを確認および編集できます。
関数(これは「通常のテストシーケンス」関数の一部でもあります)。

パッド時間を決定するための鍵は、端末の実効ボーレートを見つけることです。
実効ボーレートは、端末がXNUMX秒あたりの文字数を決定します
ハンドシェイクやデータの損失なしに受け入れることができます。 このレートは、多くの場合、
RS-232ラインの公称cpsレート。

感謝 実効ボーレートを使用して、テストの期間と
特定のエスケープシーケンスは端末を混乱させます。

各パッドテストには、検証に役立つように調整できるXNUMXつの関連変数があります。
パッドのタイミングの正確さ。 XNUMXつはパッドテストの長さです。 もうXNUMXつはパッドです
乗数。パッドプレフィックスに `* 'が含まれている場合に使用されます。 呪いの使用では、それはしばしば
機能の最初のパラメーター(存在する場合)。 (dch)や(il)のような機能の場合
これは、それぞれ影響を受ける文字位置または行の数になります。

感謝 パッドテストを実行し、結果を端末に表示します。 その機能について
乗数を持っている 介して パッドに乗数が必要かどうかはわかりません。 絶対です
別の乗数を使用してテストを再実行することにより、この決定を自分で行います。 の場合
乗数が必要な乗数よりも乗数に比例してパディングが変化します。 の場合
乗数は提案されたパディングにほとんどまたはまったく影響を与えませんが、乗数は影響しません
必要です。 一部の機能では、正しい感触を得るために数回の実行が必要になります
値。 より正確な結果を得るには、テストを長くすることをお勧めします。 システム負荷
結果にも影響します(高負荷のシステムは、次のように端末にストレスをかけません
多くの場合、パッドのタイミングが短すぎる可能性があります)。

注意


プログラムの最初に行われたテストは、後の方で正しいと見なされます。
コード。 特に、 介して に示されている行と列の数を表示します
初期出力の一部としてのterminfoエントリ。 これらの値が間違っている場合、多数の
テストは失敗するか、間違った結果になります。

onworks.netサービスを使用してオンラインでタックを使用する


無料のサーバーとワークステーション

Windows と Linux のアプリをダウンロード

Linuxコマンド

Ad




×
Advertisement
❤️ここでショッピング、予約、購入してください。料金はかかりません。これにより、サービスが無料で維持されます。