Snap

當 –classic 被忽略時,如何使位置可用?

  • May 20, 2020

我想在 Ubuntu 上使用 VLC。VLC 的開發人員聲稱他們將不再支持 Debian 軟體包,而 Snap 軟體包是要走的路。報價(截至 2020-04-12):

請注意

用於 Ubuntu 和許多其他 Linux 發行版的 VLC 使用 snapcraft 打包。這使我們能夠直接向最終使用者分發最新最好的 VLC 版本,並提供安全和關鍵錯誤修復、完整的編解碼器和光學媒體支持。

如果你想安裝傳統的 deb 包,它可以像往常一樣通過 APT 獲得,並修復了所有安全和關鍵錯誤。但是,在下一個 Ubuntu 版本之前不會有主要的 VLC 版本更新。

我在 Ubuntu 18.04 上使用 VLC 已經有一段時間了(最近是 20.04 beta),但我總是遇到以下問題:

從 Snap 打包安裝的 VLC 無法打開文件

我通過閱讀文件找到的補救措施似乎是以“經典”模式安裝vlcSnap 包。這似乎是為了禁用某些安全措施,基本上讓 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=/)

一種可能的解決方案(根據這個錯誤,目前看來唯一的解決方案)是安裝/dev/nvme1n1p4在./home/youruser``/media

該錯誤提供了有關目前使 VLC 快照無法訪問任意文件夾(即使您想授予該訪問權限)的原因的詳細資訊。

文件夾/home和通過外掛/media硬編碼在程式碼中,列出了 snapcraft 建構後可以訪問的所有資源。這就是為什麼在這些文件夾下安裝會起作用的原因。

引用自:https://unix.stackexchange.com/questions/579656