GNU/Linux >> Tutoriels Linux >  >> Linux

Comment exécuter automatiquement les scripts et commandes de démarrage Linux

L'une des fonctionnalités fantastiques des systèmes Linux est la possibilité de le modifier et de le configurer à votre guise. L'utilitaire de ligne de commande, communément appelé Terminal, permet aux utilisateurs de transmettre des commandes au noyau et d'exécuter des tâches cruciales. C'est l'une des nombreuses fonctionnalités qui font la différence entre Linux et les autres systèmes d'exploitation.

Dans cet article, nous allons exploiter l'une des puissantes fonctionnalités de Linux :la possibilité d'exécuter automatiquement des scripts/commandes et des applications au démarrage. Ce processus est fait pour réaliser plusieurs choses. Cela peut aller d'une tâche amusante et simple, comme changer le fond d'écran, à des tâches compliquées, comme sauvegarder des données ou chiffrer des fichiers.

Exécuter des scripts Linux au démarrage

Commençons et examinons les différentes méthodes que nous pouvons utiliser pour automatiser les scripts et commandes de démarrage Linux.

Méthode 1 :Utiliser l'application graphique "Applications de démarrage"

La plupart des méthodes que nous examinerons nécessitent la ligne de commande. Cependant, les distributions basées sur GNOME ont un utilitaire graphique simple que vous pouvez utiliser. Les 'Applications de démarrage.' Il est préinstallé et constitue un outil fiable pour les utilisateurs qui n'aiment pas se salir les mains sur le terminal.

1. Lancez 'Applications de démarrage' depuis le menu des applications.

2. Sur les 'Applications de démarrage' fenêtre principale, vous verrez trois options sur la droite ; Ajouter , Supprimer , et Modifier . Pour créer notre premier script automatisé, cliquez sur ‘Ajouter’ bouton.

3. Une fenêtre contextuelle s'ouvrira. Entrez le nom de votre script ou programme de démarrage. Dans la section de commande, entrez la commande que vous souhaitez exécuter - dites 'sudo mkdir /home/tuts/Desktop/My-Test-Script .' Alternativement, vous pouvez entrer le chemin complet de votre script bash ou de votre commande système exécutable dans les différents 'bin ‘ répertoires.

La commande ci-dessus me donnera toujours une notification sur mon écran pour mettre à jour mon système après chaque démarrage. Ce n'est qu'un exemple simple. Vous pouvez écrire des scripts bash avancés pour effectuer diverses tâches. Si vous débutez avec les scripts bash, regardez quelques exemples de Bash For Loop ici.

Méthode 2 :Utiliser la tâche Cron

Cron est un démon Linux qui exécute des tâches modifiées par l'utilisateur comme spécifié par l'utilisateur. Ces tâches planifiées sont écrites dans le fichier crontab. Il indique au Cron quelles tâches exécuter à quelle heure et sous quels événements.

Le format de base d'un fichier crontab est :

[minute] [heure] [DayOfMonth] [MonthOfYear] [DayOfWeek] [le script que vous souhaitez exécuter].

Cependant, pour exécuter des scripts au démarrage, nous utiliserons le @reboot paramètre. Si tout cela vous semble nouveau, veuillez lire notre article sur Crontab dans Linux expliqué avec des exemples.

Pour commencer, ajoutez une nouvelle tâche cron, exécutez la commande ci-dessous sur le terminal.

$ crontab -e

Si vous ne l'avez jamais fait auparavant, vous verrez une option pour choisir votre éditeur par défaut, comme indiqué ci-dessous. Je recommanderais nano car c'est beaucoup plus simple et direct. Dans mon cas ici, je vais entrer "1".

Nous allons écrire un script simple qui créera un nouveau répertoire sur le bureau au démarrage.

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

Méthode 3 :Utiliser le fichier /rc.local

Une autre méthode pour exécuter des scripts et des commandes au démarrage consiste à utiliser le fichier /rc.local. Pour commencer, exécutez la commande ci-dessous sur le terminal.

sudo nano /etc/rc.local

Cette commande ouvrira le fichier rc.local sur l'éditeur nano. S'il n'était pas présent, il en créerait un. Entrez vos commandes entre le # ! /bin/bash et sortie 0 lignes. Vous pouvez également donner le chemin complet de votre script bash ici.

#! /bin/bash
//path-to-your-bash-script
exit 0

Maintenant, nous devons faire le /rc.local fichier exécutable. Exécutez la commande ci-dessous :

sudo chmod +x /etc/rc.local

Une fois cela fait, redémarrez votre PC et voyez les changements prendre effet.

Méthode 4 :Systemd

Systemd est une suite logicielle qui contient divers utilitaires pour gérer les services système et les processus du système d'exploitation. Le systemd démarre les services et les processus au démarrage.

Nous pouvons utiliser le Systemd pour automatiser nos scripts et commandes au démarrage. Créons et automatisons un programme pour nous avertir de mettre à jour le système à l'aide de Systemd.

Pour commencer, définissons le dossier et le fichier requis dans lesquels nous écrirons nos commandes. Exécutez les commandes ci-dessous :

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

Après la deuxième commande, l'éditeur nano s'ouvrira, collez les commandes ci-dessous ici.

[unit]
Description=Reminder to Update System
PartOf=graphical-session-target

[Service]
ExecStart=bash -c 'sleep 10; notify-send "Please, Update your System Now"
Type=oneshot

[Install]
WantedBy=graphical-session.target

Ces commandes sont assez simples. Le système enverra le "Rappel de mise à jour" 10 secondes après le chargement de la session graphique après le démarrage.

Maintenant, pour nous assurer que le script est chargé après chaque démarrage, nous devons le rendre exécutable. Exécutez les commandes ci-dessous.

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

C'est un moyen simple d'automatiser les scripts avec Systemd au démarrage. La méthode ci-dessus exécute des scripts qui ne nécessitent pas d'accès root. Si vous souhaitez créer un script qui nécessite un accès root, créez un service systemd dans le "/etc/systemd/system" dossier au lieu de "~/.config/systemd/user" annuaire. De plus, vous devrez omettre le mot "utilisateur" inclus dans la commande ci-dessus.

Conclusion

Voici quatre méthodes que vous pouvez utiliser pour exécuter automatiquement les scripts et commandes de démarrage Linux au démarrage. Si vous créez des scripts simples qui ne nécessitent pas d'autorisations élevées pour s'exécuter, je vous recommande d'utiliser l''Application de démarrage' application graphique ou une simple tâche cron. Si vos scripts ont besoin d'un accès root, envisagez de créer un Systemd services.


Linux
  1. Comment exécuter automatiquement des commandes/scripts lors du redémarrage ou du démarrage

  2. Comment désactiver les commandes d'arrêt et de redémarrage sous Linux

  3. Qu'est-ce qu'une commande Chown sous Linux et comment l'utiliser

  4. Commandes Linux - Présentation et exemples

  5. Comment enregistrer les commandes Linux et les utiliser à la demande

Comment rappeler facilement les commandes Linux oubliées

Comment utiliser les commandes Pbcopy et Pbpaste sous Linux

Comment vérifier l'historique des commandes Linux par dates

Comment installer et utiliser la commande locate sous Linux

Comment utiliser la commande echo dans les scripts Bash sous Linux

Comment installer et utiliser la commande fd sous Linux