Configurei o SSH na minha caixa do Windows 7 em casa. Estou conectado à minha caixa e tentando executar um arquivo em lote que iniciará meu minerador dogecoin. Quando ele executa o cudaminer, recebo esta saída:
*** 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] Não é possível consultar a versão do driver CUDA! Um driver nVidia está instalado?
Parece estar usando algum tipo de contexto de tela que a sessão atual possui. Como estou executando via SSH, o contexto não possui uma conexão adequada com os drivers CUDA. Se eu me conectar usando a Área de Trabalho Remota do Google Chrome (que acredito usar VNC), poderei executar o lote perfeitamente.
O arquivo em lote é uma linha simples, para que não precise me lembrar de todos os sinalizadores:
cudaminer.exe -H 1 -i 0 -C 1 -l F15x11 -o stratum+tcp://us1.captaindoge.com:3333 -O coreyog.conquest:conquest
Ele funciona na maioria das circunstâncias, como quando estou no VNC ou na área de trabalho com mouse e teclado locais. Estou mais preocupado com SSH. Como posso iniciar esse processo de forma que ele possa se conectar aos drivers CUDA, independentemente do "contexto da tela" a partir do qual estou iniciando?
Responder1
Bem, no Linux é bem simples, primeiro você executa, por exemplo:
xhost +localhost
Na máquina remota e, em seguida, a partir de uma sessão SSH remota, você pode simplesmente definir DISPLAY
, por exemplo:
DISPLAY=:0.0 program and its options
Não sei se o Windows se comportaria da mesma maneira, ele não roda o X, então certamente haveria outros truques envolvidos nos bastidores.
Existe um motivo específico pelo qual você deseja não usar, por exemplo, VNC ou RemoteDesktop do Chrome ou TeamViewer/LogMeIn?
Você também pode estar melhor comPowerShellaqui, parece que possui alguns recursos de execução remota. Veja tambémmaneiras comuns de executar programas em computadores remotos (Windows).
Uma coisa que você pode fazer é realmente hackear; crie, por exemplo, um arquivo em lote que faça um loop constante na máquina remota, procurando a presença de, digamos, startminer.bat
. Se encontrar, ele o executa, exclui e continua em loop. Execute esse arquivo em lote do monitor na inicialização e deixe-o continuar em execução (e execute-o na máquina, não em uma sessão SSH remota).
Então, na sua sessão remota, você pode fazer, por exemplo:
echo cudaminer.exe blah blah > startminer.bat
E o script de "monitoramento" irá encontrá-lo e executá-lo na sessão remota.
Isso é muito feio e tornará muito mais difícil encerrar o processo (e monitorar sua saída impossível), mas pode funcionar como um hack rápido.
No entanto, o PowerShell ou uma das outras soluções dos resultados da pesquisa acima é uma ferramenta melhor para o trabalho e mais parecida com o que você está procurando.