Как сделать местоположения доступными для snap-а, если --classic игнорируется?

Как сделать местоположения доступными для snap-а, если --classic игнорируется?

Я хотел бы использовать VLC на Ubuntu. Разработчики VLC утверждают, что больше не будут поддерживать пакеты Debian, и пакеты Snap — это выход. Цитата (по состоянию на 2020-04-12):

Nota Bene

VLC для Ubuntu и многих других дистрибутивов Linux упакован с помощью snapcraft. Это позволяет нам распространять последние и лучшие версии VLC напрямую конечным пользователям с исправлениями безопасности и критических ошибок, полной поддержкой кодеков и оптических носителей.

Если вы хотите установить традиционный deb-пакет, он доступен как обычно через APT, со всеми исправлениями безопасности и критических ошибок. Однако до следующего релиза Ubuntu не будет никаких крупных обновлений версии VLC.

Я уже некоторое время использую VLC на Ubuntu 18.04 (и недавно на 20.04 beta), но всегда сталкиваюсь со следующей проблемой:

VLC, установленный из пакета Snap, не может открыть файл

Средство, которое я нашел, прочитав документациюказалосьчтобы установить vlcпакет Snap в "классическом" режиме. Похоже, это предназначено для отключения определенных мер безопасности и, по сути, предоставления Snap доступа ко всему.

sudo snap install --classic vlc

Увы, когда я пытаюсь установить VLC таким способом, я получаю:

$ sudo snap install --classic vlc
Warning: flag --classic ignored for strictly confined snap vlc

vlc 3.0.8 from VideoLAN✓ installed

... и действительно, ничего не меняется, потому что, похоже, --classicфлаг игнорируется.

Достаточно страннонекоторыйлокацииявляютсядоступно. Например, все, что автоматически монтируется, /media/$(whoami)когда я подключаю USB-диск или что-то в этом роде, доступно для VLC.

Вопрос:Итак, как я могу использовать пакет snap в сочетании с возможностью доступа к любому расположению файловой системы (по крайней мере, только для чтения), к которому я могу получить доступ с помощью своей обычной непривилегированной учетной записи пользователя?


Дополнительная информация:

$ sudo snap connections |grep vlc:
desktop                   vlc:desktop                                :desktop                         -
desktop-legacy            vlc:desktop-legacy                         :desktop-legacy                  -
home                      vlc:home                                   :home                            -
network                   vlc:network                                :network                         -
network-bind              vlc:network-bind                           :network-bind                    -
opengl                    vlc:opengl                                 :opengl                          -
optical-drive             vlc:optical-drive                          :optical-drive                   -
pulseaudio                vlc:pulseaudio                             :pulseaudio                      -
removable-media           vlc:removable-media                        :removable-media                 -
screen-inhibit-control    vlc:screen-inhibit-control                 :screen-inhibit-control          -
unity7                    vlc:unity7                                 :unity7                          -
x11                       vlc:x11                                    :x11                             -
$ mount|grep /data
/dev/nvme1n1p4 on /data type btrfs (rw,relatime,ssd,space_cache,subvolid=5,subvol=/)

решение1

Возможное решение (и на данный момент оно кажется единственным, согласноэтот баг) — это монтирование /dev/nvme1n1p4в подпапку /home/youruserили подпапку /media.

Ошибка содержит подробную информацию о причинах, которые на данный момент делают невозможным доступ VLC snap к произвольным папкам (даже если вы хотите предоставить такой доступ).

Папки /homeи /mediaжестко закодированыв кодечерез плагины, которые перечисляют все ресурсы, к которым snap будет иметь доступ после сборки snapcraft. Вот почему монтирование в этих папках будет работать.

Связанный контент