Вероятно, это вызвано тем, что пользователь работает, поскольку у него нет разрешения на доступ к USB-устройству. Подсказка: failed to open /dev/ttyUSB0
Вы можете подумать, что у вас есть доступ через usb, потому что вы можете использовать принтеры и usb-флешки, но к ним обращаются демоны, которые не запускаются как ваш uid
Чтобы исправить это, получите группу USB-устройство, запустив ls -l /dev/ttyUSB0
(замените его на имя USB, если оно отличается) и добавьте эту группу в список дополнительных групп для пользователя, которому требуется доступ к устройству. Вам нужно будет выйти из системы и войти в нее, чтобы изменения вступили в силу.
Это имеет последствия для безопасности, поскольку теперь можно записать любой USB, но это, безусловно, намного лучше, чем запускать программу через root через судо. Рассмотрите возможность использования setgid
на исполняемом файле, который осуществляет доступ, если многим пользователям потребуется запустить его, хотя это имеет другие проблемы с безопасностью.