Eu preciso executar um programa em lote de 24 por 7. Em falhas de energia eu já configurei o Ubuntu Server 14.04 para ligar assim que a energia estiver de volta, login automático e iniciar o programa.
O processo é baseado no poder da GPU e obtém melhores resultados com overclock. Consegui fazer isso configurando o xorg.conf e executando o xinit. Quando faço isso, a tela fica branca e a linha de comando desaparece. Eu usei um cliente SSH remoto para executar "overclock.sh" e iniciar o programa e funcionou.
Minha pergunta é que, como não poderei usar o cliente remoto todas as vezes, como posso executar outros scripts depois de executar o xinit?
CRTL + ALT + F1 retorna para a linha de comando, mas como usar isso no script de inicialização?
Eu gostaria de executar na inicialização:
- xinit;
- overclock.sh;
- start_program.sh;
Atualização 27/08/2017:
No momento, estou entendendo mais o que está acontecendo:
-
Estou no ambiente de console tty1.
-
Quando executar "xinit", abra uma tela aproximada em tty7.
-
Pressionando CRTL + ALT + F1, volto ao terminal tty1, mas estou preso no comando "xinit". É por isso que o script .bash-login não executa nenhum outro comando depois.
-
Pressionando CTRL + C, ele para o ambiente tty7 e o overclock não funciona.
-
Agora a parte mais estranha: se eu pressionar CTRL + Z, eu retorno o controle, o overclock funciona, mas quando eu executo o programa, apenas o GPU0 começa a funcionar.
-
Também tentei "setsid xinit & amp; > / dev / null" e, novamente, tudo parece perfeito, mas apenas o GPU0 funciona.
7 Outra abordagem: na tela aproximada, tty7, clico com o mouse na linha de comando superior, tipo overclock.sh e funciona. Todos os 8 gpus funcionam bem. Esta parece ser a resposta mais próxima.
Como posso criar um arquivo de lote para executar comandos assim que o tty7 sobe?
Atualização 28/08/2017:
eu resolvi. A mágica foi estudar o xterm chamado de xinit. Ele recebe o parâmetro -e "command". Coloque o script como comando.