Из комментария и контекста y
явно strncpy
. Просто верните его обратно.
С этой стороны не представилось удовлетворительного решения. К счастью, техническая поддержка OceanOptics предоставила обновленный файл конфигурации (10-oceanoptics.rules), который помог.
Другие неудачные подходы включали изменение настроек конфигурации SELinux (SELinux по умолчанию отключен в 16.04) и использование файла 10-oceanoptics.rules, который поставлялся с установочным компакт-диском с февраля 2009 года.
Устройство, вероятно, подключено как что-то вроде / dev / ttyUSB0
. Вы можете проверить разрешения этого устройства и добавить всех остальных пользователей в соответствующую группу. Например, в моей системе есть такое USB-устройство:
$ ls -al /dev/ttyUS*
crw-rw---- 1 root dialout 188, 0 Sep 1 10:00 /dev/ttyUSB0
$
Итак, добавив себя в группу dialout
( sudo adduser myname dialout
), я могу получить доступ к этому устройству. Обратите внимание, что другие устройства (такие как модемы и последовательные порты) могут использовать группу dialout
; если у вас есть эти устройства и вы хотите запретить ученикам доступ к ним, вам следует использовать другой метод.