Executando um comando na inicialização

4

Recentemente me deparei com " lembrar " no Linux. Gostei quase imediatamente, mas para os meus lembretes aparecerem, eu precisava rodar 'lembrar' no modo daemon. Feito simplesmente usando o seguinte comando:

remind -z -k'gmessage %s &' /home/googie/.reminders &

Seria lamentável para mim lançar manualmente o daemon 'remind' toda vez que eu inicializo meu computador (alguém teria que me lembrar de fazer isso!), então eu pensei em executá-lo automaticamente na inicialização. Fiquei com a impressão de que isso seria bastante simples de fazer, mas tive uma surpresa.

Eu fiz o seguinte (nesta sequência):

  1. Feito um script (com start, stop, restart cases), colocado em /etc/init.d, executei 'update-rc.d' para criar alguns links para determinados runlevels, reiniciado --- sem sorte
  2. Feito um arquivo 'remind.conf', colocado em / etc / init (referindo-se a link ' ), reiniciado --- ainda sem sorte
  3. Aberto "/etc/rc.local", coloquei o comando para iniciar o daemon "lembrar" logo antes de "sair 0", reiniciado --- ainda sem sorte
  4. Crontab aberto (sudo crontab -e), escreveu '@reboot' seguido pelo comando para iniciar o daemon 'lembrar' na última linha, reiniciado --- ainda sem sorte
  5. Aberta 'System- > Preferences- > Startup Applications', adicionou um novo programa de inicialização com o comando para iniciar o daemon 'remind', reiniciado --- ainda sem sorte
  6. Feito um script no meu diretório home, coloquei o comando para iniciar o daemon 'lembrar' dentro do script, chamei esse script de '/etc/rc.local', reiniciei - ainda sem sorte
  7. Chamei o script em meu diretório pessoal após '@reboot' no crontab, reiniciei - ainda sem sorte
  8. Chamei o script em meu diretório inicial usando 'Preferências de sistema- > > Aplicativos de inicialização' --- finalmente funcionou, e o daemon 'lembrar' agora é executado !!

Então, agora, para minhas três perguntas:

  1. É realmente tão complicado no Linux rodar algo na inicialização, ou é apenas minha falta de conhecimento?
  2. Estava tentando as etapas 1 e amp; 2 mesmo aconselhável? Eu acho que estes são usados para fazer algo um serviço. O daemon 'lembrar' também não é um serviço?
  3. Por que a abordagem "/etc/rc.local" ou "crontab" não funcionou? Há algum log que eu possa verificar para ver o que está errado?

(quaisquer referências relacionadas para eu ler seriam apreciadas também)

    
por Gautam 04.04.2012 / 22:48

2 respostas

4

1) Eu tenho medo que seja o último. Mas não se sinta mal, a maioria das pessoas tropeça nisso.

2 + 3) Os únicos que teriam uma chance de trabalhar são 5 e 8. Os scripts de inicialização e o cron não têm idéia da sua sessão de login, então não há como eles apontarem remind ou gmessage em a direção certa. E 5 não funcionou porque o e comercial no final é uma característica do shell, não o comando. Você provavelmente nem precisa se o comando estiver sendo executado como um aplicativo de inicialização.

    
por 05.04.2012 / 02:49
0

Você pode colocar esta linha no script de inicialização ~/.xinitrc de qualquer área de trabalho do X Window.

    
por 09.04.2016 / 21:31