標準ユーザーアカウントでCentOS/Red Hat 7.xでnrjavaserialを使用する際に問題があります。 COMxポート(/ dev/ttySx)を開くと/ var/lockにロックが作成されますが、/ var/lockは/ run/lockへのリンクにすぎず、リブートするたびにルートオーナー&のアクセス権があります。nrjavaserialと/ var/lockへのアクセス許可(/ run/lockへのリンク)
私は2つの解決策が見つかりました:
- 修正C/C++/Javaソースと変更デフォルトのロックディレクトリ(TMP /ロック/へ)
- 起動のたびにロック/実行/の変更グループ権限(にしますダイヤルアウトグループの読み取り/書き込み許可)
どちらの方法が適切であり、正しく行うには?
PS標準ユーザーがダイヤルアウトグループにあります。
問題はnrjavaserialであり、ロック問題のためRed Hat 7.0では動作しません。私はそれを動作させるためにsthをする必要があります。/var /ロック/ lockdev(TTY *ロックの新しい、最高のパス)にCソース内のディレクトリをロック \t 1.変更 \t \tまたは :今、私は唯一の2つのオプション(および他のオプションはありません)知っています\t \t 2.メイク/実行/グループをロックするづけしロック(/usr/lib/tmpfiles.d/legacy.confファイルを変更) \t \tまたは \t? – jakson
正しいオプションは、ロックパーツを削除するためにnrjavaserialを変更するか、serialpunditなどの他のライブラリを試してみることです。 –
nrjavaserialコード、特にC/C++パート(* .dll i * .soライブラリのソース)を調べました。 WindowsとLinuxのCコードにはバグがたくさんあります.Windows x64では動作しません!私はCコードをいくつか変更しましたが、今は* .so&* .dllライブラリがうまく動作しますが、完全なコードをレビューする必要があります。 Windows x64やCentOS風の環境ではnrjavaserialの使用をお勧めしません。 x64 WindowsとCentOSで動作するnrjavaserialの代替手段はありますか? Serialpunditは複雑すぎて、 "Windows 7以降"をサポートしています。どうして? - Windows XPまたはWindows 10のCOMポートのプログラミングは、同じAPI関数を使用します。 – jakson