Eu usei algo semelhante à resposta do troydj, simplesmente usando o comando watch que executa um script "checker" que monitora a existência de outro script e o executa se descoberto.
no Windows Cygwin
watch -n 5 ~/checker.bash
checker.bash
#!/bin/bash
if [ -f myscript.bash ]; then
sh ~/myscript.bash
else
echo 'checking...'
fi
myscript.bash (exemplo para iniciar o Visual Studio 2012 via SSH)
#!/bin/bash
/cygdrive/c/Program\ Files\ \(x86\)/Microsoft\ Visual\ Studio\ 11.0/Common7/IDE/devenv.exe
rm myscript.bash
Na máquina Linux, posso desenvolver e criar os scripts. Então, quando eu quiser que eles sejam executados na GUI do usuário logado, copio meu script para o myscript.bash
location, que, uma vez descoberto pelo script "checker" (sendo colocado em loop pelo comando watch
), é executado localmente. p>
Eu adicionei a última linha ao script para remover a si mesma após a execução, neste caso.
Isso funciona muito bem para o que eu pretendia fazer. Fazer com que o Cygwin conduza processos em uma conta de usuário do Windows específica por meio da conexão SSH é geralmente complicado, se não impossível, sem uma solução alternativa como essa.