运行与 Debian 软件包并排/并行安装的 snap 包?

sda*_*aau 5 snap

我在 Ubuntu 18.04 上,这里的默认 VLC 是:

$ vlc --version
VLC media player 3.0.4 Vetinari (revision 3.0.4-0-gf615db6332)
...
$ which vlc
/usr/bin/vlc
Run Code Online (Sandbox Code Playgroud)

我想保留这个版本,然后每晚通过snap. 所以我试过:

$ sudo snap install --channel=edge vlc
vlc (edge) 4.0.0-dev-5939-gee31d91 from VideoLAN? installed
$ snap list 
Name                  Version                  Rev   Tracking  Publisher    Notes
core                  16-2.36.3                6130  stable    canonical?   core
...
vlc                   4.0.0-dev-5939-gee31d91  767   edge      videolan?    -
Run Code Online (Sandbox Code Playgroud)

现在我知道我安装了这个开发版本vlc,它在我的系统中:

$ ls -la /snap/bin/
total 8
drwxr-xr-x  2 root root 4096 Jan  4 09:25 .
drwxr-xr-x 13 root root 4096 Jan  4 09:25 ..
...
lrwxrwxrwx  1 root root   13 Jan  4 09:25 vlc -> /usr/bin/snap
Run Code Online (Sandbox Code Playgroud)

但是/snap/bin/vlc是一个符号链接(显然)到/usr/bin/snap,所以当我运行它时:

$ /snap/bin/vlc 
cannot change current working directory to the original directory: No such file or directory
Run Code Online (Sandbox Code Playgroud)

所以当我输入 时vlc,我仍然得到旧的 Debian 版本,这正是我想要的。

但是snap在这种情况下如何运行VLC 版本?

kar*_*rel 5

以下启动 vlc 的 snap 版本的命令更容易记住。打开终端并输入:

snap run vlc  
Run Code Online (Sandbox Code Playgroud)

snap run <snap-package>通常也适用于所有 snap 包。