Remote edit with local editor (Linux)
I have a server I can ssh into, and I am also running Ubuntu. How do I edit this remote file using any program I have installed on my local Ubuntu, without copying it to local, editing it, and copying it back?
Thanks!
If it's Ubuntu, then you probably have the full GNOME suite installed, along with GVFS – so you can access sftp://
URLs directly in all apps.
Use Places → Connect to Server to connect that server's filesystem as if were a local one.
-
Do the same from command line using
gvfs-mount sftp://hostname.domain.tld/
While GVFS is specific to GNOME apps, all mounted GVFS locations are accessible by any program via /run/<user>/gvfs
(or ~/.gvfs/
in older versions).
KDE programs also support sftp://
via KIO, although they don't have the equivalent of /run/<user>/gvfs
.
Try sshfs
, a program that allows to mount a remote system accessible via ssh to a local folder.
Install it, create a mount point and execute:
sshfs user@host:remote_dir /path/to/mount_point
Now you can access the remote directory as a local one and you can use your text editor of choice. Moreover, you can use sshfs
as an on-demand video/music streaming solution (see this answer).
Example: if you want to mount the directory music
of a user called pippo
at host pluto
in a folder ./pippo_music
then execute:
sshfs pippo@pluto:music ./pippo_music
You can also mount the root of the pluto host with:
sshfs pippo@pluto:/ ./pippo_root
To automate this process, add a row in fstab
:
sshfs#pippo@pluto:/ /media/pippo_root fuse defaults 0 0
Update on an old question:
KDE supports a FIle over SsH protocol called fish. Basically, you open your file as URL with the fish:// scheme referring to the file. KDE copies the file over locally to a temp file as you edit. Saves and a quit will push the file back to the remote server.
e.g.
kate fish://user@host:/path/to/file.txt
There's a wrapper for non-KDE editors (or any tools):
kioexec other-editor-or-tool fish://user@host:/path/to/file.txt
Remember that you probably have the KDE libs on your machine, even if you run GNOME desktop or something else.
Tramp node in emacs will do this easily: http://www.emacswiki.org/emacs/TrampMode