2016-12-20 4 views
3

Я недавно обновил свой IDE для Monodevelop 6 с помощью Flatpak, на Ubuntu 16.04 LTS, от более старой версии 5.доступа к последовательным портам с приложением Работает в Flatpak

У меня есть приложение, которое взаимодействует с последовательными портами, которые в основном адаптер USB/RS232, подключающий устройство к компьютеру.

У меня нет проблем с доступом к порту USB (/ dev/ttyUSB0) при отладке приложения в Monodevelop5. Однако каталог устройств (/ dev /), к которому у меня есть доступ, с использованием Monodevelop6 полностью отличается от того, к которому у меня есть доступ в Linux, и в этой папке нет ttyUSB0.

Я считаю, что это потому, что Flatpak запускает приложение в песочнице. Итак, если это причина, как я могу получить доступ к последовательному порту?

Спасибо.

ответ

3

Скорее всего, это потому, что Flatpak блокирует доступ к последовательному устройству.

К сожалению, на данный момент я не думаю, что есть способ, чтобы дать доступ конкретно к последовательным устройствам, так что вам нужно, чтобы предоставить доступ ко всем:

$ flatpak run --device=all com.xamarin.MonoDevelop 

Что это делает, по существу, крепление хост /dev внутри песочницы, так что приложение имеет полный доступ к нему.

Это довольно большое отверстие в песочнице, но иногда оно необходимо, пока все материалы обработки разрешений не будут реализованы.

+0

Спасибо @Mathieu. Ваше решение сработало. – Afshin

+0

Обратите внимание, что разработчик этой сборки flatpak альтернативно может использовать аргумент 'device = all' finish в манифесте JSON, который предоставит этот доступ по умолчанию. Но это, вероятно, слишком большая дыра в песочнице, чтобы сделать это по умолчанию. –

Смежные вопросы