Yet again, I was recently reminded about how *ALL* current desktop environments suck rather badly when it comes to doing "session management" in the way that I want.
In short, my bottom line is:
Every time I wake up my computer to get some work done, I want it to effectively be in the exact same state as I left it (at least from "My POV"). This matters as I typically have several different projects on the go at a time, and want things in a particular state, ordered + grouped in a particular way.
What Currently Happens:
* Every time a system / browser / etc. update happens, a non-trivial chunk of my setup gets blasted away
* When it comes back, most if not all that state is now in a scrambled state that needs me to waste 10-15 minutes restoring it back to the way I want it, e.g
* On Home Windows Boxes (after a forced update),
* I only get back my Firefox windows on the right workspaces, and "maybe" if I'm lucky, all the folder windows I had open.
* Everything else (terminals, text editors, git clients, temporary reference image windows, etc.)... ALL GONE!
* Worse still, when I restore my Sublime Text windows, they all open again on the first Virtual Desktop, so now I have to spend time clunkily dragging them back to the ones I want them on!
* The only saving grace: My VMWare virtual machines all just get suspended, and then when I reanimate / restore them, they are exactly as I left them, each with their own window grouping state (like with the VNC sessions at work, but local)! Hmm... now there's an idea!
* On Work Windows Boxes (after a forced update - which happens once a month)
* Email usually comes back by itself... Usually... unless it is somehow time delayed, and now I get 2 from trying to open one myself
* I have to 2FA log back into 3-5 different SSH tunnels, so that I can then revive the corresponding VNC sessions. But, I need to space each 2FA login apart by 1 minute per attempt (assuming I don't typo the password, and need to try again a minute later again)
* I then need to restore my browser windows:
* Chrome for our internal tooling nearly always loses its open tabs (due to an IT policy), and so I have to spam the Ctrl-Shift-T key to bring them all back. With luck, I haven't also been kicked out of the tool, and need to re-sign in on the first such tab (or else all of them end up in "log in again" mode that doesn't take nicely to double-submits)
* Firefox for external "out in the wild" browsing
* Oh, and Teams... yeah, that thing never comes back after an update, and you have to search for it in the laggy Windows start/search thing, as pinning it doesn't work either (as the reinstalls always invalidate the old shortcuts!)
* On KDE Boxes
* Only the windows in the first workspace get restored
* Terminals and Dolphin windows all get closed, leaving only a single instance of each, stuck in your home folder (i.e. useless)
NOTE: Initially I was quite excited to see that both of these included a "Restore Session" option, thinking that this would be great for this very case. Unfortunately, that implementation is so braindead borked, that I have to leave it off! I mean, the problem is that it doesn't just do that on Machine / KDE Session restart! It does it every time you go to the taskbar launcher and try to fire up an extra window/instance! So, all of a sudden, you have double the number of terminals/folders open, all showing all the tabs you've already got open... UGH! That is so utterly stupid!
In light of this, a few months ago, I ended up asking the following "Linux Workstation Setup Question":
Which of the following setups will work better + be more manageable in general:
* 1) VNC into containers with mirror-setups of my host KDE setup (e.g. by defining like a master base-image locally that I then built off), and just the project folders in question mounted/shared in as needed
* 2) Run up full virtual machines for each setup as above
Things I'd like to be able to do:
1) Group "project related windows" together, in a "sub-taskbar", where they can live alongside my "everyday / host-machine" activities (NOTE: I always run with windows set to never be grouped by application, and to be rearrangeable into any arbitrary order vs only restricted to grouping by app type clusters)
2) Sync any global taskbar / window styling changes into any of these sub-sessions (e.g. if I find an annoying problem in host, I want all my guest sessions to also get that automatically)
3) Pause / Resume these sessions on a whim, meaning that when my machine goes down for any updates or whatever, these sessions won't also all need to be restored and rearranged manually. Also, it means that I can just park any projects I'm not currently working on (to save memory), but can resume them as-is later
4) Heck even just spawning up arbitrarily many multiple "independent private browsing Firefox sessions" available, without hosing all the other stuff I haven't finished reading/watching would be cool
So far, I'd been only considering the VM route, but then I remembered that containers do exist, and that, as long as I could get those VNC sessions working, then this could be quite good...
(And also opens up the door to even just hosting some of these projects on my other machines, and connecting through to those, and no longer being bound to only using the machine I have with me at a given time)...
Mwahahaha... maybe this is the setup I should've moved to long ago instead...
No comments:
Post a Comment