我在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"
但似乎没有用。任何建议将不胜感激。
答案 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