web-dev-qa-db-ja.com

LinuxのWineで使用するために/ dev / ttyUSBをcomポートに変換する

Windows上で動作するソフトウェアがいくつかあります。 WineをインストールしてLinuxで実行しました。正常に動作しますが、問題はシリアルポートと通信することです。したがって、私が選択できる唯一のオプションは、com1com2、…です。

しかし、Linuxマシン上の私のデバイスは、実際には/dev/ttyUSBnの場所にあります。 Linux Ubuntuで上記のソフトウェアを使用するにはどうすればよいですか?

ln -s /dev/ttyUSBn COM1~/.wine/dosdevices/を試しました。動作していないようです。

4
Sab

シンボリックリンクは機能するはずです。ただし、ランダムなディレクトリではなく、~/.wine/dosdevices/に配置する必要があります。 WineHQの記事 も小文字で名前を示しています。

4.3.1。シリアルポートとパラレルポート

シリアルポートとパラレルポートの構成は、ドライブの構成と非常によく似ています。デバイスの名前を使用して~/.wine/dosdevicesにシンボリックリンクを作成するだけです。 Windowsシリアルポートは、「com」という単語の後にcom1com2などの数字が続く命名規則に従います。同様に、パラレルポートは、「lpt」の後にlpt1などの数字が続くものを使用します。これらは、/dev/ttyS0/dev/lp0などの対応するUnixデバイスに直接リンクする必要があります。たとえば、1つのシリアルポートと1つのパラレルポートを構成するには、次のコマンドを実行します。

ln -s /dev/ttyS0 com1
ln -s /dev/lp0 lpt1
3
user1686

Wine 2.8以降、構成の単純なシンボリックリンク編集方法は機能しません。 Wineレジストリを編集してCOMポートを設定する必要があります。 From Wine User's Guide /その他の設定/シリアルポートとパラレルポート

Wineのデフォルトのデバイスマッピングを上書きするには、wine regeditを実行し、HKEY_LOCAL_MACHINE\Software\Wine\Portsに文字列エントリを作成します。エントリ名はWindowsデバイス名で、エントリ値はUnixデバイスへのパスです。上記の例を続けて、COM1を最初のUSB接続シリアルポートにするには、名前がCOM1、値が/dev/ttyUSB0のエントリを作成します。 COM5の複製であるCOM5デバイスを削除するために、値のないCOM1という名前のエントリを作成することもできます。レジストリを編集した後、wineserver -kでWineをシャットダウンすると、次にWineがプログラムを実行したときに、変更が有効になります。

2
Ruslan

作成したリンクに加えて、ユーザーが正しいユーザーグループに属していることを確認してください。 From Wine User's Guide /その他の設定/シリアルポートとパラレルポート

コンピュータのシリアルポートとパラレルポートにアクセスするために必要な権限があることを確認してください。 Linuxでは、シリアルポートにアクセスするには、通常、ユーザーはsysまたはdialout groupのメンバーである必要があります。

0
user5534993