On my windows laptop, I use putty to ssh on the remote server where I have git checkout a C project. I would like to use eclipse(CDT) for program development on my laptop but compilation and program execution is only possible on the remote server. Can I map the repository checked out on remote server into eclipse on my laptop so that I can avoid working with two copies of the checked out project.
This seems not possible unless you are using an Eclipse installed on the remote machine... and use it on your Windows laptop.
See "Remote Eclipse over X11".
Since you are on Windows, you would use an X11 emulator like vcxsrv.
That would avoid the sshfs setup.
The other approach would be to replicate your remote machine environment in a VM (VirtualBox) or a Docker image/container in order to be able to compile locally (and then push the modified sources to your remote machine with Git)
Related
Background:
At work I develop either in a virtual machine on my Windows laptop, or in a desktop workstation via a remote desktop app. Both environments are Ubuntu.
I have recently started to enjoy using VSCode, with the Remote SSH plugin. But I have to manually copy my setup .vscode/ folder to each project. I work actively in 10-20 projects, which makes this a bit of annoying.
All projects have the same setup and file structure, and both environments are setup the same. It feels like I could automate this more.
Using 3rd party tools is not applicable for me, since I cannot install whatever I want. Native support is important.
Question:
Is there any way for me to setup VSCode settings and tasks on my hosting Windows machine, but use them on the remote side after starting an SSH session of VSCode?
Currently, I have:
a desktop with low system specs, Windows 7 Pro (without Admin Rights), without docker.
a Virtual Machine with Centos7, and docker installed.
On my desktop, I can either use:
my local installation of VSCode, and Remote - SSH to develop remotely on my VM. It works well, but I can't combine this with Remote - Containers.
X11Forwarding to develop directly with VSCode installed on this VM. I can use Remote - Containers, but X11 is very slow.
Is there a way, with local VSCode, to develop in a remote container, without local installation of docker (obviously with docker installed on the host)?
Is there a way, with local VSCode, to develop in a remote container,
without local installation of docker (obviously with docker installed
on the host)?
No. In the 'advanced containers' docs it says
You can use the Docker CLI locally with a remote Docker host by
setting local environment variables like DOCKER_HOST,
DOCKER_CERT_PATH, DOCKER_TLS_VERIFY. Since VS Code uses the Docker CLI
under the hood, you can use these same environment variables to
connect the Remote - Containers extension to the same remote host.
I added the bolding. Note that it is referring to the client not the remote there. This is from Developing inside a container on a remote Docker host.
Though not officially supported, it seems that it is possible to install Docker CLI without the daemon...
Is it possible to install only the docker cli and not the daemon
Maybe you can do this without admin?
That would, though, certainly be swimming against the grain. Probably your best bet is to stick with the 'remote - SSH' setup you've got going.
I just achieved this using the solution linked by #Tom (but with admin rights, I didn't test it without them)
I downloaded the docker-cli from the docker-cli-builder github repo and created the docker context successfully.
After selecting it in VSCode, it has started using the context allowing me to see the containers on the remote machine.
We have build a small tool called LiveSync which could solve your problem. You simply run
python3 -m pip install livesync
livesync <virtual-machine>
from inside your vscode workspace. It will start watching for changes and push them immediately to the remote. Hence you can code locally (even run your tests) and have all changes synced with your target system.
I just installed the latest version of eclipse neon. I previously used eclipse mars. But due to other issues that should be updated in eclipse Neon I changed to this version.
I develop a program for a ARM Linux system on a Windows computer, so using a cross-gcc and doing remote debug using gdb/gdbserver from eclipse. I first made a connection using the remote systems perspective using ftp for file transfer and ssh for the shell. This worked fine and I was happy with this.
But in Neon it seems to be changed because the connection that I made in the Remote Systems explorer can't be selected anymore when you use C/C++ Remote Application Debug. When you look at the connection listbox I only see local connection and not the remote systems anymore. When I create a new connection from the debug configurations dialog I can only choose serial/telnet/ssh but when I choose ssh it doesn't work. I can make the connection and open a command shell, so ssh works. But when it wants to transfer the file to my target it is using sftp appearently (looking at the error log) but I don't have this on my target.
When I transfer the file manually to my target (using the remote systems perspective) the debugging works fine but of course I want to transfer the file automatically when I start a debug.
My question is if indeed this connection management is changed that you can't choose anymore the systems that you defined in the remote systems explorer?
Or do you need install a specific plugin?
The current configuration possibilities are very limited and also the debugging of the issues is limited.
Other solution is that I have scp installed on the target. Is there a way to change from sftp to scp?
Thanks.
Unfortunately, I do not find a solution for my problem in this similiar question.
I have a server with special hardware and a special (GNU-compatible) toolchain. I can only access this server via SSH.
Now I try to set up a development system with Eclipse. Is it possible to set-up a configuration to be able to build and debug via SSH as if the program would run on my local computer? And if yes, could you tell me a little bit about it? ;-)
Provided your server is a Linux machine running a X server, you may want to look around SSH -X.
Install Eclipse on your server
Install an X11 environment on your client (e.g. for Windows: XMing)
Connect to SSH with the -X option (e.g. for Windows, there is a checkbox on Putty)
Launch Eclipse from the ssh connection.
I'm running on Windows 7 and I want to be able to access the remote linux server at my school to run eclipse and do my programming assignments.
I installed cygwin, and ssh into the server, but whenever I run the "eclipse" command, it says "Eclipse: Cannot open display".
Is there any additional software I need to do, or commands I need to run in order to display the gui from my windows 7 computer?
aside from just running eclipse on my own computer, I want to do it remotely.
thank you
You need to:
Run an X server on your Windows machine; there's an xorg-server package in cygwin, use that (or the independent Xming).
Configure your ssh client to forward X11 traffic to the X server on your windows machine.
Here's a more detailed tutorial on doing this.