背景:使いたいです。 このWi-Fi-シリアルポートアダプタ 望遠鏡を操縦して 星 Kubuntu 16.04(64ビット)で動作します。
socat
次のコマンドラインを使用して仮想COMポートを作成しました。
$ sudo socat pty,link=/dev/virtualcom0,raw tcp:10.0.0.1:4030
ここで新しいデバイスを見ました。
$ ls -l /dev/virtualcom0
lrwxrwxrwx 1 root root 10 2017-07-03 09:05 virtualcom0 -> /dev/pts/6
$ ls -l /dev/pts/6
crw--w---- 1 root tty 136, 6 2017-07-03 09:05 /dev/pts/6
たとえば、root権限で実行している限り/dev/virtualcom0
機能します。ただし、標準ユーザー権限でポートを使用しようとすると、次のエラーが発生します。picocomm
picosomm
$ picocom /dev/virtualcom0 --baud 9600 --imap lfcrlf
FATAL: cannot open /dev/virtualcom0: Permission denied
これに特別なudevルールを定義して、標準ユーザー権限で仮想COMポートにアクセスできるようにする方法を知っていますか?
編集#1
Deckertの答えで好むアプローチに応じて、次のようになります。
$ socat pty,link=/tmp/virtualcom0,raw tcp:10.0.0.1:4030
これはmacOSでもうまく機能します(homebrewを介してsocatをインストールした後)。
ベストアンサー1
socatのマニュアルページを見て、答えを見つけました。
コマンドラインでより多くの式を追加して、ptyのプロパティにパターンとグループを追加できます。例に従い、ダイヤルアウトグループが所有する新しいシリアルポートを使用し、グループへの読み取り/書き込みアクセス権を持つには、次の手順を実行します。
$ sudo socat pty,link=/dev/virtualcom0,raw,group-late=dialout,mode=660 tcp:10.0.0.1:4030