我已经为家里的 Windows 7 机器设置了 SSH。我已连接到机器并尝试运行一个批处理文件来启动我的狗狗币矿工。当它运行 cudaminer 时,我得到以下输出:
*** CudaMiner for nVidia GPUs by Christian Buchner *** This is version 2014-02-09 (beta) based on pooler-cpuminer 2.3.2 (c) 2010 Jeff Garzik, 2012 pooler Cuda additions Copyright 2013,2014 Christian Buchner LTC donation address: LKS1WDKGED647msBQfLBHV3Ls8sveGncnm BTC donation address: 16hJF5mceSojnTD3ZTUDqdRhDyPJzoRakM YAC donation address: Y87sptDEcpLkLeAuex6qZioDbvy1qXZEj4
[2014-07-07 09:55:13] 无法查询 CUDA 驱动程序版本!是否安装了 nVidia 驱动程序?
它似乎正在使用当前会话具有的某种屏幕上下文。由于我通过 SSH 运行它,因此上下文与 CUDA 驱动程序没有正确的连接。如果我使用 Google Chrome 的远程桌面(我相信它使用 VNC)进行连接,那么我就可以正常运行批处理。
批处理文件只有一行简单的内容,因此我不需要记住所有的标志:
cudaminer.exe -H 1 -i 0 -C 1 -l F15x11 -o stratum+tcp://us1.captaindoge.com:3333 -O coreyog.conquest:conquest
它在大多数情况下都能正常工作,例如当我在 VNC 中或实际上在桌面上使用本地鼠标和键盘时。我最关心的是 SSH。我如何才能启动此过程,使其能够连接到 CUDA 驱动程序,而不管我从哪个“屏幕上下文”启动它?
答案1
在 Linux 上这很简单,首先运行例如:
xhost +localhost
在远程计算机上,然后从远程 SSH 会话中设置即可DISPLAY
,例如:
DISPLAY=:0.0 program and its options
我不知道 Windows 是否会以相同的方式运行,它不运行 X,所以幕后肯定会涉及一些其他的技巧。
您不想使用 VNC 或 Chrome 的 RemoteDesktop 或 TeamViewer / LogMeIn 等特定原因吗?
你也可以选择电源外壳在这里,它似乎具有一些远程执行能力。另请参阅在远程 (Windows) 计算机上运行程序的常用方法。
您可能能够做的一件事就是真正破解它;例如,创建一个批处理文件,该文件在远程计算机上不断循环,查找是否存在,例如。startminer.bat
如果找到它,它会执行它,删除它,然后继续循环。在启动时运行该监视批处理文件并让它保持运行(并从机器运行它,而不是从远程 SSH 会话运行它)。
然后您可以从远程会话中执行以下操作:
echo cudaminer.exe blah blah > startminer.bat
并且“监视”脚本会在远程会话中找到它并执行它。
这非常丑陋,并且会使终止进程变得更加困难(并且无法监控其输出),但可以作为一种快速破解方法。
然而,PowerShell 或上述搜索结果中的其他解决方案之一是完成这项工作的更好的工具,并且更符合您所寻找的内容。