访问串行端口与一个应用程序运行在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
,所以应用程序可以完全访问它。
这是沙盒上的一个很大的漏洞,但有时候需要等到所有的权限处理的东西都实现了。
谢谢@Mathieu。您的解决方案奏效 – Afshin
请注意,该flatpak构建的开发人员可以使用JSON清单中的'device = all'完成arg,默认情况下会提供该访问权限。不过,在沙箱中,这可能是一个太大的缺陷,因此默认情况下会这样做。 –