Screen - Do command on start

0

Não consigo encontrar isso em nenhum lugar do Google / SE, desculpe-me se fosse apenas o meu texto.

Eu quero fazer a tela fazer um comando no início. Com pseudo código, fazendo

 screen -S SomeScreen -c SomeScript.sh

faria com que executasse o SomeScript.sh automaticamente, sem entrar na tela e digitando isso. Obrigado!

(não há tag para o comando screen)

    
por rtainc 17.08.2013 / 21:32

3 respostas

0

Veja a sintaxe em man screen :

screen [ -options ] [ cmd [ args ] ]

cmd é um comando para executar na sessão. Então, digitar screen SomeScript.sh faria com que executasse o SomeScript.sh automaticamente, sem entrar na tela e digitando isso.

Se você está procurando uma maneira de ter a tela executando algum comando toda vez que você inicia uma nova sessão, eu faço isso colocando-a em ~ / .screen-start e colocando algo assim no final de .bashrc:

if [ -n "$STY" ]; then
  source ~/.screen-start
fi

Como a tela define $ STY para o identificador de sessão da tela, você pode testar se está definido para saber se a tela está sendo executada. E como a tela inicia um shell de login quando invocado sem um comando específico, ele executará .bashrc.

Provavelmente existe um caminho melhor; Parei de procurar, pois isso funcionou bem para mim.

    
por Steven K 18.08.2013 / 01:48
1

Você pode usar a opção -X de screen (X maiúsculo, x minúscula significa algo mais;)) para enviar um comando para uma sessão de tela existente. Então você pode fazer algo nos moldes de

screen -md
screen -p 0 -X stuff $'echo "Test"\n'
screen -r

Mas eu assumo que isso não se encaixa na sua tarefa de tornar as coisas mais fáceis ;)

    
por Henning Kockerbeck 18.08.2013 / 01:12
0

se você pretende realizar alguma execução na inicialização do sistema operacional ...

vá para startup applications e adicione este comando à lista selecionando add .

Você pode acessar os aplicativos de inicialização pressionando a tecla Windows e digitando-a.

    
por planty182 17.08.2013 / 21:36