Snaps integrate with desktop environments, so a typical graphical snap will place one or more icons in the menu or launcher on any modern distribution. If a graphical snap does not have an icon, this is a bug and should be reported to the snap publisher or to the snapd developers on the snapcraft forum.
For non-graphical applications, or as a preference, snaps can be run from the command line too. The snap info
command lists the executable programs contained inside the snap.
$ snap info mgba
⋮
commands:
- mgba
- mgba.mgba-qt
⋮
The commands listed are exposed to the host OS. Typically the ‘main’ command used will match the name of the snap, and as such can be executed directly. In the above example as the snap name is mgba
and the command is also mgba
, the user can just type mgba
in a terminal to run the program.
$ mgba --version
mgba 0.6.1
Snaps can also be run using snap run
.
$ snap run mgba --version
mgba 0.6.1
By default any commands which are not named the same as the snap will be namespaced. So to run the mgba-qt
command in the mgba
snap, users need to run mgba.mgba-qt
(as shown in snap info
above). However a developer can request an alias
for their snap to be asserted in the store such that users only need to run the aliased command, without the namespace. Once approved and set, users are able to run the aliased command, such as mgba-qt
in this example.
$ mgba-qt --help
usage: mgba-qt [option ...] file
Generic options:
-b, --bios FILE GBA BIOS file to use
-c, --cheats FILE Apply cheat codes from a file
-C, --config OPTION=VALUE Override config value
-d, --debug Use command-line debugger
-g, --gdb Start GDB session (default port 2345)
-l, --log-level N Log level mask
-v, --movie FILE Play back a movie of recorded input
-p, --patch FILE Apply a specified patch file when running
-s, --frameskip N Skip every N frames
--version Print version and exit
⋮