6

我最近在 Ubuntu 16.04 LTS 上使用 Flatpak 从旧版本 5 将我的 IDE 更新为 Monodevelop 6。

我有一个与串行端口交互的应用程序,它基本上是将设备连接到我的计算机的 USB/RS232 适配器。

当我在 Monodevelop5 中调试应用程序时,访问 USB 端口 (/dev/ttyUSB0) 没有问题。但是,我使用 Monodevelop6 可以访问的设备目录 (/dev/) 与我在 Linux 中可以访问的完全不同,并且该文件夹中没有 ttyUSB0。

我相信这是因为 Flatpak 在沙盒中运行应用程序。那么,如果是这个原因,那我该如何访问串口呢?

谢谢。

4

1 回答 1

5

这很可能是因为 Flatpak 阻止了对串行设备的访问。

不幸的是,目前我认为没有办法专门授予对串行设备的访问权限,因此您需要授予对所有设备的访问权限:

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

这实际上是将主机安装/dev在沙箱内,因此应用程序可以完全访问它。

这是沙箱中的一个相当大的漏洞,但有时在所有权限处理内容都实现之前需要它。

于 2016-12-22T15:51:09.597 回答