Я хотел бы использовать 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 в "классическом" режиме. Похоже, это предназначено для отключения определенных мер безопасности и, по сути, предоставления 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. Вот почему монтирование в этих папках будет работать.