I would like to run my scientific calculations in Python, Julia, C and C++ on a Lenovo gaming laptop at home from a weaker, smaller, cheaper Chuwi laptop from outside the network. The Lenovo has Fedora 43 KDE while the weaker, smaller, cheaper laptop has Ubuntu 25.10 (I will probably update to 26.04 LTS).
I need to be able to load data and code from the Chuwi machine to the Lenovo laptop. Then I need to be able to execute code on the Lenovo machine while having its screen locked and turned off (it has an OLED screen, so I would like to spare it as much as possible). I need to be able to check the status of code execution at will, and computer hardware status and usage statistics at will. I need to be able to close the Terminal on my Chuwi laptop and have the code still running on the Lenovo machine at home, and I need to get back in to check it at will. Finally, I need to be able to download code products from the Lenovo to the Chuwi laptop if required.
The connection has to be safe: I don’t want for my Chuwi or Lenovo devices to be more vulnerable than necessary, I would like my files and network traffic to stay private and I would like not to create security and privacy threats for other devices in my home LAN. I would also like the communication to be resilient to disconnections of the Lenovo laptop from my home wifi or disconnections of the Chuwi device from whatever network I’m attached at the moment: code already in execution must not stop if the connection is lost, and if the connection drops I must be able to resume the session that was stopped.
Can you help me set this up properly? I’m a newbie in advanced Linux stuff and in networking in general. Thank you!
Yes I would recommend tailscale and something like freeRDP or some other remote desktop software. Provide the tailscale IP as remote host and you are good to go.
You can use a tailscale utility like taildrop (linked below) to facilitate file transfer. Various remote desktop clients may or may not support copy/paste or file drag and drop functionality. Otherwise you could set up a file share between the two devices which should Just Work™ over tailscale.
@daemond@bwildered01 Thanks for the suggestion. I will look into Tailscale, hoping it’s free and like end-to-end encrypted (in the sense that both Tailscale and third parties have no way to access or see the information being exchanged between any two devices via Tailscale).
Also, it would be best if it was also open source, but no need for it to be as long as it’s free, private and secure.
@daemond Whenever I’ve used a server or computing cluster, I’ve always accessed it via SSH and I’ve used either scp or rsync to move files back and forth. I don’t know how scp/rsync relate to Tailscale and if FreeRDP (or similar software) is needed or not.
I don’t need a gui, as long as the list of commands and steps to take to initialize a connection via Terminal are straightforward enough.
Tailscale would facilitate ssh connections by unqualified hostname in most cases ssh me@mymachine would work.
Not sure about how to get around SSO, you might look into running a headscale node on a small VPS but this is a significant maitenance overhead in my opinion. You don’t even use github? Or refuse to use a throwaway account to register for Tailscale?
For whatever it’s worth (not widely known, it seems), it’s not an American company (they’re Canadian).
The underlying technology is wireguard which is part of the linux kernel, you could set up your own wireguard network but this is a significant learning curve by comparison and also requires something with a static IP (or else you get into dynamic dns and another layer of maitenance/troubleshooting).
Oh looks like from your tailscale link you could also set up a custom OIDC provider that you host yourself to circumvent the big tech account requirements. However you need a domain with web finger, etc. which you’d need to set up yourself (kind of overkill for a single user in my opinion).
You could let Jesus take the wheel and do plain dynamic DNS with ssh… maybe set your ssh server up to reject all password attempts outright and use keys… this gives you a stable domain/IP to ssh into from your chuwi.
For the second part of your question see the below link, you can use commands like nohup to prevent the ssh server from terminating all commands associated with your terminal session. You might want to monitor your system more closely to ensure you dont end up with “zombie” processes
I just use my Google account which is probably not going to be the solution for you. But, as I say, you could simply register a throw away Gmail or whatever you desire from that list and be done with it.
The custom OpenID provider would probably not be a huge pain in the butt, you may have some luck finding a tutorial online from another homelabber. What you are trying to do is probably not that uncommon given most self hosters are concerned with privacy.
Tailscale sounds cool and also super corporate. I’ve used tor for remote access, but stopped when they wanted me to roll certificates. There is also i2p.
Haven’t really had time to dive into this stuff as I had much stuff to do, and I did it directly on the device. Anyway, thanks for the suggestions… I will look into the possibility of a throwaway Gmail account for Tailscale and search for Cloaudflare/i2p solutions online.