Я настроил SSH на свой домашний ящик с Windows 7. Я подключен к своему ящику и пытаюсь запустить пакетный файл, который запустит мой майнер dogecoin. Когда он запускает 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 или RemoteDesktop в Chrome или TeamViewer / LogMeIn?
Вам также может быть лучше сPowerShellздесь, кажется, есть некоторые возможности удаленного выполнения. Смотрите такжеобщие способы запуска программ на удаленных компьютерах (Windows).
Одна вещь, которую вы могли бы сделать, это действительно взломать его; создайте, например, пакетный файл, который постоянно зацикливается на удаленной машине, ища наличие, скажем, startminer.bat
. Если он его находит, он выполняет его, удаляет его, затем продолжает цикл. Запустите этот пакетный файл монитора при запуске и позвольте ему продолжать работать (и запустите его с машины, а не из удаленного сеанса SSH).
Затем из вашего удаленного сеанса вы можете сделать, например:
echo cudaminer.exe blah blah > startminer.bat
А скрипт «мониторинга» найдет его и выполнит в удаленном сеансе.
Это довольно некрасиво и значительно усложнит завершение процесса (и сделает невозможным отслеживание его вывода), но может сработать как быстрый способ взлома.
Однако PowerShell или одно из других решений из результатов поиска выше — более подходящий инструмент для этой работы, который больше соответствует тому, что вы ищете.