У меня есть 10 графических процессоров, подключенных к одной системе, и я хочу майнить на всех них, так как графический интерфейс Ubuntu не позволяет запускать 10 графических процессоров одновременно. Поэтому воспользуюсь командной строкой и смогу майнить там.
Теперь я хочу запустить свой майнер при запуске системы, для этого я и следуюэтотучебник (шаг 7). Я сделал все, как в учебнике, но не могу запустить команду ./start_only_eth.bash (сеанс экрана не создан) в сеансе экрана.
Если я выполню команду ниже, я смогу найти этот сеанс с помощью команды «screen -ls».
screen -dmS ethm
Ниже представлен мой скрипт (demo.sh)
// обновлять
#!/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"
Я добавил путь к этому скрипту в файл rc.local, как указано вэтотучебник (шаг 7).
ниже мой 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
После перезагрузки, если я выполняю команду «screen -ls», я получаю следующее сообщение
No Sockets found in /var/run/screen/S-aman.
Примечание: Я думаю, что проблема не в rc.local, проблема в demo.sh. Если попытаться выполнить demo.sh вручную, скрипт завершится ошибкой и будет выдано вышеуказанное сообщение.
// // -------------------------- С TMUX -------------------- // //
Я также попробовал это с tmux, на этот раз мне удалось запустить майнер (вручную) в сеансе tmux, но снова не удалось запустить скрипт с использованием rc.local, для этого ниже приведен мой 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
Ниже приведено то, что я получаю (консоль), когда пытаюсь протестировать 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.
решение1
cd /home/Desktop/claymore
su aman -c "screen -dmS ethm ./start_only_eth.bash"
С этим связано несколько проблем. Во-первых, путь, скорее всего, будет /home/username/Desktop/claymore
. Во-вторых, cd
влияет на текущий скрипт и, скорее всего, не переносится на экран через su.
Пытаться:
su aman -c "screen -dmS ethm /home/username/Desktop/claymore/start_only_eth.bash"
Если скрипт start_only_eth.bash
требует установки PWD для этого каталога, поместите строку с
cd /home/username/Desktop/claymore
как вторая строка сценария.
Замените username
на фактическое имя пользователя.