Доступ к последовательным портам с помощью приложения, запускаемого в Flatpak

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

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

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

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

Благодарю.

1 ответ

Решение

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

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

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

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

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

Другие вопросы по тегам