web-dev-qa-db-fra.com

Comment accéder au stockage USB à partir de l'application installée en tant que composant logiciel enfichable?

J'ai Ubuntu 18.04 LTS installé.

J'ai inséré une clé USB dans mon ordinateur portable. Il a été monté automatiquement sur /media/nom d'utilisateur/DISKLABEL et ouvert dans Nautilus. Je peux lire et écrire des objets dessus.

Comment puis-je y accéder à partir de l'application installée en tant que composant logiciel enfichable?

J'ai essayé des captures des applications suivantes, telles que gedit, arduino-mhall119, organize-my-files. Tous me montrent des erreurs si je navigue dans le dossier /media :

trying to access /media

trying to access /media

La sortie du composant logiciel enfichable actif interfaces est ci-dessous:

$ snap interfaces  | grep -v ".*-$"
Slot                             Plug
:browser-support                 organize-my-files
:core-support                    core:core-support-plug
:cups-control                    gedit
:desktop                         gedit,organize-my-files
:desktop-legacy                  gedit,organize-my-files
:gsettings                       gedit,organize-my-files
:home                            arduino-mhall119,gedit,organize-my-files
:network                         arduino-mhall119,gedit,organize-my-files,pulsemixer
:opengl                          organize-my-files
:pulseaudio                      organize-my-files,pulsemixer
:unity7                          arduino-mhall119,gedit,organize-my-files
:wayland                         gedit
:x11                             arduino-mhall119,organize-my-files,pulsemixer
gnome-3-26-1604:gnome-3-26-1604  gedit
gtk-common-themes:gtk3-themes    gedit
gtk-common-themes:icon-themes    gedit
gtk-common-themes:sound-themes   gedit
-                                arduino-mhall119:serial-port
-                                gedit:avahi-observe
-                                gedit:mount-observe

Mises à jour:

  • connecter mount-observe à Gedit avec snap connect gedit:mount-observe n'aide pas.
  • il semble que nous ayons besoin d'une capture spéciale avec le support de l'interface removable-media .
8
N0rbert

Nous avons donc besoin d’un composant logiciel enfichable préparé avec le support de removable-media interface/plugin.

Vous trouverez ci-dessous une liste des composants logiciels enfichables avec des supports amovibles décrits dans le manifeste YAML:

On peut trouver d'autres Snaps publiés par SnapCrafters avec le suivant lien de recherche GitHub .


Donc, si l'application ne dispose pas de la connexion automatique de removable-media, nous devons la connecter manuellement avec:

snap connect some-snap-name:removable-media

Mais toutes les applications n'ont pas cette interface/plug dans YAML-manifeste.


Il est difficile de trouver des paquets avec les plugs pris en charge - j’ai donc créé problème "Ajouter une possibilité de recherche paramétrique avec capture par filtre avec filtres (plugs, tels que removable-media et ainsi de suite)" à propos du site snapcraft.io .

Le bogue concernant la commande snapnommé "snapdevrait fournir une fonctionnalité permettant de trouver des packages avec le connecteur ou le connecteur requis" a été archivé dans le tableau de bord sous le bogue 1776938 .

7
N0rbert

L’interface à connecter est removable-media.

Peut accéder aux fichiers d'un support amovible dans/media et/run/media. Ceci peut être utilisé pour donner à une application l’accès à des clés USB montées et à des disques durs externes sur un bureau.

L’interface mount-observe vous permet uniquement d’afficher ce qui est monté, mais pas d’accéder aux montages:

Peut interroger les informations de montage du système. Ceci est limité car il donne un accès en lecture privilégié aux arguments de montage et ne devrait être utilisé qu'avec des applications sécurisées.

Aucune de ces deux interfaces ne se connectera automatiquement. De https://github.com/snapcore/snapd/wiki/Interfaces#removable-media

2
dobey