如何远程启动本地应用程序?

如何远程启动本地应用程序?

我在 Mac OS X 上使用 TextMate 进行开发。我需要编辑的文件在 Linux 机器上,并且我的 Mac OS X 上安装了 Linux 文件系统。在 TextMate 中打开和保存文件没有问题。

我想要做的是登录并在 Linux 机器上的命令行中工作,但能够执行远程命令 Mac 上的 TextMate 打开文件的命令,例如

user@linux $ mate <filename>

我希望在 Mac OS X 上的 TextMate 中打开该文件(因此将焦点从 Terminal.app 转移到 TextMate.app)。如何实现此效果?

答案1

前几天我也问了自己一个类似的问题,然后意识到这只需要一点脚本,所以我写了一个脚本来做这件事。我把它发布在 GitHub 上这里。这是您在远程系统上安装的 bash 脚本。它使用 SSH 重新连接到您的 Mac,通过 挂载 Linux 文件系统sshfs,然后使用 OS X 的open命令打开指定的文件。它接受大多数接受的参数open,只是将它们传递过去,因此它相当灵活。我仍在调整它,所以如果您遇到任何问题,请告诉我。

我还被指出rmatescp,一个 TextMate 特定的 Ruby 脚本,它通过TextMate 的命令执行非常类似的操作mate。这可能需要文本伴侣 2,其 alpha 版本目前在 GitHub 上可用。

答案2

我不相信这是可能的。一旦您ssh进入远程计算机,您在命令行中输入的所有内容都会传递到远程计算机,而远程计算机无法在本地计算机上启动 TextMate。

答案3

您可以在 MacFUSE 上使用 sshfs,它允许您挂载(作为“本地”驱动器)任何您可以通过 ssh/sftp 访问的目录。

首先你需要安装 MacFUSE(它是 FUSE 的一个移植版 [http://fuse.sourceforge.net/]对于 Mac OSX),你可以从

http://code.google.com/p/macfuse/

它是一个标准的 OS X 软件包,您只需双击它即可安装。

然后你需要下载 sshfs(将 FUSE 与 ssh 联系起来的软件)

http://code.google.com/p/macfuse/wiki/MACFUSE_FS_SSHFS

选择

sshfs-static-leopard.gz
sshfs-static-tiger.gz

根据您的操作系统版本。然后将其解压缩并放入您的路径中(在您下载它的地方打开一个终端,然后执行以下操作

gunzio sshfs-static*gz
sudo cp sshfs-* /usr/local/bin/sshfs
sudo chmod a+rx /usr/local/bin/sshfs

如果 gunzip 步骤返回错误,请不要担心,这可能是因为您的浏览器已经对其进行了解压缩)。

现在,打开终端并执行

mkdir local_mount_point
sshfs user@host:folder local_mount_point

您将能够在名为“local_mount_point”的本​​地文件夹中访问“主机”上“文件夹”的内容(当然,您可以随意命名)。因此,一个简单的

mate local_mount_point/filename

会做。

当然,您只需安装一次软件,然后您就可以随意连接(挂载)!

顺便说一句,TextWrangler 允许在不安装额外软件的情况下执行此操作(它可以通过远程主机上的 ssh 保存/打开文件)。

答案4

您可以使用连接ssh user@serverip -Y 当您在远程机器上执行图形命令时,它会将图形界面发送到本地机器的 X 服务器。

已编辑

抱歉,我误解了你的问题,实际上你想使用 mac 应用程序,而不是 Linux 机器上的图形应用程序……但 Windows 和 Linux 中有几种文本编辑器,它们使用插件通过 ftp 连接并编辑服务器文件。我在谷歌上搜索了类似的东西(我不是 mac 用户),我发现此链接为 textmate 准备一个 ftp/ssh 包。希望对你有帮助

相关内容