シリアル端末がいつ接続(接続解除)されたかを確認するには?

シリアル端末がいつ接続(接続解除)されたかを確認するには?

12月 VT101USB RS-232ヌルモデムケーブルを使用して、Debianを実行しているRaspberry Pi 3のシリアル端末に接続します。端末を閉じるとシェルセッションが終了し、端末を再度開くと新しいログインセッションが開始されます。どうすればいいですか?端末を閉じて再度開くと、Returnキーを押すなど、Bashが新しいプロンプトを表示するなどの操作を実行するまで、画面は空白のままになります。

少なくともシステムがUSBヌルモデムケーブルからデータを受信するかどうかを問い合わせる方法がわかったら、自動ログイン/ログアウトを直接スクリプトできます。私が考えたアプローチの1つは、最近のユーザー入力がないときに端末に応答クエリを送信し、しばらくしても応答がない場合は端末が閉じていると仮定することです。

ベストアンサー1

一般的なアプローチは、DTR(「Data Terminal Ready」)信号が低下するタイミングを検出することです。これには、グランド、データ受信用の接続、データ転送用の接続以上が必要です。

sttyDTR信号を無視するように設定を調整する必要があります。実行してみてくださいstty -clocal。接続がすぐに切断されると、ケーブルに適切なピンが接続されていません。 sttyコマンドを実行した後もまだシェル接続がある場合は、ターミナルを閉じて開きます。セッションが終了すると予想しました。それ以外の場合、シリアルケーブルはRS232アダプタのDSR(「Data Set Ready」)信号をDTR入力に戻すことができます。アダプターからケーブルを抜いてテストし、それがシャットダウンしていることを確認できます。その場合は、シリアルケーブルを再接続する必要があります。

おすすめ記事