[Risolto] Script all'avvio
- RoadCat
- Scoppiettante Seguace
- Messaggi: 537
- Iscrizione: domenica 16 novembre 2014, 12:54
- Distribuzione: Ubuntu 23.04
[Risolto] Script all'avvio
Ciao a tutti,
Se faccio questo post è perché con le varie guide su internet non sono stato in grado. Avrei bisogno di creare un eseguibile sh (con una sola riga di codice tra l'altro) che si avvii automaticamente all'accensione del pc. Qualcuno sarebbe così gentile da indicarmi un modello da modificare con la mia riga affinché questo funzioni? Sono anche disposto a leggere della documentazione ma finora ho solo trovato cose in forum e non ci ho capito un granché
Se faccio questo post è perché con le varie guide su internet non sono stato in grado. Avrei bisogno di creare un eseguibile sh (con una sola riga di codice tra l'altro) che si avvii automaticamente all'accensione del pc. Qualcuno sarebbe così gentile da indicarmi un modello da modificare con la mia riga affinché questo funzioni? Sono anche disposto a leggere della documentazione ma finora ho solo trovato cose in forum e non ci ho capito un granché
Ultima modifica di RoadCat il venerdì 20 agosto 2021, 15:06, modificato 1 volta in totale.
-
- Imperturbabile Insigne
- Messaggi: 2874
- Iscrizione: domenica 4 giugno 2006, 13:16
- Distribuzione: Kubuntu 20.04
Re: Script all'avvio
Il modo più semplice di fare quello che chiedi, è aggiungere il tuo script a crontab con la direttiva @reboot.
La via attuale, è creare un servizio systemd di tipo oneshot (https://gist.github.com/drmalex07/d006f12914b21198ee43)
La via attuale, è creare un servizio systemd di tipo oneshot (https://gist.github.com/drmalex07/d006f12914b21198ee43)
Re: Script all'avvio
Quello che scrive @saxtro è corretto se devi lanciare qualcosa al boot. In pratica hai 3 alternative:
Se invece ti serve qualcosa che parta automaticamente dopo il login puoi passare pure dall'avvio automatico.
Ricordati di rendere lo script eseguibile e/o mettere lo shebang in prima riga
1) Put the command in your crontab file. The crontab file in Linux is a daemon that performs user-edited tasks at specific times and events. To edit the file, open a terminal and type "sudo crontab -e" to open your crontab file in the default text editor. At the first available line, type "@reboot xxxx", where "xxxx" is the command you wish to run. Save the file and exit.
2) Put a script containing the command in your /etc directory. Create a script such as "startup.sh" using your favorite text editor. Save the file in your /etc/init.d/ directory. Change the permissions of the script (to make it executable) by typing "chmod +x /etc/init.d/mystartup.sh".
3) Edit the /rc.local script using your text editor. On Fedora systems, this script is located in /etc/rc.d/rc.local, and in Ubuntu, it is located in /etc/rc.local. Once you add the commands you wish to run -- making sure you do so as root -- save the file and exit. The commands will run after the next startup.
Se invece ti serve qualcosa che parta automaticamente dopo il login puoi passare pure dall'avvio automatico.
Ricordati di rendere lo script eseguibile e/o mettere lo shebang in prima riga
Io non sono Bagheera né Akela, io non frequento la Rupe.
Io sono Kaa: faccio ballare le scimmie alle Tane Fredde.
Io sono Kaa: faccio ballare le scimmie alle Tane Fredde.
- RoadCat
- Scoppiettante Seguace
- Messaggi: 537
- Iscrizione: domenica 16 novembre 2014, 12:54
- Distribuzione: Ubuntu 23.04
Re: Script all'avvio
Guardo e cerco di ragiornarci soprasaxtro ha scritto: ↑martedì 10 agosto 2021, 12:59Il modo più semplice di fare quello che chiedi, è aggiungere il tuo script a crontab con la direttiva @reboot.
La via attuale, è creare un servizio systemd di tipo oneshot (https://gist.github.com/drmalex07/d006f12914b21198ee43)
Forse l'utilizzo di avvio automatico è la soluzione migliore per me, non mi è chiaro come usare i collegamenti simbolici dell'avviatore del programma; io ho un semplice script di una riga, non un programma vero e proprio, forse mi basta mettere quel file .sh al posto dell'avviatore.korda ha scritto: ↑martedì 10 agosto 2021, 14:11Quello che scrive @saxtro è corretto se devi lanciare qualcosa al boot. In pratica hai 3 alternative:
1) Put the command in your crontab file. The crontab file in Linux is a daemon that performs user-edited tasks at specific times and events. To edit the file, open a terminal and type "sudo crontab -e" to open your crontab file in the default text editor. At the first available line, type "@reboot xxxx", where "xxxx" is the command you wish to run. Save the file and exit.
2) Put a script containing the command in your /etc directory. Create a script such as "startup.sh" using your favorite text editor. Save the file in your /etc/init.d/ directory. Change the permissions of the script (to make it executable) by typing "chmod +x /etc/init.d/mystartup.sh".
3) Edit the /rc.local script using your text editor. On Fedora systems, this script is located in /etc/rc.d/rc.local, and in Ubuntu, it is located in /etc/rc.local. Once you add the commands you wish to run -- making sure you do so as root -- save the file and exit. The commands will run after the next startup.
Se invece ti serve qualcosa che parta automaticamente dopo il login puoi passare pure dall'avvio automatico.
Ricordati di rendere lo script eseguibile e/o mettere lo shebang in prima riga
Mi scuso comunque con entrambi per aver risposto così tardi, purtroppo avevo dimenticato di attivare la notifica via mail di risposta
EDIT: ho risolto inserendo lo script nell'avvio automatico. Grazie mille
Re: Script all'avvio
Sto cercando anche io una soluzione, proverò ad usare la unit di systemd, per scopo didattico mi piacerebbe anche capire però come funziona crontab.saxtro ha scritto: ↑martedì 10 agosto 2021, 12:59Il modo più semplice di fare quello che chiedi, è aggiungere il tuo script a crontab con la direttiva @reboot.
La via attuale, è creare un servizio systemd di tipo oneshot (https://gist.github.com/drmalex07/d006f12914b21198ee43)
Nello specifico io ho un setup con root e il mio utente, è un pc personale, ho aggiunto al crontab del mio utente lo script, questo script deve effettuare un aggiornamento dei repo ed eventualmente un upgrade del so, quando lo lancio da terminale con sudo funziona bene ma all'avvio con crontab non ha i permessi di esecuzione (ho impostato 771 e l'owner è il mio utente), vorrei sapere come faccio a lanciarlo da root con crontab? seguendo FHS dove dovrei posizionare il mio script? Grazie
-
- Imperturbabile Insigne
- Messaggi: 2874
- Iscrizione: domenica 4 giugno 2006, 13:16
- Distribuzione: Kubuntu 20.04
Re: [Risolto] Script all'avvio
Il crontab non passa la password di root per i comandi che richiedono sudo.
Per cui o pianifichi sul crontab di root senza il sudo
Oppure modifichi il file sudoers (o ne crei uno in sudoers.d) in cui istruisci sudo per non chiedere al password con apt e gli altri comandi che ti servono
Per cui o pianifichi sul crontab di root senza il sudo
Codice: Seleziona tutto
$ sudo -i
[password]
# crontab -e
Chi c’è in linea
Visualizzano questa sezione: 0 utenti iscritti e 14 ospiti