Parâmetro de atraso num Terminal? Existe?

Iniciado por fkrahe, 07 de Agosto de 2008, 11:38

tópico anterior - próximo tópico

fkrahe

Amigos, eu tenho uma pergunta que já pesquisei, mas não encontrei a resposta: é possível, quando chamo um aplicativo pelo terminal, determinar um delay para ele entrar em funcionamento?

É que tenho alguns aplicativos competindo por atenção na hora do boot (AWN, Cairo-clock e aMule), e alguns estão saindo prejudicados, principalmente na área gráfica. O cairo-clock, por exemplo, inicializa todo torto.

A inicialização dos aplicativos por Sistema -> Preferências -> Sessões, usando os mesmos comandos que um terminal usaria para chamá-los. A idéia é que, se houvesse algum parâmetro de delay nessa "chamada pelo terminal", eu poderia organizar quem carrega primeiro e até mesmo garantir que eles só começassem a carregar depois da Área de trabalho estar totalmente inicializada...

Mas não sei se é possível!!

clcampos

Você pode fazer uma rotina para chamar estes aplicativos, e antes de chamá-los usar o comando sleep.
Cristiano/Timóteo - MG
.: Como Fazer Perguntas de Forma Inteligente :.                
Com dúvida? pesquise!

e.daniel-ct

Acho que não seria no terminal, seria sim na chamada dos programas que inicializarão junto com o sistema mesmo, já vi sim isso, mas não me lembro qual era o comando, lembro que era pra inicialização do conky atrazar por conta de se estar usando o compiz ou o bery, que na época causavam algum tipo de erro, também não me lembro qual...

Só posso dizer isso, infelizmente não sei qual é o comando!!!

boa sorte!!!

kErNeL_sCrIpT

#3
Olá fkrahe, seja vem vindo ao fórum :)

Você pode utilizar o comando sleep da seguinte forma em Sessões:

sleep 4s; nome-do-programa
Troque o 4 pela quantidade de segundos que você julgar mais adequada. O s se ferefe a segundos.

Nunca testei este método, tente e poste aqui caso dê certo.
Para mais informações de como operar este comando você pode obter digitando man sleep no Terminal. Isso abrirá o seu manual.


Um abraço e até mais.

fkrahe

Pois é, eu testei esse código com ponto-e-vírgula depois dos segundos, e não funcionou. Na verdade não aconteceu nada.

Noto que o comando sleep funciona, quando digitado diretamente no terminal. Mas quando o insiro lá em "sessões", não funciona como esperado...

[desculpe a demora em responder, mas acabei esquecendo o assunto por um tempo]

Cláudio Novais

experimente:
sleep 4s && nome do programa

é só um conselho, não sei se será a mesma coisa...

kErNeL_sCrIpT

#6
Citação de: fkrahe online 04 de Setembro de 2008, 19:17
Pois é, eu testei esse código com ponto-e-vírgula depois dos segundos, e não funcionou. Na verdade não aconteceu nada.

Noto que o comando sleep funciona, quando digitado diretamente no terminal. Mas quando o insiro lá em "sessões", não funciona como esperado...

[desculpe a demora em responder, mas acabei esquecendo o assunto por um tempo]

Tente criar um script e coloque-o para iniciar automaticamente em sessões, acredito que assim funcionará perfeitamente.

Exemplo:

Crie um diretório /home/seu-nome-de-usuario/.scripts por exemplo, dentro dele crie um arquivo de texto com o seguinte conteúdo:


#!/bin/bash

sleep 4s

nome-do-programa



Salve o arquivo, dê permisão de leitura e execução para o seu usuário, agora é só indicar o seu endereço em Sessões quando for criar o item à ser iniciado automaticamente no GDM :)



Não me responsabilizo pela dica, utilize por sua conta e risco.

fkrahe

AAAAAAAA, já melhorou muito.

O awn está inicializando com o atraso correto, sem problemas.

Mas o amule ainda não.

Eu coloquei "sleep" awn "sleep" amule. Algum problema com minha sequência?
O arquivo ficou assim:

#!/bin/bash

sleep 15s

avant-window-navigator

sleep 15s

amule

kErNeL_sCrIpT

#8
Citação de: fkrahe online 04 de Setembro de 2008, 21:42
AAAAAAAA, já melhorou muito.

O awn está inicializando com o atraso correto, sem problemas.

Mas o amule ainda não.

Eu coloquei "sleep" awn "sleep" amule. Algum problema com minha sequência?
O arquivo ficou assim:

#!/bin/bash

sleep 15s

avant-window-navigator

sleep 15s

amule


Não, nenhum problema :)
Mas 15 segundos é muito tempo :o
Tente colocar 4 ou 8 segundos para o AWN, e 8 ou 12 segundos para o aMule.
Mas em todo caso, coloque o que você considerar necessário, vai testando e acertando ai até encontrar um tempo ideal :)

fkrahe

Noooop

Quando eu inverto a ordem, assim

#!/bin/bash

sleep 8s

amule

sleep 15s

avant-window-navigator


é o amule que inicia corretamente e o awn não inicia, simplesmente.

O segundo sleep realmente não funciona... existe motivo para lógico para isso?

kErNeL_sCrIpT

Citação de: fkrahe online 07 de Setembro de 2008, 13:08
Noooop

Quando eu inverto a ordem, assim

#!/bin/bash

sleep 8s

amule

sleep 15s

avant-window-navigator


é o amule que inicia corretamente e o awn não inicia, simplesmente.

O segundo sleep realmente não funciona... existe motivo para lógico para isso?

Não que eu saiba. Mas me parece que o seu AWN é bem problemático, acredito que o problema seja ele, não o Script, pelo menos eu também não consigo ver um motivo lógico para não funcionar. Conlfito com a inicialização de outro aplicativo talvez?

Tente deixar da forma que funciona. Ou ainda, tente criar dois Scripts, um para o aMule e outro para o AWN.

fkrahe

RESULTADO:
--------------
Já que não há lógica para que só funcione o primeiro programa chamado no BASH,  segui também a última dica de "kernel_script": ter um script para cada programa.

Agora está tudo ok. Chamo o AWN, o aMule e o Cairo-clock com sleep's diferentes. E o melhor é que da tempo do compiz montar a Área de Trabalho perfeitamente.

"kernel_script", obrigado pela atenção.

kErNeL_sCrIpT

Citação de: fkrahe online 08 de Setembro de 2008, 22:43
RESULTADO:
--------------
Já que não há lógica para que só funcione o primeiro programa chamado no BASH,  segui também a última dica de "kernel_script": ter um script para cada programa.

Agora está tudo ok. Chamo o AWN, o aMule e o Cairo-clock com sleep's diferentes. E o melhor é que da tempo do compiz montar a Área de Trabalho perfeitamente.

"kernel_script", obrigado pela atenção.


De nada :)
Que bom que resolveu seu problema :)