Как получить доступ к устройству хранения данных USB из приложения, установленного как Снимок?

У меня есть Ubuntu 18.04 установленный LTS.

Я вставил флэш-память USB в свой ноутбук. Это было автосмонтировано к/media/username/DISKLABEL и открылось в Наутилусе. Я могу считать и записать объекты в него.

Как я могу получить доступ к нему из приложения, которое установлено как Снимок?

Я попробовал снимки следующих приложений такой как gedit, arduino-mhall119, organize-my-files. Все их показывают мне ошибки, если я перешел к / папке медиа:

trying to access /media

trying to access /media

Вывод активных Поспешных интерфейсов ниже:

$ 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

Обновления:

  • соединение монтируется - наблюдают к Gedit с snap connect gedit:mount-observe не помогает.
  • кажется, что нам нужен специальный Снимок с поддержкой removable-media интерфейс.
21
задан 9 May 2018 в 16:51

4 ответа

Итак, нам нужен специально подготовленный Snap с поддержкой съемных- медиа коннектор / интерфейс / плагин.

Ниже приведен список Snap с плагином съемного носителя , описанный в YAML-манифесте:

Другие снэпы, выпущенные SnapCrafters, можно найти по следующей ссылке GitHub search .


Поэтому, если в приложении нет автоматического подключения съемного носителя , нам необходимо подключить его вручную с помощью:

snap connect some-snap-name:removable-media

Но не все приложения имеют этот плагин / интерфейс в YAML-манифесте.


Это так. трудно найти пакеты по поддерживаемым плагинам - поэтому я создал проблему «Добавить возможность параметрического поиска Snap с фильтрами (плагины, такие как съемный носитель и так далее)» о сайте snapcraft.io .

Ошибка, связанная с командой snap с именем « snap должна обеспечивать функциональность для поиска пакетов с необходимой вилкой или коннектором», была отправлена ​​на панель запуска как ошибка 1776938 .

22
ответ дан 23 November 2019 в 04:59

Интерфейс, который необходимо подключить, - это съемный носитель .

Может получать доступ к файлам со съемного носителя в / media и / run / media. Это можно использовать, чтобы предоставить приложению доступ к подключенным USB-накопителям и внешним жестким дискам на рабочем столе.

Интерфейс mount-Наблюдать позволяет вам просматривать только то, что смонтировано, но не доступ к креплениям:

Может запрашивать информацию о монтировании системы. Это ограничено, потому что это дает привилегированный доступ для чтения аргументам монтирования и должен использоваться только с доверенными приложениями.

Ни один из этих двух интерфейсов не подключается автоматически. Из https://github.com/snapcore/snapd/wiki/Interfaces#removable-media

3
ответ дан 23 November 2019 в 04:59

Программа Ubuntu Software теперь будет отображать кнопку разрешений на странице каждой установленной вами программы Snap.

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

Щелкните «Разрешения», и во всплывающем окне вы увидите параметр «Чтение / запись файлов на съемные устройства хранения» с кнопкой справа, которую вы нажимаете, чтобы включить эту функцию.

enter image description here

Таким образом вам нужно активировать каждую программу по очереди, но запоминать особо нечего, кроме того, что кнопка существует.

10
ответ дан 23 November 2019 в 04:59

Для доступа к USB-накопителю из оснастки требуется соединение с съемным носителем . Некоторые привязки к нему автоматически подключаются. Если не,вы можете подключить его вручную, используя следующую команду:

snap connect snap-name:removable-media

Иногда эта команда завершается ошибкой со следующим сообщением:

error: snap "snap-name" has no plug named "removable-media"

Это означает, что издатель пакета не указал, что приложение может использовать съемные носители. В этом случае вам следует связаться с издателем и попросить его добавить интерфейс съемного носителя к разъемам Snap.

Большинство снимков показывают, как связаться с издателем; запустите snap-info snap-name и посмотрите в поле contact адрес электронной почты или URL.

Автоматическое подключение съемного носителя

Возможно для издателей запросить автоматическое подключение их Snap к интерфейсу съемных носителей . Это разрешено для приложений, которые попадают в следующие категории.

  • Основные браузеры , такие как Brave, Firefox и Chromium.
  • Медиа-редакторы , такие как фоторедакторы, такие как gimp, видеоредакторы, такие как OpenToonz или аудиоредакторы например Audacity.
  • Медиа-плееры / средства просмотра , такие как видеопроигрыватели, такие как медиаплеер VLC, или программы просмотра изображений.
  • Медиа-рекордеры , такие как программа для демонстрации экрана, программа для веб-камеры, OBS Studio или запись подкаста

Если приложение попадает в одну из этих категорий и съемный носитель не подключается автоматически к приложению, обратитесь к издателю и попросите его запросить автоматическое подключение ] на съемный носитель .

2
ответ дан 5 January 2021 в 22:11

Другие вопросы по тегам:

Похожие вопросы: