如何 运行 使用 Snapcraft 安装的应用程序

How to run application that installed using Snapcraft

我刚刚安装了 Snapcraft,然后用它来安装 Ngrok,但不幸的是我仍然无法从我的终端 运行 Ngrox。

我的 Ngrok 安装

╭─yoesoff@yoesoff-ThinkPad-X220 ~/Documents/labs/hello-world  ‹master› 
╰─➤  sudo snap install ngrok                                                                                                                                         1 ↵
ngrok 2.3.27 from Khiem Doan (khiemdoan) installed

Ngrk 现已上市

╭─yoesoff@yoesoff-ThinkPad-X220 ~/Documents/labs/hello-world  ‹master› 
╰─➤  snap list                                                                                                                                                     127 ↵
Name   Version  Rev   Tracking  Publisher   Notes
core   16-2.39  6964  stable    canonical✓  core
ngrok  2.3.27   13    stable    khiemdoan   -

但是不起作用

╭─yoesoff@yoesoff-ThinkPad-X220 ~  
╰─➤  ngrok
zsh: command not found: ngrok

我的问题是如何 运行 使用 snapcraft 安装的应用程序?

谢谢

我认为问题是由 Snapcraft 糟糕的文档引起的。 运行 通过 Snap 安装的应用程序的唯一方法应该是通过 Snap 运行。以下是 运行 使用 Snap 安装的应用程序的方法:

snap run ngrok --version                                                                                                                                        
ngrok version 2.3.27

这种方式不行

ngrok
zsh: command not found: ngrok

有点奇怪,但我认为手动解压 Ngrok 比使用这个糟糕的工具更好。

您可以 运行 使用 snap run application 的应用程序(参见 snap run --help)。
如果你想让应用程序显示在桌面应用程序列表中,你应该在 /var/lib/snapd/desktop/applications/ 中找到 application.desktop 文件,然后你可以将它符号链接到 .local/share/applications/.
或者更好的是,您可以将 /var/lib/snapd/desktop/applications/ 添加到 XDG_DATA_DIRS,方法是输入 ~/.profile(或者 ~/.gnomerc,如果您只想将其应用于 gnome),如下所示:

export XDG_DATA_DIRS="${XDG_DATA_DIRS}:/var/lib/snapd/desktop"

或者如果 /etc/profile.d/snapd.sh 存在

source /etc/profile.d/snapd.sh