Accessing a thick client from a thin client - - advice needed for a clamshell purchase

I was thinking of purchasing a thin client clamshell laptop with the intention of logging in remotely to use my thick client when I am not at home.

I have a number of questions. But I think it might be a good idea to share my current hardware specs and provide a background on my use case first.

Here I go - -

I have a Desktop PC (tower) with NixOS installed natively. It’s an Intel i5-13600K CPU with 64 GB of RAM and AMD RX 6600 XT 8GB GPU with 6+ terabytes NVMe, SSD, and HD storage in total spread across my root fs, home directory, and back up data directories. It’s a terrific workhorse.

In terms of my use case for this hardware configuration, I am in a seemingly perpetual state of research, writing works of non-fiction and social science in Google Docs in Chrome (dozens of tabs) and searching and reading similar topics also in Chrome (hundreds tabs). So on the one hand while I do academic and literary research, I am additionally learning data science and algorithmic software design. For this I use VS Code and seem to accrue hundreds of Chrome tabs to support these endeavors as well. I furthermore interact with my peers on various communities on Discord and Slack. Having said all of that, with all of these Java heavy and electron/chromium based apps I rely on, this is how I justify the need for 64 GBs of RAM. My system monitors tell me that I usually hover around the 40%-60% range on a busy day.

Now for my line of questioning:

  1. How realistic is it to remote into a thick client from a $400-500 thin client? Comments? What kind of user experience could I expect to run Gnome or Plasma on my home PC but through a secured ssh internet connection from a clamshell?
  2. I’ve used ssh to login from my Desktop PC into virtual private servers in the cloud in the past. But in that case I had a static IP and was able to set up a DNS so that is why ssh worked so easily. I gather that my ISP is forever leasing and re-assigning unique IP addresses on rotation, so it is never static. This makes it difficult to set up a consistent ssh connection. I’d have to reconfigure it manually every 2 weeks or whenever my ISP arbitrarily decides to change my IP address. What might the solution be to this issue?
  3. If I am able to establish a decent regular consistent ssh connection successfully, is it as easy as running startx from my shell to launch an X / Wayland wm session?
  4. What alternatives might there be to ssh to remote in?

Some more rationale: Laptops with 64 GBs of RAM or even 32 GBs of RAM are prohibitively expensive. To me it doesn’t make sense to lug around a heavy ultra expensive laptop in a public place like the library where a thief and opportunist could take advantage of the situation and swipe it with all my data on it. While I could encrypt the storage, I’d rather be out $400 than $2,500+.

I don’t travel around the world so latency is not an issue.

It’s certainly doable. There are some considerations.

Given all the active state, I assume you’re expecting to remote-control the same desktop session that you were using before you left home. That means a number of choices about how and what the desktop session runs, for example GNOME has some integrated RDP helpers, but others may not. There are tools like xpra and others, there may be some fiddling but something can be made to work.

And then it has some implications for monitor setup: it can be awkward remote-controlling a multi-large-monitor session from a small laptop monitor, if you’re literally looking at the same session.

If that’s not the case, things get a little easier. If you can pull some of the activity out of the remote-desktop using other syncing solutions, to run locally, you might have a better time.

For example, a second local editing session in google docs will probably be a nicer experience regardless. For this, I’d recommend firefox sync, which will nicely let you sync tabs between machines, send tabs to another device, open tabs from another device, etc. This really only opens the same URL, but that works well for google docs and other similar web-based tools.

For vscode, you can use the vscode remote mode to have the gui locally, but all the compilation and tests and such run on the remote (as you have maybe already done for servers). Or you can use one of several remote display methods.

For the network connectivity and NAT, there are a number of solutions. I don’t use it myself, but tailscale seems very popular and easy for this.

2 Likes

Also, for X11 one could run a thing in Xvnc and connect to it via a VNC client both locally and from a thin client (over SSH or VPN). And probably some things will work best in CLI (via SSH).

I have the same concern about investing in expensive laptops.

Regarding networking, you can use i2pd to “publish” your ssh (and mosh!) ports to the network, your laptop will also need i2pd to access them. I2pd can be slow, but enough to access your tower to get the latest public ip so you can connect directly at full speed :slight_smile:

if you use wayland, then waypipe can be an easy way to access gui apps remotely.