On 03/02/17 12:41, Loïc Minier wrote: > In classic mode, you see libraries from your classic Ubuntu system > including X11; in devmode/confined mode, you only see system libraries > from the core snap which doesn't contain X11.
One more point. If you try this command you will be running a shell "inside the snap", in other words, you will be experiencing the filesystem exactly as your snap sees it. $ snap run --shell <snap> Now you are living inside the container that is setup just for that snap. It's using the same sorts of mechanisms as LXD and Docker to keep processes apart, but it is also setup in such a way that files can be shared across snaps. You can see the environment variables that snapd has setup so snap processes can find out where they can write data etc: $ set | grep SNAP SNAP=/snap/etcd/x5 SNAP_ARCH=amd64 SNAP_COMMON=/var/snap/etcd/common SNAP_DATA=/var/snap/etcd/x5 SNAP_LIBRARY_PATH=/var/lib/snapd/lib/gl: SNAP_NAME=etcd SNAP_REEXEC= SNAP_REVISION=x5 SNAP_USER_COMMON=/home/mark/snap/etcd/common SNAP_USER_DATA=/home/mark/snap/etcd/x5 SNAP_VERSION=2.3.7 And if you start using 'ls' to poke around the filesystem, you quickly see that you are in your own special world: $ ls / ls: cannot open directory '/': Permission denied $ sudo ls / bash: /usr/bin/sudo: Permission denied $ ls -l /lib/ total 74 drwxr-xr-x 2 root root 52 Jan 13 20:41 apparmor drwxr-xr-x 2 root root 57 Jan 13 20:41 bridge-utils drwxr-xr-x 2 root root 40 Jan 13 20:41 cgmanager drwxr-xr-x 3 root root 89 Jan 13 20:41 crda drwxr-xr-x 2 root root 3 Jan 13 20:40 firmware drwxr-xr-x 2 root root 1032 Jan 13 20:41 i386-linux-gnu drwxr-xr-x 2 root root 59 Jan 13 20:41 ifupdown drwxr-xr-x 2 root root 51 Jan 13 20:41 init -rwxr-xr-x 1 root root 70952 Sep 22 18:34 klibc-k3La8MUnuzHQ0_kG8hokcGAC0PA.so lrwxrwxrwx 1 root root 25 Nov 16 22:51 ld-linux.so.2 -> i386-linux-gnu/ld-2.23.so drwxr-xr-x 3 root root 61 Jan 13 20:41 lsb drwxr-xr-x 2 root root 35 Jan 13 20:41 modprobe.d drwxr-xr-x 6 root root 4096 Jan 26 10:15 modules drwxr-xr-x 2 root root 31 Jan 13 20:41 netplan drwxr-xr-x 2 root root 35 Jan 13 20:41 resolvconf drwxr-xr-x 8 root root 1057 Jan 13 20:41 systemd drwxr-xr-x 15 root root 132 Jan 13 20:41 terminfo drwxr-xr-x 4 root root 298 Jan 13 20:41 udev drwxr-xr-x 3 root root 4281 Jan 13 20:41 x86_64-linux-gnu drwxr-xr-x 2 root root 2531 Jan 13 20:41 xtables So you see, this is a super-minimal "core" with just a few libraries. You can find your snap at $SNAP: $ echo $SNAP /snap/foo/7 $ ls -lR $SNAP /snap/foo/x5: ... <your snap tree here> Hope that's a useful introduction. It's a lot of fun once you realise that you have TOTAL control over your snap, but everything else is very structured for you. Mark
-- Snapcraft mailing list Snapcraft@lists.snapcraft.io Modify settings or unsubscribe at: https://lists.ubuntu.com/mailman/listinfo/snapcraft