<div dir="ltr"><span id="docs-internal-guid-1257be3b-f7e9-1b93-f8a1-ac8bc46a2036"><h3 dir="ltr" style="line-height:1.38;margin-top:8pt;margin-bottom:0pt"><span style="font-size:16px;font-family:'Trebuchet MS';color:rgb(102,102,102);vertical-align:baseline;white-space:pre-wrap;background-color:transparent">User experience</span></h3><br><p dir="ltr" style="line-height:1.38;margin-top:0pt;margin-bottom:0pt"><span style="font-size:14.6666666666667px;font-family:Ubuntu;color:rgb(0,0,0);vertical-align:baseline;white-space:pre-wrap;background-color:transparent">When you SSH into a Snappy system, you currently end up on a shell prompt. Wouldn’t it be great to actually land in Snappy itself?</span></p><br><p dir="ltr" style="line-height:1.38;margin-top:0pt;margin-bottom:0pt"><span style="font-size:14.6666666666667px;font-family:'Ubuntu Mono';color:rgb(153,153,153);vertical-align:baseline;white-space:pre-wrap;background-color:transparent">Welcome to Snappy Ubuntu Core 15.04</span></p><p dir="ltr" style="line-height:1.38;margin-top:0pt;margin-bottom:0pt"><span style="font-size:14.6666666666667px;font-family:'Ubuntu Mono';color:rgb(0,0,0);vertical-align:baseline;white-space:pre-wrap;background-color:transparent">snappy# </span></p><br><p dir="ltr" style="line-height:1.38;margin-top:0pt;margin-bottom:0pt"><span style="font-size:14.6666666666667px;font-family:Ubuntu;color:rgb(0,0,0);vertical-align:baseline;white-space:pre-wrap;background-color:transparent">How do I get started?</span></p><br><p dir="ltr" style="line-height:1.38;margin-top:0pt;margin-bottom:0pt"><span style="font-size:14.6666666666667px;font-family:'Ubuntu Mono';color:rgb(0,0,0);vertical-align:baseline;white-space:pre-wrap;background-color:transparent">snappy# help</span></p><p dir="ltr" style="line-height:1.38;margin-top:0pt;margin-bottom:0pt"><span style="font-size:14.6666666666667px;font-family:'Ubuntu Mono';color:rgb(153,153,153);vertical-align:baseline;white-space:pre-wrap;background-color:transparent">Usage:</span></p><p dir="ltr" style="line-height:1.38;margin-top:0pt;margin-bottom:0pt"><span style="font-size:14.6666666666667px;font-family:'Ubuntu Mono';color:rgb(153,153,153);vertical-align:baseline;white-space:pre-wrap;background-color:transparent">  <command> [<arg>...]</span></p><br><p dir="ltr" style="line-height:1.38;margin-top:0pt;margin-bottom:0pt"><span style="font-size:14.6666666666667px;font-family:'Ubuntu Mono';color:rgb(153,153,153);vertical-align:baseline;white-space:pre-wrap;background-color:transparent">Available commands</span></p><p dir="ltr" style="line-height:1.38;margin-top:0pt;margin-bottom:0pt"><span style="font-size:14.6666666666667px;font-family:'Ubuntu Mono';color:rgb(153,153,153);vertical-align:baseline;white-space:pre-wrap;background-color:transparent">  booted              Flag that rootfs booted successfully</span></p><p dir="ltr" style="line-height:1.38;margin-top:0pt;margin-bottom:0pt"><span style="font-size:14.6666666666667px;font-family:'Ubuntu Mono';color:rgb(153,153,153);vertical-align:baseline;white-space:pre-wrap;background-color:transparent">  build               Builds a snap package (aliases: bu)</span></p><p dir="ltr" style="line-height:1.38;margin-top:0pt;margin-bottom:0pt"><span style="font-size:14.6666666666667px;font-family:'Ubuntu Mono';color:rgb(153,153,153);vertical-align:baseline;white-space:pre-wrap;background-color:transparent">  config              Set configuration for an installed package.</span></p><p dir="ltr" style="line-height:1.38;margin-top:0pt;margin-bottom:0pt"><span style="font-size:14.6666666666667px;font-family:Ubuntu;color:rgb(0,0,0);font-style:italic;vertical-align:baseline;white-space:pre-wrap;background-color:transparent">[... edited for brievety...]</span></p><p dir="ltr" style="line-height:1.38;margin-top:0pt;margin-bottom:0pt"><span style="font-size:14.6666666666667px;font-family:'Ubuntu Mono';color:rgb(153,153,153);vertical-align:baseline;white-space:pre-wrap;background-color:transparent">  shell               Start a shell</span></p><p dir="ltr" style="line-height:1.38;margin-top:0pt;margin-bottom:0pt"><span style="font-size:14.6666666666667px;font-family:'Ubuntu Mono';color:rgb(153,153,153);vertical-align:baseline;white-space:pre-wrap;background-color:transparent">  update              Update all installed parts</span></p><p dir="ltr" style="line-height:1.38;margin-top:0pt;margin-bottom:0pt"><span style="font-size:14.6666666666667px;font-family:'Ubuntu Mono';color:rgb(153,153,153);vertical-align:baseline;white-space:pre-wrap;background-color:transparent">  versions            (deprecated) please use "list"</span></p><br><p dir="ltr" style="line-height:1.38;margin-top:0pt;margin-bottom:0pt"><span style="font-size:14.6666666666667px;font-family:Ubuntu;color:rgb(0,0,0);vertical-align:baseline;white-space:pre-wrap;background-color:transparent">Simple commands like </span><span style="font-size:14.6666666666667px;font-family:'Ubuntu Mono';color:rgb(0,0,0);vertical-align:baseline;white-space:pre-wrap;background-color:transparent">install</span><span style="font-size:14.6666666666667px;font-family:Ubuntu;color:rgb(0,0,0);vertical-align:baseline;white-space:pre-wrap;background-color:transparent">, </span><span style="font-size:14.6666666666667px;font-family:'Ubuntu Mono';color:rgb(0,0,0);vertical-align:baseline;white-space:pre-wrap;background-color:transparent">update</span><span style="font-size:14.6666666666667px;font-family:Ubuntu;color:rgb(0,0,0);vertical-align:baseline;white-space:pre-wrap;background-color:transparent"> etc. work as expected:</span></p><br><p dir="ltr" style="line-height:1.38;margin-top:0pt;margin-bottom:0pt"><span style="font-size:14.6666666666667px;font-family:'Ubuntu Mono';color:rgb(0,0,0);vertical-align:baseline;white-space:pre-wrap;background-color:transparent">snappy# info</span></p><p dir="ltr" style="line-height:1.38;margin-top:0pt;margin-bottom:0pt"><span style="font-size:14.6666666666667px;font-family:'Ubuntu Mono';color:rgb(153,153,153);vertical-align:baseline;white-space:pre-wrap;background-color:transparent">release: ubuntu-core/15.04/stable</span></p><p dir="ltr" style="line-height:1.38;margin-top:0pt;margin-bottom:0pt"><span style="font-size:14.6666666666667px;font-family:'Ubuntu Mono';color:rgb(153,153,153);vertical-align:baseline;white-space:pre-wrap;background-color:transparent">architecture: amd64</span></p><p dir="ltr" style="line-height:1.38;margin-top:0pt;margin-bottom:0pt"><span style="font-size:14.6666666666667px;font-family:'Ubuntu Mono';color:rgb(153,153,153);vertical-align:baseline;white-space:pre-wrap;background-color:transparent">frameworks: webdm</span></p><p dir="ltr" style="line-height:1.38;margin-top:0pt;margin-bottom:0pt"><span style="font-size:14.6666666666667px;font-family:'Ubuntu Mono';color:rgb(153,153,153);vertical-align:baseline;white-space:pre-wrap;background-color:transparent">apps: </span></p><p dir="ltr" style="line-height:1.38;margin-top:0pt;margin-bottom:0pt"><span style="font-size:14.6666666666667px;font-family:'Ubuntu Mono';color:rgb(0,0,0);vertical-align:baseline;white-space:pre-wrap;background-color:transparent">snappy# list -v</span></p><p dir="ltr" style="line-height:1.38;margin-top:0pt;margin-bottom:0pt"><span style="font-size:14.6666666666667px;font-family:'Ubuntu Mono';color:rgb(153,153,153);vertical-align:baseline;white-space:pre-wrap;background-color:transparent">Name          Date       Version Developer </span></p><p dir="ltr" style="line-height:1.38;margin-top:0pt;margin-bottom:0pt"><span style="font-size:14.6666666666667px;font-family:'Ubuntu Mono';color:rgb(153,153,153);vertical-align:baseline;white-space:pre-wrap;background-color:transparent">ubuntu-core   2015-06-11 3       ubuntu*   </span></p><p dir="ltr" style="line-height:1.38;margin-top:0pt;margin-bottom:0pt"><span style="font-size:14.6666666666667px;font-family:'Ubuntu Mono';color:rgb(153,153,153);vertical-align:baseline;white-space:pre-wrap;background-color:transparent">webdm         2015-06-11 0.9     *         </span></p><p dir="ltr" style="line-height:1.38;margin-top:0pt;margin-bottom:0pt"><span style="font-size:14.6666666666667px;font-family:'Ubuntu Mono';color:rgb(153,153,153);vertical-align:baseline;white-space:pre-wrap;background-color:transparent">generic-amd64 2015-06-11 1.1.1   *         </span></p><br><p dir="ltr" style="line-height:1.38;margin-top:0pt;margin-bottom:0pt"><span style="font-size:14.6666666666667px;font-family:Ubuntu;color:rgb(0,0,0);vertical-align:baseline;white-space:pre-wrap;background-color:transparent">We should revisit some commands or aliases to have a friendlier, more rewarding user experience, e.g. </span><span style="font-size:14.6666666666667px;font-family:'Ubuntu Mono';color:rgb(0,0,0);vertical-align:baseline;white-space:pre-wrap;background-color:transparent">update</span><span style="font-size:14.6666666666667px;font-family:Ubuntu;color:rgb(0,0,0);vertical-align:baseline;white-space:pre-wrap;background-color:transparent"> could provide some output when no update is available and entering a shell command like </span><span style="font-size:14.6666666666667px;font-family:'Ubuntu Mono';color:rgb(0,0,0);vertical-align:baseline;white-space:pre-wrap;background-color:transparent">ls</span><span style="font-size:14.6666666666667px;font-family:Ubuntu;color:rgb(0,0,0);vertical-align:baseline;white-space:pre-wrap;background-color:transparent"> would hint at using </span><span style="font-size:14.6666666666667px;font-family:'Ubuntu Mono';color:rgb(0,0,0);vertical-align:baseline;white-space:pre-wrap;background-color:transparent">help</span><span style="font-size:14.6666666666667px;font-family:Ubuntu;color:rgb(0,0,0);vertical-align:baseline;white-space:pre-wrap;background-color:transparent">:</span></p><br><p dir="ltr" style="line-height:1.38;margin-top:0pt;margin-bottom:0pt"><span style="font-size:14.6666666666667px;font-family:'Ubuntu Mono';color:rgb(0,0,0);vertical-align:baseline;white-space:pre-wrap;background-color:transparent">snappy# update</span></p><p dir="ltr" style="line-height:1.38;margin-top:0pt;margin-bottom:0pt"><span style="font-size:14.6666666666667px;font-family:'Ubuntu Mono';color:rgb(153,153,153);vertical-align:baseline;white-space:pre-wrap;background-color:transparent">System is up-to-date!</span></p><p dir="ltr" style="line-height:1.38;margin-top:0pt;margin-bottom:0pt"><span style="font-size:14.6666666666667px;font-family:'Ubuntu Mono';color:rgb(0,0,0);vertical-align:baseline;white-space:pre-wrap;background-color:transparent">snappy# ls</span></p><p dir="ltr" style="line-height:1.38;margin-top:0pt;margin-bottom:0pt"><span style="font-size:14.6666666666667px;font-family:'Ubuntu Mono';color:rgb(153,153,153);vertical-align:baseline;white-space:pre-wrap;background-color:transparent">No such command; “help” for a list of commands</span></p><br><p dir="ltr" style="line-height:1.38;margin-top:0pt;margin-bottom:0pt"><span style="font-size:14.6666666666667px;font-family:Ubuntu;color:rgb(0,0,0);vertical-align:baseline;white-space:pre-wrap;background-color:transparent">Configuration is only possible for snaps that have the required hook and may be set manually by key or globally from an URL, and of course immutable configs can’t be changed.</span></p><br><p dir="ltr" style="line-height:1.38;margin-top:0pt;margin-bottom:0pt"><span style="font-size:14.6666666666667px;font-family:'Ubuntu Mono';color:rgb(0,0,0);vertical-align:baseline;white-space:pre-wrap;background-color:transparent">snappy# config</span></p><p dir="ltr" style="line-height:1.38;margin-top:0pt;margin-bottom:0pt"><span style="font-size:14.6666666666667px;font-family:'Ubuntu Mono';color:rgb(0,0,0);vertical-align:baseline;white-space:pre-wrap;background-color:transparent">(config)# list</span></p><p dir="ltr" style="line-height:1.38;margin-top:0pt;margin-bottom:0pt"><span style="font-size:14.6666666666667px;font-family:'Ubuntu Mono';color:rgb(0,0,0);vertical-align:baseline;white-space:pre-wrap;background-color:transparent">Name           Date       Version Developer </span></p><p dir="ltr" style="line-height:1.38;margin-top:0pt;margin-bottom:0pt"><span style="font-size:14.6666666666667px;font-family:'Ubuntu Mono';color:rgb(153,153,153);vertical-align:baseline;white-space:pre-wrap;background-color:transparent">ubuntu-core    2015-06-11 3       ubuntu    </span></p><p dir="ltr" style="line-height:1.38;margin-top:0pt;margin-bottom:0pt"><span style="font-size:14.6666666666667px;font-family:'Ubuntu Mono';color:rgb(153,153,153);vertical-align:baseline;white-space:pre-wrap;background-color:transparent">config-example 2015-06-15 1.0.6   canonical </span></p><p dir="ltr" style="line-height:1.38;margin-top:0pt;margin-bottom:0pt"><span style="font-size:14.6666666666667px;font-family:'Ubuntu Mono';color:rgb(153,153,153);vertical-align:baseline;white-space:pre-wrap;background-color:transparent">webdm          2015-06-11 0.9               </span></p><p dir="ltr" style="line-height:1.38;margin-top:0pt;margin-bottom:0pt"><span style="font-size:14.6666666666667px;font-family:'Ubuntu Mono';color:rgb(0,0,0);vertical-align:baseline;white-space:pre-wrap;background-color:transparent">(config)# config xkcd-webserver</span></p><p dir="ltr" style="line-height:1.38;margin-top:0pt;margin-bottom:0pt"><span style="font-size:14.6666666666667px;font-family:'Ubuntu Mono';color:rgb(153,153,153);vertical-align:baseline;white-space:pre-wrap;background-color:transparent">No config found for this snap</span></p><p dir="ltr" style="line-height:1.38;margin-top:0pt;margin-bottom:0pt"><span style="font-size:14.6666666666667px;font-family:'Ubuntu Mono';color:rgb(0,0,0);vertical-align:baseline;white-space:pre-wrap;background-color:transparent">(config)# config ubuntu-core</span></p><p dir="ltr" style="line-height:1.38;margin-top:0pt;margin-bottom:0pt"><span style="font-size:14.6666666666667px;font-family:'Ubuntu Mono';color:rgb(0,0,0);vertical-align:baseline;white-space:pre-wrap;background-color:transparent">(ubuntu-core)# show</span></p><p dir="ltr" style="line-height:1.38;margin-top:0pt;margin-bottom:0pt"><span style="font-size:14.6666666666667px;font-family:'Ubuntu Mono';color:rgb(153,153,153);vertical-align:baseline;white-space:pre-wrap;background-color:transparent">autopilot: true</span></p><p dir="ltr" style="line-height:1.38;margin-top:0pt;margin-bottom:0pt"><span style="font-size:14.6666666666667px;font-family:'Ubuntu Mono';color:rgb(153,153,153);vertical-align:baseline;white-space:pre-wrap;background-color:transparent">timezone: Etc/UTC</span></p><p dir="ltr" style="line-height:1.38;margin-top:0pt;margin-bottom:0pt"><span style="font-size:14.6666666666667px;font-family:'Ubuntu Mono';color:rgb(153,153,153);vertical-align:baseline;white-space:pre-wrap;background-color:transparent">hostname: localhost.localdomain</span></p><p dir="ltr" style="line-height:1.38;margin-top:0pt;margin-bottom:0pt"><span style="font-size:14.6666666666667px;font-family:'Ubuntu Mono';color:rgb(0,0,0);vertical-align:baseline;white-space:pre-wrap;background-color:transparent">(ubuntu-core)# set autopilot false</span></p><p dir="ltr" style="line-height:1.38;margin-top:0pt;margin-bottom:0pt"><span style="font-size:14.6666666666667px;font-family:'Ubuntu Mono';color:rgb(153,153,153);vertical-align:baseline;white-space:pre-wrap;background-color:transparent">Config set</span></p><p dir="ltr" style="line-height:1.38;margin-top:0pt;margin-bottom:0pt"><span style="font-size:14.6666666666667px;font-family:'Ubuntu Mono';color:rgb(0,0,0);vertical-align:baseline;white-space:pre-wrap;background-color:transparent">(ubuntu-core)# exit</span></p><p dir="ltr" style="line-height:1.38;margin-top:0pt;margin-bottom:0pt"><span style="font-size:14.6666666666667px;font-family:'Ubuntu Mono';color:rgb(0,0,0);vertical-align:baseline;white-space:pre-wrap;background-color:transparent">snappy# config config-example set -u <a href="https://conf.example.com/config-example.yaml">https://conf.example.com/config-example.yaml</a></span></p><p dir="ltr" style="line-height:1.38;margin-top:0pt;margin-bottom:0pt"><span style="font-size:14.6666666666667px;font-family:'Ubuntu Mono';color:rgb(153,153,153);vertical-align:baseline;white-space:pre-wrap;background-color:transparent">Config set</span></p><br><p dir="ltr" style="line-height:1.38;margin-top:0pt;margin-bottom:0pt"><span style="font-size:14.6666666666667px;font-family:Ubuntu;color:rgb(0,0,0);vertical-align:baseline;white-space:pre-wrap;background-color:transparent">A new </span><span style="font-size:14.6666666666667px;font-family:'Ubuntu Mono';color:rgb(0,0,0);vertical-align:baseline;white-space:pre-wrap;background-color:transparent">shell</span><span style="font-size:14.6666666666667px;font-family:Ubuntu;color:rgb(0,0,0);vertical-align:baseline;white-space:pre-wrap;background-color:transparent"> command is provided to start the default user’s interactive shell or to run commands ( under “</span><span style="font-size:14.6666666666667px;font-family:'Ubuntu Mono';color:rgb(0,0,0);vertical-align:baseline;white-space:pre-wrap;background-color:transparent">sh -c</span><span style="font-size:14.6666666666667px;font-family:Ubuntu;color:rgb(0,0,0);vertical-align:baseline;white-space:pre-wrap;background-color:transparent">”).</span></p><br><p dir="ltr" style="line-height:1.38;margin-top:0pt;margin-bottom:0pt"><span style="font-size:16px;font-family:'Trebuchet MS';color:rgb(102,102,102);font-weight:bold;vertical-align:baseline;white-space:pre-wrap;background-color:transparent">Goals of snappy shell</span></p><br><ul style="margin-top:0pt;margin-bottom:0pt"><li dir="ltr" style="list-style-type:disc;font-size:14.6666666666667px;font-family:Ubuntu;color:rgb(0,0,0);vertical-align:baseline;background-color:transparent"><p dir="ltr" style="line-height:1.38;margin-top:0pt;margin-bottom:0pt"><span style="font-size:14.6666666666667px;vertical-align:baseline;white-space:pre-wrap;background-color:transparent">Deliver a slick console user experience as found when SSH-ing (or telnet-ing) into network equipments such as switches, routers, firewalls etc.</span></p></li><li dir="ltr" style="list-style-type:disc;font-size:14.6666666666667px;font-family:Ubuntu;color:rgb(0,0,0);vertical-align:baseline;background-color:transparent"><p dir="ltr" style="line-height:1.38;margin-top:0pt;margin-bottom:0pt"><span style="font-size:14.6666666666667px;vertical-align:baseline;white-space:pre-wrap;background-color:transparent">Allows restricting access to the shell while allowing for useful features such as </span><span style="font-size:14.6666666666667px;font-family:'Ubuntu Mono';vertical-align:baseline;white-space:pre-wrap;background-color:transparent">update</span><span style="font-size:14.6666666666667px;vertical-align:baseline;white-space:pre-wrap;background-color:transparent">, </span><span style="font-size:14.6666666666667px;font-family:'Ubuntu Mono';vertical-align:baseline;white-space:pre-wrap;background-color:transparent">install</span><span style="font-size:14.6666666666667px;vertical-align:baseline;white-space:pre-wrap;background-color:transparent"> etc. (could be controlled by a new </span><span style="font-size:14.6666666666667px;font-family:'Ubuntu Mono';vertical-align:baseline;white-space:pre-wrap;background-color:transparent">allowed-cli-commands</span><span style="font-size:14.6666666666667px;vertical-align:baseline;white-space:pre-wrap;background-color:transparent"> ubuntu-core config or similar)</span></p></li><li dir="ltr" style="list-style-type:disc;font-size:14.6666666666667px;font-family:Ubuntu;color:rgb(0,0,0);vertical-align:baseline;background-color:transparent"><p dir="ltr" style="line-height:1.38;margin-top:0pt;margin-bottom:0pt"><span style="font-size:14.6666666666667px;vertical-align:baseline;white-space:pre-wrap;background-color:transparent">Smoothes transition into a Comfy world where the regular rootfs becomes smaller and smaller.</span></p></li></ul><br><h3 dir="ltr" style="line-height:1.38;margin-top:8pt;margin-bottom:0pt"><span style="font-size:16px;font-family:'Trebuchet MS';color:rgb(102,102,102);vertical-align:baseline;white-space:pre-wrap;background-color:transparent">Implementation</span></h3><br><p dir="ltr" style="line-height:1.38;margin-top:0pt;margin-bottom:0pt"><span style="font-size:14.6666666666667px;font-family:Ubuntu;color:rgb(0,0,0);vertical-align:baseline;white-space:pre-wrap;background-color:transparent">This user experience would be delivered by the main “</span><span style="font-size:14.6666666666667px;font-family:'Ubuntu Mono';color:rgb(0,0,0);vertical-align:baseline;white-space:pre-wrap;background-color:transparent">snappy</span><span style="font-size:14.6666666666667px;font-family:Ubuntu;color:rgb(0,0,0);vertical-align:baseline;white-space:pre-wrap;background-color:transparent">” binary when it’s launched as “snappy-cli” as the basename of </span><span style="font-size:14.6666666666667px;font-family:'Ubuntu Mono';color:rgb(0,0,0);vertical-align:baseline;white-space:pre-wrap;background-color:transparent">argv[0]</span><span style="font-size:14.6666666666667px;font-family:Ubuntu;color:rgb(0,0,0);vertical-align:baseline;white-space:pre-wrap;background-color:transparent">. If this feature is not enabled by default, or from a shell, you would run “</span><span style="font-size:14.6666666666667px;font-family:'Ubuntu Mono';color:rgb(0,0,0);vertical-align:baseline;white-space:pre-wrap;background-color:transparent">snappy cli</span><span style="font-size:14.6666666666667px;font-family:Ubuntu;color:rgb(0,0,0);vertical-align:baseline;white-space:pre-wrap;background-color:transparent">” to start an interactive snappy shell session. NB: </span><span style="font-size:14.6666666666667px;font-family:'Ubuntu Mono';color:rgb(0,0,0);vertical-align:baseline;white-space:pre-wrap;background-color:transparent">cli</span><span style="font-size:14.6666666666667px;font-family:Ubuntu;color:rgb(0,0,0);vertical-align:baseline;white-space:pre-wrap;background-color:transparent"> is to avoid confusion with the </span><span style="font-size:14.6666666666667px;font-family:'Ubuntu Mono';color:rgb(0,0,0);vertical-align:baseline;white-space:pre-wrap;background-color:transparent">shell</span><span style="font-size:14.6666666666667px;font-family:Ubuntu;color:rgb(0,0,0);vertical-align:baseline;white-space:pre-wrap;background-color:transparent"> command to run a command or an interactive shell.</span></p><br><p dir="ltr" style="line-height:1.38;margin-top:0pt;margin-bottom:0pt"><span style="font-size:14.6666666666667px;font-family:Ubuntu;color:rgb(0,0,0);vertical-align:baseline;white-space:pre-wrap;background-color:transparent">SSH integration could be done in multiple ways:</span></p><ol style="margin-top:0pt;margin-bottom:0pt"><li dir="ltr" style="list-style-type:decimal;font-size:14.6666666666667px;font-family:Ubuntu;color:rgb(0,0,0);vertical-align:baseline;background-color:transparent"><p dir="ltr" style="line-height:1.38;margin-top:0pt;margin-bottom:0pt"><span style="font-size:14.6666666666667px;vertical-align:baseline;white-space:pre-wrap;background-color:transparent">integrate a SSH server in </span><span style="font-size:14.6666666666667px;font-family:'Ubuntu Mono';vertical-align:baseline;white-space:pre-wrap;background-color:transparent">snappy</span><span style="font-size:14.6666666666667px;vertical-align:baseline;white-space:pre-wrap;background-color:transparent"> itself; I don’t know how hard this is in go today; this might be a worthwhile exercise long-term to get a smaller rootfs</span></p></li><li dir="ltr" style="list-style-type:decimal;font-size:14.6666666666667px;font-family:Ubuntu;color:rgb(0,0,0);vertical-align:baseline;background-color:transparent"><p dir="ltr" style="line-height:1.38;margin-top:0pt;margin-bottom:0pt"><span style="font-size:14.6666666666667px;vertical-align:baseline;white-space:pre-wrap;background-color:transparent">configure SSH server and login to always start </span><span style="font-size:14.6666666666667px;font-family:'Ubuntu Mono';vertical-align:baseline;white-space:pre-wrap;background-color:transparent">/bin/snappy-cli</span><span style="font-size:14.6666666666667px;vertical-align:baseline;white-space:pre-wrap;background-color:transparent"> instead of the user’s shell, then lookup the user’s shell in the </span><span style="font-size:14.6666666666667px;font-family:'Ubuntu Mono';vertical-align:baseline;white-space:pre-wrap;background-color:transparent">passwd</span><span style="font-size:14.6666666666667px;vertical-align:baseline;white-space:pre-wrap;background-color:transparent"> database to run the preferred shell with “</span><span style="font-size:14.6666666666667px;font-family:'Ubuntu Mono';vertical-align:baseline;white-space:pre-wrap;background-color:transparent">snappy shell</span><span style="font-size:14.6666666666667px;vertical-align:baseline;white-space:pre-wrap;background-color:transparent">”</span></p></li><li dir="ltr" style="list-style-type:decimal;font-size:14.6666666666667px;font-family:Ubuntu;color:rgb(0,0,0);vertical-align:baseline;background-color:transparent"><p dir="ltr" style="line-height:1.38;margin-top:0pt;margin-bottom:0pt"><span style="font-size:14.6666666666667px;vertical-align:baseline;white-space:pre-wrap;background-color:transparent">(preferred) configure the user’s shell to </span><span style="font-size:14.6666666666667px;font-family:'Ubuntu Mono';vertical-align:baseline;white-space:pre-wrap;background-color:transparent">/bin/snappy-cli</span><span style="font-size:14.6666666666667px;vertical-align:baseline;white-space:pre-wrap;background-color:transparent"> and create a new snappy-only ubuntu-core config for the preferred interactive shell (defaults to </span><span style="font-size:14.6666666666667px;font-family:'Ubuntu Mono';vertical-align:baseline;white-space:pre-wrap;background-color:transparent">/bin/bash</span><span style="font-size:14.6666666666667px;vertical-align:baseline;white-space:pre-wrap;background-color:transparent">); drawback: this would be system-wide as we don’t have per-user configs</span></p></li></ol><br><p dir="ltr" style="line-height:1.38;margin-top:0pt;margin-bottom:0pt"><span style="font-size:14.6666666666667px;font-family:Ubuntu;color:rgb(0,0,0);vertical-align:baseline;white-space:pre-wrap;background-color:transparent">Questions? Comments? Pile on at: </span><a href="https://docs.google.com/document/d/1DeR2JoCBDX2C1r6a2wV60uqvi7a89OwHh5gJ19tBZvM/edit" style="text-decoration:none"><span style="font-size:14.6666666666667px;font-family:Ubuntu;text-decoration:underline;vertical-align:baseline;white-space:pre-wrap;background-color:transparent">https://docs.google.com/document/d/1DeR2JoCBDX2C1r6a2wV60uqvi7a89OwHh5gJ19tBZvM/edit</span></a></p><div><span><br></span></div>Cheers,<br></span><div><span>-- </span></div><div><span>Loïc Minier</span></div></div>