Executando um script após o gui ter sido carregado

5

Eu sei como executar um programa na inicialização, no login (Preferências do sistema > > Aplicativos de inicialização) ou ao abrir um shell (.bashrc). Eu também li "executar o script após o desktop carregado?" . O que eu percebi que cada aplicativo adicionado ao Startup Applications estende o tempo até que a área de trabalho se torne utilizável. Então eu estou procurando uma maneira de começar todos os "bons para haves" de um script (tenho que trabalhar) que é executado após a inicialização regular é concluída.

Não estou totalmente claro como chegar lá. Eu usaria um segundo script que chama o primeiro com & amp; (então é executado em segundo plano) e adicionar uma espera por (alguns segundos | evento específico) ao primeiro?

    
por stwissel 10.04.2012 / 10:32

2 respostas

1

Se você for lançar algo caro, inicie-o em segundo plano com um atraso. Por exemplo

after 20s find-all-the-dirty-dishes &
after 1m find ~ -name '*~' -mtime +30 -exec rm '{}' ';'

onde você terá que implementar after , mas pode ser algo como isto

#!/bin/sh
sleep "$1"
shift
exec "$@"
    
por Norman Ramsey 14.10.2012 / 00:06
2

Basta ligar sleep no início do seu script "nice-to-haves". Isso não deve impedir o carregamento da área de trabalho. Você também pode acelerar as coisas em um hardware multi-core colocando em segundo plano cada processo.

por exemplo,

sleep 20s
<something that takes a long time> &
<this can now start immediately> &
...

Os dois comandos serão executados em paralelo, mas eles aguardarão 20 segundos antes de iniciar. Você pode usar "m", "h" ou "d" para especificar minutos, horas ou dias, se alguns segundos não forem o que você tinha em mente. =)

    
por Jon Molnar 10.04.2012 / 10:49