As an example, here’s a recent write up on how to build a tiny bootable Linux:
https://blinry.org/tiny-linux/<p>Like many of us here, I sometimes want to try out a tutorial like this briefly and then forget about it.<p>But just like the Author of the example story, you often end up installing additional packages and libraries to your system that become useless the second you close the browser window.<p>In the web, when you want a temporary browsing session, you fire up Incognito mode and then just close the window to clear history and cache.<p>In that Incognito window one can still use old bookmarks, stored passwords, access history etc. (Maybe this is a Safari Private Browsing thing only?).<p>Anyways, it has some conveniences from your base browser setp so that makes usage and alternarive logins in the Incognito window are a bit easier.<p>What I’d like, is to take this Incognito window concept and bring it to my terminal:<p>Open a terminal window into my current system, have all the access rights and history my normal shell has, but any installed packages and system file changes from the shells in that window will ”undo” / rollback on terminal close.<p>I would use it in this article example to:<p>- start a new Incognito window<p>- create a project directory under home<p>- install random packages to build kernel<p>- install qemu to run it<p>- try to get the kernel working in qemu<p>- might have multiple shells open in the terminal window, all share the temporary environment<p>- finally finish up and close window<p>After the session, the project folder in my home directory would stay intact but changes to my system files would be ”removed”.<p>My question is:
How you’d you achieve this now, without special shell/terminal software support?<p>Note that the convenience of sharing my current system environment as the basis is the key here, so just creating a separate preconfigured VM is not the goal.