2016-12-20 2 views
3

J'ai récemment mis à jour mon IDE à l'aide de 6 Monodevelop Flatpak, sur Ubuntu 16.04 LTS, à partir d'une ancienne version 5.ports série avec une application fonctionne en Flatpak

J'ai une application qui interagit avec les ports série qui est essentiellement un adaptateur USB/RS232 reliant un périphérique à mon ordinateur.

Je n'ai aucun problème à accéder au port USB (/ dev/ttyUSB0) lorsque je débogue l'application dans Monodevelop5. Cependant, le répertoire de périphériques (/ dev /) auquel j'accède, en utilisant Monodevelop6 est complètement différent de celui auquel j'ai accès sous Linux, et il n'y a pas de ttyUSB0 dans ce dossier. Je crois que c'est parce que Flatpak exécute l'application dans le sandbox. Donc, si c'est la raison, comment puis-je accéder à un port série alors?

Merci.

Répondre

3

Probablement parce que Flatpak bloque l'accès au périphérique série.

Malheureusement pour le moment je ne pense pas qu'il y ait un moyen de donner un accès spécifique aux périphériques série, donc vous aurez besoin de donner accès à tous:

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

Ce que cela fait est essentiellement montage /dev de l'hôte à l'intérieur du bac à sable, de sorte que l'application a un accès complet à celui-ci.

C'est un gros trou dans le bac à sable, mais parfois c'est nécessaire jusqu'à ce que toutes les tâches de gestion des permissions soient implémentées.

+0

Merci @Mathieu. Votre solution a fonctionné. – Afshin

+0

Notez que le développeur de cette construction flatpak pourrait alternativement utiliser l'argument de finition 'device = all' dans le manifeste JSON, ce qui donnerait cet accès par défaut. Mais c'est probablement un trop gros trou dans le bac à sable pour le faire par défaut, cependant. –