访问串行端口与一个应用程序运行在Flatpak

问题描述:

我最近更新我的IDE MonoDevelop的6使用Flatpak,在Ubuntu 16.04 LTS,从旧版本的5访问串行端口与一个应用程序运行在Flatpak

我与串行端口进行交互的应用程序,它基本上是将设备连接到我的电脑的USB/RS232适配器。

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

我相信这是因为Flatpak在沙箱中运行应用程序。所以,如果这就是原因,那么我怎样才能访问串口呢?

谢谢。

最有可能是因为Flatpak阻止访问串行设备。

不幸的是,此刻,我不认为有一种方法向串口设备提供访问具体,所以你需要给访问所有:

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

这样做是基本安装沙盒内的主机/dev,所以应用程序可以完全访问它。

这是沙盒上的一个很大的漏洞,但有时候需要等到所有的权限处理的东西都实现了。

+0

谢谢@Mathieu。您的解决方案奏效 – Afshin

+0

请注意,该flatpak构建的开发人员可以使用JSON清单中的'device = all'完成arg,默认情况下会提供该访问权限。不过,在沙箱中,这可能是一个太大的缺陷,因此默认情况下会这样做。 –