Remote Hardware

My laptop is slow, my tower-PC is fast. Sometimes I want to execute a program using the tower's hardware, but remain using the laptop.

Attempt 1: The Normal Way

  1. Copy the project files from the laptop to the tower.
  2. Connect to the tower with ssh.
  3. Install the program on I need to execute on the tower.
  4. Execute the program to generate a bunch of files.
  5. Copy the project files back from the tower to the laptop.

This is not a pleasant experience. The tower has a different operating system, so the program on the tower works a little differently to the program on the laptop. It's also not exactly what I want - I want to use all the programs and files on the laptop. The tower should only provide hardware.

Attempt 2: The Direct Way?

  1. Connect to the tower with ssh.
  2. Be root (this might be a bad idea).
  3. Make a directory called 'laptop'.
  4. Remotely mount the laptop's entire operating system into the 'laptop' directory.
  5. Change the computer's root (/) to 'laptop'.
  6. Execute the program.

This brings up all sorts of errors about using the wrong /dev/null and various 'files not found'. But it works. Not cleanly, not 'properly working in a reasonable fashion', but it's possible to use a remote computer's hardware while still using local programs.

Making it practical would require a lot of work, starting with a proper chroot command that sub-leases various /dev/ interfaces. Making it work with a GUI sounds positively painful.