Windows上で動作するソフトウェアがいくつかあります。 WineをインストールしてLinuxで実行しました。正常に動作しますが、問題はシリアルポートと通信することです。したがって、私が選択できる唯一のオプションは、com1
、com2
、…です。
しかし、Linuxマシン上の私のデバイスは、実際には/dev/ttyUSBn
の場所にあります。 Linux Ubuntuで上記のソフトウェアを使用するにはどうすればよいですか?
ln -s /dev/ttyUSBn COM1
で~/.wine/dosdevices/
を試しました。動作していないようです。
シンボリックリンクは機能するはずです。ただし、ランダムなディレクトリではなく、~/.wine/dosdevices/
に配置する必要があります。 WineHQの記事 も小文字で名前を示しています。
4.3.1。シリアルポートとパラレルポート
シリアルポートとパラレルポートの構成は、ドライブの構成と非常によく似ています。デバイスの名前を使用して
~/.wine/dosdevices
にシンボリックリンクを作成するだけです。 Windowsシリアルポートは、「com」という単語の後にcom1
、com2
などの数字が続く命名規則に従います。同様に、パラレルポートは、「lpt」の後にlpt1
などの数字が続くものを使用します。これらは、/dev/ttyS0
や/dev/lp0
などの対応するUnixデバイスに直接リンクする必要があります。たとえば、1つのシリアルポートと1つのパラレルポートを構成するには、次のコマンドを実行します。ln -s /dev/ttyS0 com1 ln -s /dev/lp0 lpt1
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がプログラムを実行したときに、変更が有効になります。
作成したリンクに加えて、ユーザーが正しいユーザーグループに属していることを確認してください。 From Wine User's Guide /その他の設定/シリアルポートとパラレルポート :
コンピュータのシリアルポートとパラレルポートにアクセスするために必要な権限があることを確認してください。 Linuxでは、シリアルポートにアクセスするには、通常、ユーザーは
sys
またはdialout
groupのメンバーである必要があります。