Tested 229-4ubuntu21.22 on Xenial: ubuntu@ubuntu-Standard-PC-i440FX-PIIX-1996:~$ sudo systemd-run /usr/bin/env [sudo] password for ubuntu: Running as unit run-r22d04a00a8304e2da719773bb14b6fb4.service. ubuntu@ubuntu-Standard-PC-i440FX-PIIX-1996:~$ journalctl -a | grep PATH Jul 02 14:31:04 ubuntu-Standard-PC-i440FX-PIIX-1996 env[2093]: PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin ubuntu@ubuntu-Standard-PC-i440FX-PIIX-1996:~$ dpkg -l systemd Desired=Unknown/Install/Remove/Purge/Hold | Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend |/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad) ||/ Name Version Architecture Description +++-=======================-================-================-=================================================== ii systemd 229-4ubuntu21.22 amd64 system and service manager ubuntu@ubuntu-Standard-PC-i440FX-PIIX-1996:~$ dmesg | grep initr [ 0.243635] Unpacking initramfs... [ 0.891349] Freeing initrd memory: 54320K
The fix for Xenial does not depend on snapd's environment generator, just hardcodes including /snap/bin in the PATH. ** Changed in: snapd (Ubuntu Xenial) Status: Confirmed => Invalid -- You received this bug notification because you are a member of Ubuntu Touch seeded packages, which is subscribed to systemd in Ubuntu. https://bugs.launchpad.net/bugs/1771858 Title: /snap/bin not in default PATH for units, snapd should ship system- environment-generators to inject /snap/bin into $PATH Status in snapd package in Ubuntu: Confirmed Status in systemd package in Ubuntu: Fix Released Status in snapd source package in Xenial: Invalid Status in systemd source package in Xenial: Fix Committed Status in snapd source package in Bionic: Confirmed Status in systemd source package in Bionic: Fix Committed Status in snapd source package in Cosmic: Fix Released Status in systemd source package in Cosmic: Fix Released Bug description: [Impact] * This means that software installed via snap isn't transparently available for units to use. As snaps are first-class citizens in Ubuntu, we should update the PATH. * When a generator started to be provided by systemd, it was recognized that $PATH is not correctly set, nonetheless, due to an environment bug that systemd generators run in. [Testcase] # make snapd-env-generator executable if it is not $ sudo chmod +x /usr/lib/systemd/system-environment-generators/snapd-env-generator # reboot, then test the effect of the fix $ systemd-run /usr/bin/env $ journalctl -e | grep PATH Output should contain /snap/bin Output should contain a complete and a valid PATH, i.e. PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin" or similar. [Regression Potential] * snapd generator was already fixed separately to cause no harm, when running under a broken systemd. With the corrected environment, generators will now run with a correct PATH out of the box. A slight change of PATH will be observed by all generators, when running in containers/initramfs-less boots. However most generators will not be affected as they typically do not execute external binaries. To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/snapd/+bug/1771858/+subscriptions -- Mailing list: https://launchpad.net/~touch-packages Post to : touch-packages@lists.launchpad.net Unsubscribe : https://launchpad.net/~touch-packages More help : https://help.launchpad.net/ListHelp