8

I have Ubuntu 18.04 LTS installed.

I inserted USB-flash to my laptop. It was automounted to /media/username/DISKLABEL and opened in Nautilus. I can read and write objects to it.

How can I access it from the application, which is installed as Snap?

I tried snaps of the following applications such as gedit, arduino-mhall119, organize-my-files. All them show me errors if I navigate to /media folder:

trying to access /media

trying to access /media

Output of active Snap interfaces is below:

$ 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

Updates:

  • connecting mount-observe to Gedit with snap connect gedit:mount-observe does not help.
  • it seems that we need special Snap with support of removable-media interface.
7

So we need special prepared Snap with support of removable-media interface/plugin.

Below is a list of Snap with removable-media plug described in YAML-manifest :

One can find other Snaps released by SnapCrafters with the following GitHub search link.


So if the application does not have auto-connect of removable-media we need to connect it manually with:

snap connect some-snap-name:removable-media

But not all applications have this plug/interface in YAML-manifest.


It is hard to find packages by supported plugs - so I created issue "Add ability for parametric Snap search with filters (plugs, such as removable-media and so on)" about snapcraft.io site.

The bug about snap command named "snap should provide functionality to find packages with needed plug or connector" was filed to launchpad as bug 1776938.

  • The correct command is: snap connect some-snap-name:removable-media – Zygmunt Krynicki May 25 '18 at 15:06
  • @ZygmuntKrynicki of course. Thank you, I fixed this silly typo. – N0rbert May 25 '18 at 15:10
  • The bug which is cited in the last two paragraphs is truly annoying, but a simple workaround for it if the snap package is already installed is snap interfaces some-snap-name – karel Jun 15 '18 at 12:55
  • @karel, right. Thank you! I have this command already in question. The main problem is to determine plugs of non-installed Snap. – N0rbert Jun 15 '18 at 12:56
2

The interface which needs to be connected is removable-media.

Can access files from removable media in /media and /run/media. This can be used to give an app access to mounted USB sticks and external hard drives on a desktop.

The mount-observe interface only lets you view what is mounted, not access mounts:

Can query system mount information. This is restricted because it gives privileged read access to mount arguments and should only be used with trusted apps.

Neither of these two interfaces will auto-connect. From https://github.com/snapcore/snapd/wiki/Interfaces#removable-media

  • I don't know. It seems obs-studio does, but I only found it due to it mentioning the interface in the description of the app for how to access external storage. I don't know how to query the store for specific interfaces in snaps. If a specific snap doesn't support the interface, it will presumably need to be rebuilt to support it. – dobey May 9 '18 at 13:58
0

The Ubuntu Software program will now show a Permissions button on the page of each Snap program you have installed.

the Krita page of Ubuntu Software program showing the buttons under the title - Launch, Remove, and Permissions

Click on Permissions, and a pop-up window gives you the option 'Read/write files on removable storage devices', with a button to the right that you click to turn this on.

You need to activate each program one by one this way, but there is nothing special to remember, other than that the button exists.

  • Please add screenshot of "Click on Permissions, and a pop-up window" to the answer. – N0rbert Jul 14 at 17:37

protected by N0rbert Dec 17 '18 at 14:10

Thank you for your interest in this question. Because it has attracted low-quality or spam answers that had to be removed, posting an answer now requires 10 reputation on this site (the association bonus does not count).

Would you like to answer one of these unanswered questions instead?

Not the answer you're looking for? Browse other questions tagged or ask your own question.