# DaemonControl - Autostart Configuration ## πŸš€ Installare il Servizio Systemd Per far partire automaticamente il daemon al riavvio del PC: ```bash ./install_service.sh ``` Lo script: - βœ… Installa il servizio systemd in `/etc/systemd/system/` - βœ… Abilita l'avvio automatico al boot - βœ… Configura il restart automatico in caso di crash --- ## πŸ“‹ Comandi Disponibili ### Gestione Servizio ```bash # Avviare il daemon sudo systemctl start daemoncontrol # Fermare il daemon sudo systemctl stop daemoncontrol # Riavviare il daemon sudo systemctl restart daemoncontrol # Controllare lo stato sudo systemctl status daemoncontrol # Disabilitare l'avvio automatico (senza disinstallare) sudo systemctl disable daemoncontrol # Riabilitare l'avvio automatico sudo systemctl enable daemoncontrol ``` ### Visualizzare i Log ```bash # Log in tempo reale (live) sudo journalctl -u daemoncontrol -f # Ultimi 100 log sudo journalctl -u daemoncontrol -n 100 # Log da oggi sudo journalctl -u daemoncontrol --since today # Log degli ultimi 30 minuti sudo journalctl -u daemoncontrol --since "30 min ago" ``` --- ## πŸ—‘οΈ Disinstallare il Servizio Per rimuovere completamente il servizio: ```bash ./uninstall_service.sh ``` **Nota:** I tuoi job e il database rimarranno intatti in `~/.config/daemon-control/` --- ## βš™οΈ Configurazione Avanzata Il file del servizio si trova in: ``` /etc/systemd/system/daemoncontrol.service ``` Dopo aver modificato il file, ricorda di ricaricare systemd: ```bash sudo systemctl daemon-reload sudo systemctl restart daemoncontrol ``` --- ## πŸ” Caratteristiche del Servizio - **Auto-restart**: Il daemon si riavvia automaticamente se crasha - **Restart delay**: Attende 10 secondi prima di riavviare - **Logging**: Tutti i log vanno in systemd journal - **User**: Viene eseguito come utente `mauro` (non root) - **Security**: Isolamento con `PrivateTmp` e `NoNewPrivileges` --- ## πŸ“Š ModalitΓ  di Esecuzione ### Opzione 1: Servizio Systemd (Consigliato per server) ```bash ./install_service.sh sudo systemctl start daemoncontrol ``` **Pro:** Avvio automatico, restart automatico, gestione con systemctl **Contro:** Richiede sudo, solo daemon senza GUI ### Opzione 2: System Tray (Consigliato per desktop) ```bash ./run_gui.sh ``` **Pro:** GUI completa, controllo visuale, facile da usare **Contro:** Devi avviarlo manualmente, richiede X11 ### Opzione 3: Daemon Foreground (Per testing) ```bash source venv/bin/activate python start_daemon.py ``` **Pro:** Output visibile, facile debug **Contro:** Si ferma quando chiudi il terminale --- ## πŸ†˜ Troubleshooting ### Il servizio non parte? 1. Controlla lo status: ```bash sudo systemctl status daemoncontrol ``` 2. Verifica i log: ```bash sudo journalctl -u daemoncontrol -n 50 ``` 3. Verifica che il virtual environment esista: ```bash ls -la /mnt/ssd/data/python-lab/DaemonControl/venv ``` 4. Testa l'avvio manuale: ```bash /mnt/ssd/data/python-lab/DaemonControl/venv/bin/python \ /mnt/ssd/data/python-lab/DaemonControl/start_daemon.py ``` ### Il daemon si ferma continuamente? Controlla gli errori nei log: ```bash sudo journalctl -u daemoncontrol -n 100 | grep ERROR ``` --- ## 🎯 Quick Start 1. **Installa il servizio:** ```bash ./install_service.sh ``` 2. **Avvia il daemon:** ```bash sudo systemctl start daemoncontrol ``` 3. **Verifica che funzioni:** ```bash sudo systemctl status daemoncontrol ``` 4. **Apri la GUI per gestire i job:** ```bash ./run_gui.sh ``` Done! πŸŽ‰