
/dev エントリにあるデバイス全体を TCP 経由で転送することは可能ですか? たとえば、ジョイスティックを TCP 経由で転送したり、マウス/RS232 ポート/フレームバッファ デバイス、サウンドカード デバイス、ディスクなどを転送したりすることについて話しています。
私は主に、リモート マウス/キーボード用の特殊なソフトウェアよりも、より一般的な入力デバイス (キーボード、ジョイスティック、タブレット、マウスなど) に興味があります。
答え1
USBデバイスであれば、あなたが探しているものは数年前から可能になっています。USB/IPそれ以来、Linux 3.17で導入Debian のようなシステム上のパッケージを参照してくださいusbip
。Windows クライアント (つまり、Linux サーバーに接続された USB デバイスにアクセスする) がある場合もあります。
ブロックデバイスに関しては、Linuxはネットワークブロックデバイスさらに長期間のサポート。
答え2
はい、少なくともマウスのような単純なデバイスでは可能ですが、コードを記述する必要があります。基本的には、物理デバイスを持つマシン上に、デバイスと通信するプロセスを用意します。このプロセスは、プロトコルを TCP 経由で他のホストに転送します。受信プロセスは、エンド プロセス (X11 サーバーまたは Wayland コンポジター) が期待するインターフェイスをエミュレートする必要があります。最も単純なケースでは、受信側は、データが書き込まれる名前付きパイプを設定し、通常使用されるデバイス ファイルを置き換えます。