ネットワークまたはシリアルポートを介して他のLinuxシステムのモニタにデータを転送する方法は?

ネットワークまたはシリアルポートを介して他のLinuxシステムのモニタにデータを転送する方法は?

テキストベースのデバッグログおよび/またはコンソールに使用したい2番目のモニターがあります。私はそれが私のGUI / "デスクトップ" /メインシステムの一部になることを望んでいません。

私はこのモニターを処理能力があまりない古いLinuxボックスに接続しました。起動したら、login:プロンプトに従って自分で準備します。

LANに接続されているため、SSHで接続できます。私は次のようなものを実行して画面に書き込むことができることを知っています。ssh root@ancient echo test \> /dev/tty0

私はデバッグのために名前付きパイプを使用するのが好きです。デフォルトでは、名前付きパイプを作成し、他のコマンド/スクリプト/などからデータを書き込むmkfifoときtail -fに使用します。

私がやろうとしていることの説明に基づいて、私がやろうとしていることを実行する「良い」/「正しい」方法は何ですか?鉛ですか?)

ssh- 、tailnetcat( nc) やリダイレクトのようなものからアクセスできることを知っていますが、/dev/tty0これらをどのように説得力のあるように組み合わせることができるのかよく分かりません。私はこれを見ました:リモートで使用できるように、netcatを介してコンソールアプリケーションをストリーミング/リダイレクトできますか?

このようなものを使用して送信された各ログエントリに対して新しい接続を作成することssh root@ancient echo test \> /dev/tty0はハッキングされているようです。

データがプレーンテキストで有線で送信されない場合は利点がありますが、操作が非常に遅くなったり、オーバーヘッドや複雑さが多すぎる場合は、標準が必須ではないと思います。

また、2つのシステム間でシリアル接続を使用すると、どのような利点がありますか?

以前はこれをやったことがありますが、115,200数百行のコードを送信する最大転送速度でも、ネットワークを介してデータを送信するのに比べて「遅延」しているようです。私は115kこれが古い「モデム技術」であることを知っているので、このタイプの直接(シリアルですが)接続について予想より遅い経験が正常であるかどうか疑問に思います。

答え1

Netcatが浮かんでいます。低仕様受信システムの場合、これはより賢明な選択肢かもしれません(オーバーヘッドがなく圧縮されていないネットワーク通信方法を考えるとき)。

良い使用例はここにあります。
https://stackoverflow.com/questions/4113986/example-of-using-named-pipes-in-linux-bash

答え2

tail -f次の使い慣れた方法を使用してssh他のコンピュータにパイプすることができます。

tail -f fifo | ssh root@ancient cat \> /dev/tty0

cat > /dev/tty0入力を端末にエコーする反対側で実行します。ssh出力はネットワークtailの標準入力に渡されます。catすべてのデータは転送中に完全に暗号化されます。

シリアル接続は機能しますが、システムの1つが非常に弱くない限り、sshネットワークトラフィックとオーバーヘッドは無視できます。

答え3

十分に使えると思います。

cat > /dev/udp/ancient/12345

1台のマシンで

nc -lu 12345

もう一つ。信頼性を向上させるためにTCPを使用するには、リダイレクトから-uオプションを削除して次のものにnc置き換えます。/udp//tcp

関連情報