Ejecutar un comando al inicio

Ejecutar un comando al inicio

Recientemente me encontré con "recordar" en Linux. Me gustó casi de inmediato, pero para que aparecieran mis recordatorios, necesitaba ejecutar 'recordar' en modo demonio. Se hace de manera muy simple usando el siguiente comando:

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

Sería poco convincente para mí iniciar manualmente el demonio 'recordar' cada vez que inicio mi computadora (¡alguien tendría que recordarme que lo haga!), así que pensé en hacer que se ejecute automáticamente al iniciar. Tenía la impresión de que esto sería bastante sencillo de hacer, pero me esperaba una sorpresa.

Hice lo siguiente (en esta secuencia):

  1. Creó un script (con casos de inicio, detención y reinicio), lo colocó en /etc/init.d, ejecutó 'update-rc.d' para crear algunos enlaces para ciertos niveles de ejecución, lo reinició --- no hubo suerte
  2. Creó un archivo 'remind.conf' y lo colocó en /etc/init (con referencia a 'http://upstart.ubuntu.com/getting-started.html'), reiniciado --- todavía no hubo suerte
  3. Se abrió '/etc/rc.local', se colocó el comando para iniciar el demonio 'recordar' justo antes de 'salir 0', se reinició --- todavía no hubo suerte
  4. Abrí crontab (sudo crontab -e), escribí '@reboot' seguido del comando para iniciar el demonio 'recordar' en la última línea, reinicié --- todavía no hubo suerte
  5. Abrí 'Sistema->Preferencias->Aplicaciones de inicio', agregué un nuevo programa de inicio con el comando para iniciar el demonio 'recordar', reinicié --- todavía no tuve suerte
  6. Creé un script en mi directorio de inicio, coloqué el comando para iniciar el demonio 'recordar' dentro del script, llamé a este script desde '/etc/rc.local', reinicié --- todavía no hubo suerte
  7. Llamé al script en mi directorio personal después de '@reboot' en crontab, reinicié --- todavía no tuve suerte
  8. Llamé al script en mi directorio de inicio usando 'Sistema->Preferencias->Aplicaciones de inicio' --- ¡finalmente funcionó y el demonio 'recordar' ahora se ejecuta!

Así que ahora mis 3 preguntas:

  1. ¿Es realmente tan complicado en Linux ejecutar algo al inicio, o es simplemente mi falta de conocimiento?
  2. ¿Era incluso recomendable probar los pasos 1 y 2? Creo que se utilizan para hacer de algo un servicio. ¿No es el demonio 'recordar' también un servicio?
  3. ¿Por qué no funcionó el enfoque '/etc/rc.local' o 'crontab'? ¿Hay algún registro que pueda verificar para ver qué está pasando?

(también agradecería cualquier referencia relacionada que pueda leer)

Respuesta1

1) Me temo que es lo último. Pero no te sientas mal, la mayoría de la gente tropieza con ello.

2+3) Los únicos que tendrían posibilidades de funcionar son 5 y 8. Los scripts de inicio y cron no tienen idea de su sesión de inicio de sesión, por lo que no hay manera de que puedan apuntar reminden gmessagela dirección correcta. Y 5 no funcionó porque el signo comercial al final es una característica del shell, no el comando. Probablemente ni siquiera lo necesite si el comando se ejecuta como una aplicación de inicio.

Respuesta2

Podrías poner esta línea en el script de inicio ~/.xinitrcde cualquier escritorio X Window.

información relacionada