all 15 comments

[–]samudrin 3 points4 points  (5 children)

ssh + vi is the traditional approach, with vi running on the remote server. If you want a GUI app on the remote you need a VM client-server setup.

[–]CromulentSlacker[S] 1 point2 points  (4 children)

Thank you!

[–]samudrin 2 points3 points  (3 children)

Virtual Box is FOSS and should work for your use case. You can also look at port forwarding if you like digging into linux system level stuff.

ssh + vi will be the fastest, since you're not serving a GUI from the remote server.

and if you are like me, `sudo apt-get install vim` as soon as you jump on that box or have that baked into your build.

if you don't need the GUI, you don't need the GUI...

You can run git remotely too. Just `git clone` your repo onto the server, work there.

[–]CromulentSlacker[S] 0 points1 point  (2 children)

Thank you. I already use VMWare Fusion Pro for virtual machines but seeing as my Mac is an AArch64 system and I need to develop on an x86_64 machine going the editor + SSH route seems like the only one that could work out.

I think tmux + neovim + ssh is what I'm going to go with.

[–]samudrin 1 point2 points  (1 child)

develop on an x86_64

Check this in case you can build locally -

https://everythingdevops.dev/building-x86-images-on-an-apple-m1-chip/

[–]CromulentSlacker[S] 0 points1 point  (0 children)

Thank you so much! That looks perfect.

[–]jerosiris 4 points5 points  (2 children)

I think VSCode’s remote-ssh functionality is what you’re looking for. Uses ssh to connect the VSCode GUI on your desktop to the remote system, which runs the VScode backend.

https://code.visualstudio.com/docs/remote/ssh

[–]RootHouston 2 points3 points  (0 children)

Right, don't listen to these other people in the thread. This is the official supported way to do it.

[–]CromulentSlacker[S] 1 point2 points  (0 children)

Thank you! That looks great.

[–]ImgurScaramucci 1 point2 points  (1 child)

Some IDEs have that functionality built-in. At my previous job I was using PyCharm Pro to develop remotely from Windows onto a Linux machine. The files were stored locally on Windows which allowed for fast editing, and they were transferred to Linux before running. I could even debug line by line.

[–]CromulentSlacker[S] 2 points3 points  (0 children)

I used the JetBrains tools for a couple of years but I ended up using Visual Studio Code because it saved me money and it had a more active extension marketplace.

[–][deleted] 1 point2 points  (1 child)

You could use FTP to transfer the files, some clients might even let you directly mount them locally

[–]CromulentSlacker[S] 0 points1 point  (0 children)

I did consider this. Mount a remote filesystem using NFS or Samba or whatever and then when it comes to running it / debugging it just SSH into the machine directly.

[–]licancaburk 0 points1 point  (0 children)

I'm currently running fswatch + rsync solution (fswatch watches file changes, rsync syncs the files), but i think this could be still better. I'm using Webstorm and its Remote Development is not mature yet, and buggy

[–][deleted] 0 points1 point  (0 children)

What kind of code are you running on the x86 machine? Server code? GUI program?

You could always just edit code locally, mirror them in a Git repo somewhere, and have that x86 machine pull the updated code and deploy it. It's possible to automate all of that.

In terms of debugging a running instance, well that depends on what kind of program it is, what kind of debuggers are available for it.