Recentemente me deparei com "lembrar"no Linux. Gostei quase imediatamente, mas para que meus lembretes aparecessem, precisei executar 'remind' no modo daemon. Feito de forma bastante simples, usando o seguinte comando:
remind -z -k'gmessage %s &' /home/googie/.reminders &
Seria ridículo iniciar manualmente o daemon 'lembrar' toda vez que inicializo meu computador (alguém teria que me lembrar de fazer isso!), então pensei em fazê-lo rodar automaticamente na inicialização. Tive a impressão de que isso seria bastante simples de fazer, mas tive uma surpresa.
Eu fiz o seguinte (nesta sequência):
- Criei um script (com casos de início, parada e reinicialização), coloquei-o em /etc/init.d, executei 'update-rc.d' para criar alguns links para determinados níveis de execução, reiniciei --- sem sorte
- Criei um arquivo 'remind.conf', coloquei-o em /etc/init (referindo-se a 'http://upstart.ubuntu.com/getting-started.html'), reiniciado --- ainda sem sorte
- Abriu '/etc/rc.local', colocou o comando para iniciar o daemon 'lembrar' logo antes de 'exit 0', reiniciou --- ainda sem sorte
- Abri o crontab (sudo crontab -e), escrevi '@reboot' seguido pelo comando para iniciar o daemon 'remind' na última linha, reiniciei --- ainda sem sorte
- Abriu 'Sistema-> Preferências-> Aplicativos de inicialização', adicionou um novo programa de inicialização com o comando para iniciar o daemon 'lembrar', reiniciou --- ainda sem sorte
- Criei um script em meu diretório pessoal, coloquei o comando para iniciar o daemon 'lembrar' dentro do script, chamei esse script de '/etc/rc.local', reiniciei --- ainda sem sorte
- Chamei o script em meu diretório pessoal após '@reboot' no crontab, reiniciei --- ainda sem sorte
- Chamei o script em meu diretório pessoal usando 'System->Preferences->Startup Applications' --- finalmente funcionou, e o daemon 'remind' agora é executado!!
Então agora vamos às minhas 3 perguntas:
- É realmente tão complicado no Linux rodar algo na inicialização ou é apenas minha falta de conhecimento?
- Tentar as etapas 1 e 2 foi mesmo aconselhável? Acho que eles são usados para transformar algo em um serviço. O daemon 'lembrar' também não é um serviço?
- Por que a abordagem '/etc/rc.local' ou 'crontab' não funcionou? Há algum registro que eu possa verificar para ver o que está errado?
(qualquer referência relacionada para eu ler também seria apreciada)
Responder1
1) Receio que seja o último. Mas não se sinta mal, a maioria das pessoas tropeça nisso.
2+3) Os únicos que teriam chance de funcionar são 5 e 8. Os scripts de inicialização e o cron não têm ideia da sua sessão de login, então não há como apontar remind
na gmessage
direção certa. E 5 não funcionou porque o e comercial no final é um recurso do shell, não do comando. Você provavelmente nem precisará dele se o comando estiver sendo executado como um aplicativo de inicialização.
Responder2
Você pode colocar esta linha no script de inicialização ~/.xinitrc
de qualquer desktop X Window.