16

I know it's possible to use FTP and various version control systems to upload or commit code developed on a full computer to the Raspberry Pi. Another possibility would be to simply use SSH and Vim (or Emacs).

Is there an IDE that supports real-time remote file editing (or is there a better alternative)? Would putting a web server with a page running Ace on the Raspberry Pi and using a browser from another machine be feasible (or sensible)?

ramblinjan
  • 4,090
  • 7
  • 35
  • 52

8 Answers8

23

The IDE (probably) isn't the right place to be looking at this from. The simplest solution is to work with shared filesystems of some sort.

For exporting from the Rapsberry Pi the easiest way to export to a Linux (or I think Mac) host is to use sshfs. You'll need to install that on the computer you want to work on (there are Debian/Ubuntu packages at least), but you won't need to alter the configuration of the Raspberry Pi itself at all.

You can then mount your home directory on the device on your other computer by simply doing:

sshfs pi@192.168.1.2: /mnt/test

Where 192.168.1.2 is the address of your Raspberry Pi. After that it's just a matter of taking your favorite IDE and making it work in the directory you just mounted.

You could also install and configure Samba on the Raspberry Pi to export the filesystem as something Windows understands natively, or conversely mount a Windows share on the Raspberry Pi itself:

  1. aptitude install samba to install Samba
  2. smbpasswd -a pi to set a password for Windows file sharing with the pi user
  3. On the windows machine navigate to \\192.168.1.2\pi and enter the username/password you just configured.
  4. (Optionally) map the drive more permanently to a letter by going to tools->map network drive in explorer

Doing it at the filesystem layer avoids needing to have a customised IDE to support what is otherwise a pretty standard system, so leaves you more choices to work with the tools you're comfortable with.

5

If you want to do web development, Aptana Studio can directly edit through FTP, or SSH (SFTP).

enter image description here

pzkpfw
  • 103
  • 3
Oliver Salzburg
  • 1,794
  • 1
  • 19
  • 33
2

Two solutions come to mind:

  1. Run emacs on your full computer, it supports remote file editing using a number of protocols, including ssh and telnet. You may argue that emacs is not an IDE, this is a matter of opinion although it certainly looks very different than your normal IDE. It is extremely powerful.

  2. You don't specify which language you want to use, but IPython has grown a distributed computing extension recently (release 0.12). This allows you to run python on the host and execute code on the client via shared files and built-in RPC. Spyder is a neat IDE for Python that includes support IPython. Be sure to get a dev snapshot as they are improving the IPython support right now.

Eugen
  • 488
  • 3
  • 13
dirkjot
  • 121
  • 2
1

Two ssh based solutions (so you need to have sshd running on the RasPi, i.e. remote access enabled):

  1. This method assumes your development machine has an X server (any Linux, but Mac and Windows are also possible). Connect using X forwarding: ssh -X pi@192.168.1.2 (replace with your RasPi's IP) and then just start any (preferably lightweight) graphical IDE like Geany - it'll magically run from your RasPi, but the graphical output is forwarded to your dev machine (depending on network speed and latency, there might be some lag, but it should be fine on LAN).
  2. If using a decent file browser, like Gnome's Nautilus, you can just use its "Connect to Server..." option, after which you have the RasPi's file system as part of your regular file manager and can open up files in your favourite IDE completely transparently. This is essentially the same as Flexo's method, but no need to tinker with command line here.
Tapio
  • 693
  • 1
  • 6
  • 9
1

Try jEdit. It works on Linux and Windys. Once it is installed, you need to install the ftp plugin. Then you can use ftp or my fave, sftp (over ssh) to navigate the file system on the remote machine. Very handy indeed.

user518
  • 179
  • 1
  • 1
  • 4
0

It sounds very much like you're asking for https://etherpad.mozilla.org/

Drinks
  • 1
0

Officially, the best way to do this on the Pi is the Adafruit Web IDE. Unlike all the other solutions, this is recommended by the Raspberry Pi Foundation.

retrixe
  • 101
  • 1
0

You can make use of the KDE IO slaves to access files over ssh/ftp and many other protocols. I have previously used Kate (the KDE text editor) to edit files over ssh.

Another method I have used in the past, although not as nice, is to install Dropbox on both the pi and your computer, and then edit on the host and have Dropbox sync the file to the pi. As both machines are on the same network, synchronization usually takes only a few seconds. The nice thing is that Dropbox will keep a copy of all the files versions over the last 30 days for you, so if you are not using a VCS, you will have access to previous versions.

teraquendya
  • 309
  • 1
  • 7