Я пытаюсь запустить программу на Lubuntu 19.04, которая общается с моим устройством Arduino Due (робототехника) через последовательный порт с / dev / ttyACM0. Все выглядит нормально, пока я не попытаюсь запустить приложение при запуске.
Проблема возникает только тогда, когда я пытаюсь загрузить приложение при входе в систему. Запуск от имени пользователя, из терминала, из файла .desktop
, из скрипта et c. это не проблема, я могу установить sh соединение 10/10 раз.
Пожалуйста, имейте в виду, что я сейчас ставлю $USER
вручную, в каждой команде она явно передается как моя де-факто имя пользователя.
Это не должно быть проблемой с разрешениями.
$ ls -la /dev/
...
crw-rw-rw- 1 root dialout 166, 0 mar 13 17:27 ttyACM0
...
$ groups $USER
$USER : $USER root adm tty dialout cdrom sudo dip plugdev lpadmin sambashare
Я пытался запустить его с .xsessionrc
с:
#!/bin/bash
# Some other commands to set the environment up
/home/$USER/user_panel /dev/ttyACM0
Я также попытался установить его в настройках сеанса LXQt с помощью автозапуска, поэтому у меня появилась запись .desktop
:
$ cat ./.config/autostart/$USER\ User\ Panel.desktop
[Desktop Entry]
Exec=/home/$USER/user_panel /dev/ttyACM0
Name=User Panel
Type=Application
Version=1.0
Я попытался запустить оба этих файла вручную, и все было в порядке, приложение запустилось , соединение было установлено.
Я также пытался настроить правило udev.
$ cat /etc/udev/rules.d/50-myusb.rules
KERNEL=="ttyACM[0-9]*", MODE="0666
Следовательно, мой вопрос: что я должен искать в качестве причины такого отказа во время загрузки?