如何从以Snap安装的应用程序访问USB存储?


14

我已经安装了Ubuntu 18.04 LTS。

我将USB闪存插入笔记本电脑。它已自动安装到/ media / username / DISKLABEL并在Nautilus中打开。我可以读写对象。

如何从作为Snap安装的应用程序访问它?

我尝试了以下应用程序如按扣geditarduino-mhall119organize-my-files。如果我导航到/ media文件夹,所有这些都向我显示错误:

尝试访问/ media

尝试访问/ media

活动的Snap 接口的输出如下:

$ 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

更新:

  • mount-observe连接到Gedit snap connect gedit:mount-observe并没有帮助。
  • 似乎我们需要带有removable-media接口支持的特殊Snap 。

Answers:


12

因此,我们需要特别准备的,支持removable-media接口/插件的Snap 。

以下是YAML-manifest中介绍的带有可移动媒体插件的Snap列表:

您可以通过以下GitHub搜索链接找到SnapCrafters发布的其他Snap 。


因此,如果应用程序不具有自动连接功能,removable-media则需要使用以下命令手动进行连接:

snap connect some-snap-name:removable-media

但并非所有应用程序都在YAML清单中具有此插件/接口。


很难通过支持的插件来找到软件包-因此我创建了关于snapcraft.io网站的问题“使用过滤器(例如插件等removable-media)为参数化Snap搜索添加功能”

关于snap名为snap应提供功能来查找带有所需插头或连接器的软件包的命令”的错误已作为错误1776938提交到启动板


正确的命令是:snap connect some-snap-name:removable-media
Zygmunt Krynicki

@ZygmuntKrynicki当然。谢谢,我修正了这个愚蠢的错字。
N0rbert

最后两段中引用的错误确实很烦人,但是如果已经安装了snap软件包,那么一个简单的解决方法是snap interfaces some-snap-name
karel

@karel,对。谢谢!我已经有这个命令了。主要问题是确定未安装的Snap的插头。
N0rbert

1
最后两段中引用的错误确实很烦人,但是如果已经安装了snap软件包,则可以通过以下简单方法解决snap connections some-snap-name此问题:这是我先前评论的更新。
karel

4

现在,Ubuntu软件程序将在已安装的每个Snap程序的页面上显示一个“权限”按钮。

Ubuntu软件程序的Krita页面,显示标题-启动,删除和权限下的按钮

单击权限,然后弹出窗口为您提供“在可移动存储设备上读取/写入文件”选项,并单击右侧的按钮将其打开。

在此处输入图片说明

您需要以这种方式一个个地激活每个程序,但是除了该按钮存在之外,没有什么特别需要记住的。


请在回答中添加“单击权限,然后弹出窗口”的屏幕截图。
N0rbert

@ N0rbert Done ...
持有人

3

需要连接的接口是removable-media

可以从/ media和/ run / media中的可移动媒体访问文件。这可用于使应用访问桌面上已安装的USB棒和外部硬盘驱动器。

mount-observe界面仅允许您查看已安装的内容,而不能访问安装:

可以查询系统挂载信息。这是受限制的,因为它授予对装载参数的特权读取访问权限,并且仅应与受信任的应用程序一起使用。

这两个接口都不会自动连接。从https://github.com/snapcore/snapd/wiki/Interfaces#removable-media


我不知道。似乎obs-studio确实有,但我之所以找到它,是因为它在应用程序说明中提到了如何访问外部存储的界面。我不知道如何快速查询存储中的特定接口。如果特定的快照不支持该接口,则可能需要对其进行重建以支持该接口。
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.