Linuxを使用してUSBドライブをエミュレートしますか?

Linuxを使用してUSBドライブをエミュレートしますか?

PC-Aを2番目のPC PC-B用USBデバイスとして使用する方法はありますか?

つまり

PC-A <<--デュアル数USBケーブル--> PC-B

私が達成したいのは、接続時にPC-Aのさまざまなディレクトリや画像がPC-BのUSBドライブとして表示され、必要に応じてディレクトリが変更され、接続されている別のUSBドライブとしてPC-Bに表示されることです。また、私の質問の拡張によって同様の結果が得られますが、USBマウスまたはキーボードをエミュレートするか、そのインターフェースを介してマウスとキーボードをPC-AからPC-Bに渡すことができますか?

PC-Bは私がテストしている古いPCの1つになります。理想的には、PC-Aはプロセスを合理化または自動化する方法です。

私も最終結果が私のユースケースに実用的ではない場合でも、とにかく箱から取り出して試すのが好きなので、これが可能かどうか疑問に思います。 :血

答え1

@slmがすでに指摘したように、通常これを行うことはできません。 PCのUSBポートは「単純な」シリアルポートではありません。より速い速度をサポートするためにUSBポートトラフィックを処理するICには、デバイスが通常のPCの「マスター」になることを制限するロジックが含まれています。または通信の「奴隷」。

お使いのコンピュータには「マスターロジック」があり、互いに通信できません。

「マスター」または「スレーブ」でプログラムできるUSB ICのいくつかがあります(私はArduinoデバイスの1つにあります)、これらのチップはより高価であり、通常のPCでは見つかりません。

このような「マスター」/「スレーブ」の区別は、たとえば、私のカーナビゲーションデバイス(USB接続があり、Linuxを実行している)が(スレーブ)USBポートを使用して何もできず、代わりに更新を受信するための手動モードです。に切り替えられる理由でもあります。私のコンピュータに。外付けハードドライブなどを制御できません。

私の考えにはこれについての言及はありません。この違いは、USBケーブルに他のコネクタがある理由の1つです(電話/ブルートゥースヘッドセットのコネクタがPCのコネクタより小さいことを望むことに加えて)。

答え2

根本的な問題が2台のPC間でファイルを共有することである場合は、2台のコンピュータをネットワーキングして(本当に簡単に)、NFSを使用して2台のシステム間でファイルシステムを共有することを真剣に検討する必要があります。

どちらのシステムにもログインできます。

システムの共有方法に応じて、X Window SystemやVNCの実行などの操作を実行できます。

デバイスやドライバが問題を引き起こし、時には残念な問題を引き起こす可能性がある主な問題がいくつかあったため、USBデバイスの使用について心配します。

関連情報