Come eseguire automaticamente script e comandi di avvio di Linux

PROGRAMMI DI ESECUZIONE AUTOMATICA

Una delle fantastiche funzionalità dei sistemi Linux è la possibilità di modificarlo e configurarlo a proprio piacimento. L’utilità della riga di comando, comunemente chiamata Terminale, consente agli utenti di passare comandi al kernel ed eseguire attività cruciali. Si tratta di una delle tante caratteristiche che mettono in evidenza la differenza tra Linux e altri sistemi operativi.

In questo post, sfrutteremo una delle potenti funzionalità di Linux: la possibilità di eseguire script/comandi e applicazioni automaticamente all’avvio. Questo processo è fatto per ottenere diverse cose. Può variare da attività divertenti e semplici come cambiare lo sfondo a cose complicate come il backup dei dati o la crittografia dei file.

Esecuzione di script Linux all’avvio

Iniziamo e guardiamo i diversi metodi che possiamo usare per automatizzare gli script e i comandi di avvio di Linux.

Metodo 1: Usa l’app GUI ‘Startup Applications’

La maggior parte dei metodi che vedremo richiedono la riga di comando. Tuttavia, le distribuzioni basate su GNOME hanno una semplice utility grafica che è possibile utilizzare. L ‘ avvio delle Applicazioni.’Viene preinstallato ed è uno strumento affidabile per gli utenti che non amano sporcarsi le mani sul Terminale.

1. Avviare ‘Applicazioni di avvio’ dal menu applicazioni.

Avvia applicazioni di avvio
Avvia applicazioni di avvio

2. Nella finestra principale “Applicazioni di avvio”, vedrai tre opzioni sulla destra; Aggiungi, Rimuovi e Modifica. Per creare il nostro primo script automatico, fare clic sul pulsante ‘Aggiungi’.

Aggiungi un programma di avvio
Aggiungi un programma di avvio

3. Si aprirà una finestra pop. Immettere il nome dello script di avvio o del programma. Nella sezione comando, immettere il comando che si desidera eseguire-dire ‘ sudo mkdir / home/tuts/Desktop / My-Test-Script.’In alternativa, puoi inserire il percorso completo del tuo script bash o del comando di sistema eseguibile nelle varie directory ‘bin’.

Sistema di aggiornamento
Sistema di aggiornamento

Il comando precedente mi darà sempre una notifica sul mio schermo per aggiornare il mio sistema dopo ogni avvio. Questo è solo un semplice esempio. È possibile scrivere script bash avanzati per eseguire varie attività. Se hai appena iniziato con bash-scripting, guarda alcuni esempi di Bash For Loop qui.

Metodo 2: Usa Cron Job

Cron è un demone Linux che esegue le attività modificate dall’utente come specificato dall’utente. Queste attività pianificate sono scritte nel file crontab. Dice al Cron quali lavori eseguire a che ora e in quali eventi.

Il formato di base di un file crontab è:

.

Tuttavia, per l’esecuzione di script all’avvio, useremo il parametro @reboot. Se tutti questi suoni nuovo per voi, si prega di leggere il nostro articolo su Crontab in Linux Spiegato con esempi.

Per iniziare, aggiungi un nuovo lavoro cron, esegui il comando qui sotto sul Terminale.

$ crontab -e

Se non l’hai mai fatto prima, vedrai un’opzione per scegliere il tuo editor predefinito, come mostrato di seguito. Consiglierei nano poiché è molto semplice e diretto. Nel mio caso qui, entrerò ‘ 1.’

Seleziona Editor
Seleziona Editor

Scriveremo un semplice script che creerà una nuova directory sul desktop all’avvio.

SHELL=/bin/bash@reboot sleep 30 && DISPLAY=:0 My-Test-Directory
Riavviare Cron Job
Riavviare Cron Job

Metodo 3: Utilizzare il /a.c.local

Un altro metodo per eseguire script e comandi all’avvio è usare /rc.file locale. Per iniziare, eseguire il comando qui sotto sul Terminale.

sudo nano /etc/rc.local

Questo comando aprirà la rc.file locale sull’editor nano. Se non fosse presente, ne creerebbe uno. Inserisci i tuoi comandi tra il #! / bin / bash e uscire 0 linee. Puoi anche dare il percorso completo al tuo script bash qui.

#! /bin/bash//path-to-your-bash-scriptexit 0
rc.file locale
rc.file locale

Ora, abbiamo bisogno di fare il / rc.file eseguibile locale. Eseguire il comando seguente:

sudo chmod +x /etc/rc.local
rc.file locale
rc.file locale

Una volta fatto, riavviare il PC e vedere le modifiche hanno effetto.

Metodo 4: Systemd

Systemd è una suite software che contiene varie utilità per gestire i servizi di sistema e i processi del sistema operativo. Systemd avvia servizi e processi all’avvio.

Possiamo usare Systemd per automatizzare i nostri script e comandi all’avvio. Creiamo e automatizziamo un programma per informarci di aggiornare il sistema utilizzando Systemd.

Per iniziare, cerchiamo la cartella e il file richiesti in cui scriveremo i nostri comandi. Eseguire i comandi seguenti:

$ mkdir -p ~/.config/systemd/user$ nano ~/.config/systemd/user/update-notifier.service
File Systemd
File Systemd

Dopo il secondo comando, l’editor nano si aprirà, incollare i comandi qui sotto.

Description=Reminder to Update SystemPartOf=graphical-session-targetExecStart=bash -c 'sleep 10; notify-send "Please, Update your System Now"Type=oneshotWantedBy=graphical-session.target
Systemd File
Systemd File

Questi comandi sono piuttosto semplici. Il sistema invierà il “Update-Reminder” 10 secondi dopo che la sessione grafica è stata caricata dopo l’avvio.

Ora per garantire che lo script venga caricato dopo ogni avvio, dobbiamo renderlo eseguibile. Esegui i comandi qui sotto.

$ chmod 644 ~/.config/systemd/user/update-notifier.service$ systemctl --user enable update-notifier.service$ systemctl --user daemon-reload$ reboot
Systemd file
Systemd file

Che è un modo semplice su come siamo in grado di automatizzare script con Systemd all’avvio. Il metodo di cui sopra esegue script che non richiedono l’accesso root. Se si desidera creare uno script che richiede l’accesso root, creare un servizio systemd nella cartella “/etc/systemd/system “invece di”~/.directory “config / systemd / user”. Inoltre, dovrai omettere la parola ‘utente ‘ inclusa nel comando precedente.

Conclusione

Questi sono quattro metodi che è possibile utilizzare per eseguire automaticamente gli script di avvio di Linux e comandi all’avvio. Se stai creando script semplici che non richiedono autorizzazioni elevate per l’esecuzione, ti consiglio di utilizzare l’app GUI ‘Startup Application’ o un semplice lavoro cron. Se gli script hanno bisogno di accesso root, quindi considerare la creazione di un servizio Systemd.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.