When it comes to code, I just do the normal approach of using a git branch, and most of the time I just SSH into the Desktop and run it from there. So, that pain point is solved.
My biggest, always ongoing problem, is to sync what I'm doing/researching in the browser. The best workflow I've found, is to have a mix of open tabs and spaces sync automatically. But it's a difficult setup to come by.
Let me explain. Before, I used to use a Chrome (now Firefox as well) plugin, named workona [1]. This was great if it worked properly all the times. But it doesn't, it's quite buggy.
Then, Edge added workspaces and tab syncing and, well, it works great... but I really dislike Edge. Starting by the CTRL-TAB shortcut that simply doesn't work as intended (I know there are some hacks around it, but they are hacks, and don't work as well as expected).
Then Arc Browser [2] came along and also has workspaces and sync. Arc is great, I really like it, but it doesn't work on Linux.
So, unless I use Edge (which I prefer not to), or workona (which is buggy), this approach is not working.
But surely, you say, this can't be that complicated. A lot of people should do something similar and don't need these fancy browser setups. Well, how exactly do you do it, then? I would really like to have some suggestions here.
Just another thing. Firefox really isn't an option. I'm past struggling with it draining my battery on macOS - no matter how much the devs and users assure me that's not the case and all works great now.
[1] https://workona.com/ [2] https://arc.net/
As soon as you mentioned that you moved to FF, I was expecting you to say that the problem was solved. I've been using it for many years now, it is so smooth that I just take it for granted now.
https://github.com/mozilla-services/syncstorage-rs
At home I have a USB hub with all my peripherals which I simply unplug from my "fun personal" desktop and into my laptop. It's all on extension leads so it's at desk level, an easy swap.
I think working between two separate machines would be too much hassle, since I end up with multiple workspaces that persist over weeks in my i3/linux setup.
Connect stuff to monitor, plug in a single usb-c to laptop and done.
Since you mentioned workspaces, also have a look at Floorp. It's based on Firefox but makes the UI more customisable by having workspaces and allowing vertical tabs (without needing another extension).
Floorp is also compatible with Firefox Sync.
I use a a Linux desktop, a window and a Mac laptop, an android phone and an iPad. Firefox Sync works brilliantly across all.
If you don't trust Mozilla, you can also self host your own Firefox Sync server.
This way I don't care about the laptop. Specs don't matter much, it can get stolen or scanned by border control without issue etc.
I always pick up exactly where I left with zero hassle, don't have to install and configure tools twice etc, and it's virtually "native" feel unless I'm on some very dodgy cellular internet in the mountains or similar.
There's no good alternatives on Linux yet though, which is a bummer.
If not, vnc over https is a thing, too (e.g. https://guacamole.apache.org/).
https://kasmweb.com/
Works fine for me, I use it to host a number of applications as well as a few desktops. Access goes through a browser so as long as you have one of those it doesn't matter which platform you use for the client.
That could certainly be usable, assuming the performance is there, though for me I want to remotely use my desktop session.
If all you are after is getting access to desktop sessions through a browser it may be overkill to run Kasm, in that case you can also opt to run Guacamole directly on your desktop hosts. Another - more performant - option would be to run an X2Go server on the desktop host to which you connect using SSH from a machine running the X2Go client. This is less flexible since you need to have that client installed but performance is better. As stated performance through Kasm is good enough for my applications so I mostly use that nowadays even though I do have X2Go installed on all relevant hosts.
[1] https://guacamole.apache.org/
[2] https://kasmweb.com/docs/latest/guide/windows/connection_pro...
I admit it was some years ago since I tried Xrdp, but I'm fairly certain Xrdp then did not allow me to resume a local session via RDP, and vice versa.
This is what I was trying to say in my previous post. Has this changed?
Ie I can log on to my Linux box normally, then lock it (not log out), connect via RDP and resume the session? How about if the Linux machine has rebooted, if I connected via RDP after reboot, will I be able to resume the remote session locally after I get back to my desktop?
This did not work with Xrdp as I recall.
> Another - more performant - option would be to run an X2Go server
Again a few years since I tried X2Go, but back then performance was... tolerable. Nowhere near native Windows RDP sadly. But I'm willing to give it another whirl.
Maybe I misunderstand what this refers to but there are RDP software for Linux. I've used remmina [1] on Linux for a few years (now I am using VMWare Horizon at work).
[1] https://remmina.org/
A simple test was to play Youtube video on remote machine and compare results of all Linux solutions with MS RDP. None came close.
I hope things changed in past few years if anyone knows?
On that vm side it was xrdp. He had multimonitor setup working, sound, video, he even used zoom daily.
Client was windows, it passed through camera and so on.
I could not tell I was using something remotely, even if I was just using mouse and keyboard, sitting directly in front of those monitors.
One gotcha was that these were very fast VMs on fast network.
That said krdp looks promising, but I haven't gotten it to work yet.
On Windows I can log into a local session on my console. Then lock the screen and walk away.
On another machine anywhere on the planet, I can then log back into that same local session, and do a bunch of work. Locally, the screen remains locked and secure.
Then I can eventually walk back to that machine, and log back onto the local console and continue exactly where I was.
There is no performance penalty for this - my local session runs exactly as it normally does. The remote session is very fast and efficient.
There is no way that I know of on Linux to replicate this: you have to commit to either a session being "virtual" and running through remote desktop (x2go is the best at this) or "local", in which case you get a less performant screen-scraping session but worse while you're using the session remotely the screen is unlocked and visible and usable by anyone with local physical access (i.e. in a shared office perhaps).
It's a problem which should be treated as a massive, ongoing embarrassment for desktop linux, and a substantial impediment to any notion of wider enterprise adoption: I've been in office's where the standard way everyone worked was remote desktop'ing to their office PC workstation via a VPN and seamlessly going from remote to local sessions was a crucial part of the experience.
Really we probably just need to solve the screen lock problem: but getting the experience (i.e. resize, resolution and app sessions) working properly is also important.
RDP on Windows works really, really well - to the somewhat absurd outcome of course that because of that, it is easier to run Linux locally and Windows remotely when you can use Remmina to connect to the Windows machine so easily.
But the remote Linux experience really should be better.
Also, IIRC, it didn't support seamless local vs remote sessions.
That is, if I started a session remotely, I couldn't resume it when I got back home. Or vice versa, if I started the RDP server on my logged-in session, I couldn't start a new session remotely in case the desktop rebooted (updates, power loss etc).
With Windows I just log in regardless.
Granted it's been a couple of years since I last took the rounds to evaluate the field, including Xrdp, so I'll give it another whirl soon.
Then my portable computer is just an iPad running the Remote Desktop client. Excellent battery life.
As long as the internet connection is reliable, everything works perfectly.
On my home computer I just connect in the same way.
Not having to duplicate the dev environment saves me a lot of time, the only sad thing is I need Windows (and yes I’ve tried many other remote access solutions).
https://addons.mozilla.org/en-US/firefox/addon/tab-stash/
I see several answers in this post that don't understand what Edge or Arc do when it comes to tab/workspace syncing.
It's all seamless. When I move from one computer to the other one, without having to do absolutely any step, everything is open and in the correct workspace in the other computer.
Yes, a laptop is inferior to a desktop in many ways, but I've actually found myself much more productive now that I only work on my laptop. As an example, I used to get frustrated only having a single screen on my laptop instead of my desktop's dual screens. Now I've learned new workflows for a single screen and it's 90% as productive as having two screens and I make up for that by not being slower when I switch to my laptop like I used to be.
Just a thought for you.
Also, if I really need the power of a desktop, I try do it over the network from my laptop (CLI or remote desktop).
I have a personal which is named just Firefox a work named Firefox Work and a burner named Firefox NoWork lol
I can choose to open one tab from there or all of them.
Works very well for me.
I still have to go to the sync windows and choose which tabs from the other device to open in the present devices. If you try Edge or Arc you will see the difference and how it's totally seamless there.
I used do this every once and a while. I just maintained a reverse ssh tunnel back to my desktop, because I would set jobs up on it. Anyways, you could - and presumably still can - just query the firefox session store and pull out anything you needed. I don't recall it being painful, but then again - I haven't done it for a few years at least.
Chrome works more reliably. Safari has some random reload issues from time to time.
https://arstechnica.com/gadgets/2024/08/chromes-manifest-v3-...
Arc and Edge go a lot further than that. They effectively keep the open tabs in sync between devices.
If OP need a faster machine for specific stuff like faster compilation times, I would suggest using it as a headless build machine. Browser sync wouldn't be needed.
Also what is that silly story about battery drain on ff?
The best sync is one you don't do at all!
If you're doing devops, I can't imagine you have a particular performance constraint that is tying you to a big desktop - like a requirement for a GPU, etc.
The current lineup of Mac laptops is fast. I have a M2 Pro work laptop and an AMD 5800X personal desktop. The laptop is faster at single threaded tasks and it's basically as fast if not slightly faster (depends on workload) for multithreaded tasks. Plus the Pro and Max laptops have reasonable external monitor connectivity.
And I'll also echo the parent poster and say that I haven't seen FF draining battery more than other browsers for a long time on macOS - I use it as my primary browser on my work laptop.
It's a wonderful (free) cross-device bookmark manager but ... you can save all open tabs in two clicks (click save icon and click "+ tabs"). It even automatically tags tabs w/ the date or you can save them with any collection and/or tags you choose.
In addition, you can add notes, attach up to 100MB of files per month (on free plan).
It runs on and syncs between Mac, iOS, Android, Chrome, Safari, Firefox and Edge.
Edge and Arc always keep your tabs in sync between devices and inside their respective workspaces. It's a seamless transition between devices.
Maybe try Vivaldi? https://vivaldi.com/
I’ve got about 5 different workspaces and can flip between any of them on windows/linux whether that’s desktop or laptop.
Has a ton of features I always wanted in Firefox, but never knew I needed (I think that statement makes sense?)
OSX app is a bit meh, but might be because I’ve got muscle memory with safari.
Edit — as a DevOps main I feel your documentation/research pain. Genuinely I feel like Vivaldi solved the 300+ tabs over multiple OSes/machines problem for me. (I think my record was 500ish tabs at one point).
Edit 2 — maybe it’s not a DevOps thing. Maybe I’m just a tabs weirdo. :shrugs:
Vivaldi presents me the open tabs in another device in a window and I can choose which ones to open on the present device. Arc and Edge bypass that step. The open tabs in 1 device are always in sync with the open tabs in another device.
If you create a new tab in device 1, a tab will automatically open in device 2 with the contents of the tab. If you close the tab on device 2, it will automatically close on device 1.
Syncing between devices (does require creating a free Vivaldi account)
Built in mail client (I haven’t used thunderbird for months now)
Chromium, extensions and themes out the box
Bunch of UI customisation options like moving the address bar and stuff
Probably a bunch of others I don’t use or can’t remember being features.
Edge and Arc, always keep the open tabs in sync across all devices.