我最近使用Flatpak将我的IDE更新为Monodevelop 6,在Ubuntu 16.04 LTS上使用旧版本5。
我有一个与串口交互的应用程序,它基本上是一个USB / RS232适配器,将设备连接到我的电脑。
当我在Monodevelop5中调试应用程序时,我没有问题访问USB端口(/ dev / ttyUSB0)。但是,我使用Monodevelop6访问的设备目录(/ dev /)与我在Linux中访问的设备目录(/ dev /)完全不同,并且该文件夹中没有ttyUSB0。
我相信这是因为Flatpak在沙盒中运行应用程序。那么,如果是这个原因,我怎么才能访问串口呢?
感谢。
答案 0 :(得分:5)
很可能是因为Flatpak阻止了对串行设备的访问。
不幸的是,目前我认为没有办法专门为串行设备提供访问权限,因此您需要授予所有人访问权限:
$ flatpak run --device=all com.xamarin.MonoDevelop
这样做主要是将主机的/dev
安装在沙箱中,因此应用程序可以完全访问它。
这是沙盒中的一个相当大的漏洞,但有时需要它才能实现所有权限处理。