
Eu tenho 10 GPUs conectadas a um sistema e quero minerar com todas, já que a GUI do Ubuntu não permite rodar 10 GPUs por vez, então irei com a linha de comando e poderei minerar lá.
Agora quero executar meu minerador na inicialização do sistema, especialmente o que estou seguindoessetutorial (etapa 7). Eu fiz todas as coisas conforme o tutorial, mas não consegui iniciar o comando ./start_only_eth.bash (nenhuma sessão de tela criada) na sessão de tela.
Se eu estiver executando o comando abaixo, posso encontrar esta sessão usando o comando "screen -ls".
screen -dmS ethm
Abaixo está meu script (demo.sh)
// atualizar
#!/bin/bash
DEFAULT_DELAY=0
if [ "x$1" = "x" -o "x$1" = "xnone" ]; then
DELAY=$DEFAULT_DELAY
else
DELAY=$1
fi
sleep $DELAY
su aman -c "screen -dmS ethm /home/aman/Desktop/claymore/start_only_eth.bash"
Eu adicionei o caminho deste script no arquivo rc.local conforme mencionado emessetutorial (etapa 7).
abaixo está meu rc.local
#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.
sh '/home/aman/Desktop/demo.sh'
exit 0
Após reiniciar, se eu executar o comando "screen -ls", recebi a mensagem abaixo
No Sockets found in /var/run/screen/S-aman.
Nota: acho que o problema não está em rc.local, o problema está em demo.sh. Se tentar executar demo.sh manualmente, o script falhará e receberá a mensagem acima.
// // -------------------------- Com TMUX ------------------ -- // //
Eu também tentei isso com o tmux, desta vez consigo executar o minerador (manualmente) na sessão do tmux, mas novamente não consigo executar o script usando rc.local, pois abaixo está meu demo.sh
#!/bin/bash
tmux new-session -d -n MINER
tmux send-keys -t MINER "cd /home/aman/Desktop/claymore" C-m
tmux send-keys -t MINER "./start_only_eth.bash" C-m
Abaixo está o que estou obtendo (console) ao tentar testar o rc.local
aman@aman-System-Product-Name:~$ sudo /etc/init.d/rc.local start
[sudo] password for aman:
[ ok ] Starting rc.local (via systemctl): rc.local.service.
Responder1
cd /home/Desktop/claymore
su aman -c "screen -dmS ethm ./start_only_eth.bash"
Existem vários problemas com isso. Em primeiro lugar, o caminho provavelmente será /home/username/Desktop/claymore
. Em segundo lugar, o cd
afeta o script atual e provavelmente não é transferido para a tela no su.
Tentar:
su aman -c "screen -dmS ethm /home/username/Desktop/claymore/start_only_eth.bash"
Se o script start_only_eth.bash
exigir que o PWD seja definido para esse diretório, coloque uma linha com
cd /home/username/Desktop/claymore
como a segunda linha do script.
Substitua username
pelo nome de usuário real.