cygwin startxwin,然后ssh进入另一台机器

时间:2015-08-07 19:14:18

标签: linux cygwin

我在Windows上有一个批处理文件,其中包含以下行:

c:\cygwin64\bin\run.exe --quote /usr/bin/bash.exe -l -c "cd; /usr/bin/startxwin;"

当我从Windows执行此操作时,它会启动一个xterm窗口(启用了xwin),然后我就可以进入我们的远程linux服务器了。

我想要做的是在批处理文件中添加ssh命令,以便从我的Windows桌面,我只需单击它,最后ssh进入我们的远程Linux服务器。我尝试过这样的事情:

c:\cygwin64\bin\run.exe --quote /usr/bin/bash.exe -l -c "cd; /usr/bin/startxwin; ssh -Y my-remote-server xterm"

但似乎没有用。任何建议将不胜感激。

1 个答案:

答案 0 :(得分:1)

它应该可以进行以下修改:

c:\cygwin64\bin\run.exe --quote /usr/bin/bash.exe -l -c "cd; /usr/bin/startxwin & sleep 5; DISPLAY=:0 ssh -Y my-remote-server xterm"

首先,startxwin不会守护自身,因此您需要使用&启动它以确保它在后台运行。

然后你需要导出正确的DISPLAY环境,以便ssh知道要连接哪个X11服务器(我的解决方案不会导出变量,而是将其提供给{{1}只有)。

然后你需要等待几秒钟以确保X服务器启动(ssh是猜测,在我的机器上工作)。

然后,您实际启动了连接并执行到远程服务器的sleep 5进程。

我不知道ssh部分,我在我的run.exe安装中没有它,也许在您的环境中它也适用于以下内容:

cygwin