У меня проблема с использованием nrjavaserial на CentOS/Red Hat 7.x на стандартной учетной записи пользователя. Открытие COMx-порта (/ dev/ttySx) создает блокировку в/var/lock, но/var/lock - это просто ссылка на/run/lock, которая (после каждой перезагрузки) имеет права владельца &.nrjavaserial и разрешение на/var/lock (ссылка на/run/lock)
Я нашел два решения:
- Modify C/C++/Java источники и изменить каталог блокировки по умолчанию (в/TMP/блокировки) разрешение группы
- Изменение/запуска/блокировки на каждой загрузке (в группа удаленного доступа с правом на чтение/запись)
Какой способ лучше и как это сделать правильно?
PS Стандартный пользователь в группе набора номера.
Проблема с nrjavaserial - она не работает в Red Hat 7.0 из-за проблемы с блокировкой. Я должен сделать это, чтобы заставить его работать. Теперь я знаю только два варианта (и нет другого варианта): \t 1. Изменение блокировки реж в источниках C в/вар/блокировка/lockdev (новый, лучший путь для TTY * замки) \t \t или \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 работают лучше, но полный код должен быть просмотрен. Я не рекомендую использовать nrjavaserial в Windows x64 или CentOS-подобном окружении. Есть ли альтернативы nrjavaserial, которые работают в x64 Windows и CentOS? Serialpundit слишком сложный и поддерживает «Windows 7 или новее». Зачем? - Программирование COM-портов в Windows XP или Windows 10 использует одни и те же функции API. – jakson