SSHトンネルを介して/ devディレクトリのデバイスにアクセスし、それをローカルのように使用する方法はありますか? [コピー]

SSHトンネルを介して/ devディレクトリのデバイスにアクセスし、それをローカルのように使用する方法はありますか? [コピー]

あるコンピュータがディレクトリ内のデバイスを別のコンピュータと共有し、別のコンピュータが/dev/(ローカルの場合)そのデバイスと対話する方法はありますか? SSHトンネルのようなものですか?

たとえば、カメラ、Arduinoへのシリアル接続、さらにコンピュータの/dev/random

ベストアンサー1

要するに、いいえ。デバイスノードと対話する方法は、実際のファイルで実行できるよりも「豊富」であり、リモートシステムのカーネルがローカルプロセスメモリにアクセスできない場合は不可能です。ネットワーク)。

使用したいものの多くは、特定の時点で不合理に高い帯域幅要件(例:生モードの高品質カメラ)、低レイテンシ要件(コンピュータ側で何が起こると予想されるUSBマスデバイス)を持っていることは言うまでもないありません。これは、時間内)またはネイティブデバイスレベルでネットワーク操作を無効にする他の機能的側面です。

このため、特定のデバイスクラスでは、デバイスの近くで実行する必要があるタスクとリモートで実行できるタスクを区別することができ、他の方法もあります。たとえば、プリンタはCUPSを使用してネットワーク経由で共有でき、サウンドはパイプライン、jackdまたは他のデーモン用のデバイス、VLCを使用するビデオデバイス、ファイルシステムを使用するストレージデバイス、またはNFS、CIFSなどを使用します。ブロックデバイス(例:Ceph)

シリアルポートは抽象化が簡単です。そのポートを持つコンピュータに設定し(主に開く、ボーレート設定)、最小限のネットワークデーモンを使用して読み書きします。

実際、産業オートメーションでは、ネットワークを介して何とかアドレス指定できるUARTポートを持つことが非常に一般的なパターンです。 Linuxでは、socatプログラムも同様のことができます。

おすすめ記事