我有一台可以 ssh 连接的服务器,并且也在运行 Ubuntu。如何使用我在本地 Ubuntu 上安装的任何程序编辑此远程文件,而无需将其复制到本地、编辑它并复制回来?
谢谢!
答案1
如果是 Ubuntu,那么您可能已经安装了完整的 GNOME 套件以及 GVFS - 这样您就可以sftp://
在所有应用程序中直接访问 URL。
使用位置 → 连接到服务器将该服务器的文件系统像本地文件系统一样进行连接。
从命令行使用
gvfs-mount sftp://主机名.域.tld/
虽然 GVFS 特定于 GNOME 应用程序,但所有已安装的 GVFS 位置都可以通过任何/run/<user>/gvfs
通过(或~/.gvfs/
旧版本)编程。
KDE 程序也支持sftp://
通过 KIO 进行,尽管它们没有相当于 的功能/run/<user>/gvfs
。
答案2
尝试sshfs
一个允许将可通过 ssh 访问的远程系统挂载到本地文件夹的程序。
安装它,创建挂载点并执行:
sshfs user@host:remote_dir /path/to/mount_point
现在,您可以将远程目录作为本地目录访问,并使用您选择的文本编辑器。此外,您还可以将其用作sshfs
点播视频/音乐流媒体解决方案(请参阅这个答案)。
例子:如果你想将在主机上music
名为 user 的用户的目录挂载到文件夹中,那么执行:pippo
pluto
./pippo_music
sshfs pippo@pluto:music ./pippo_music
您还可以使用以下命令挂载 Pluto 主机的根目录:
sshfs pippo@pluto:/ ./pippo_root
为了自动化此过程,请在中添加一行fstab
:
sshfs#pippo@pluto:/ /media/pippo_root fuse defaults 0 0
答案3
关于一个老问题的更新:
KDE 支持一种通过 SsH 协议传输文件的方式,称为鱼。基本上,您以 URL 形式打开文件,并使用 fish:// 方案引用文件。KDE 会在您编辑时将文件复制到本地临时文件中。保存并退出会将文件推送回远程服务器。
例如
kate fish://user@host:/path/to/file.txt
有一个针对非 KDE 编辑器(或任何工具)的包装器:
kioexec other-editor-or-tool fish://user@host:/path/to/file.txt
请记住,即使您运行 GNOME 桌面或其他程序,您的机器上也可能有 KDE 库。
答案4
vim 可以通过 SSH 打开文件:
vim scp://myserver.com/path/to/file.txt