Nous nous retrouvons souvent à lancer certains programmes immédiatement après nous être connectés à nos systèmes. Rechercher et lancer manuellement chacun de ces programmes à chaque démarrage d’Ubuntu est un processus qui prend beaucoup de temps.
Certains des programmes Linux sont configurés pour être lancés au démarrage. Cependant, il est également possible de configurer vos programmes, scripts ou commandes préférés pour qu’ils s’exécutent automatiquement au démarrage d’Ubuntu.
Lancer des programmes au démarrage avec systemd
systemd, également connu sous le nom de gestionnaire de système ou de service, est le premier processus qui démarre lorsqu’Ubuntu démarre. Un service systemd est généralement inclus par défaut dans la plupart des programmes Linux.
Avec systemd, vous pouvez également configurer vos programmes pour qu’ils se lancent automatiquement au démarrage de votre système. Vous pouvez utiliser la commande systemctl pour gérer les services systemd.
Pour vérifier si le fichier d’unité systemd existe pour votre programme, utilisez la commande suivante :
systemctl list-unit-files | grep <program-name>
Disons que vous voulez lancer automatiquement Apache au démarrage du système. Utilisez la commande suivante pour vérifier si un fichier d’unité systemd existe pour ce programme :
systemctl list-unit-files | grep apache2
S’il existe, vous verrez une sortie comme celle-ci :
Maintenant, pour configurer Apache pour qu’il soit lancé automatiquement au démarrage, exécutez :
sudo systemctl enable apache2
Pour vérifier si le service Apache est activé pour être lancé au démarrage, utilisez la commande suivante :
sudo systemctl is-enabled apache2
La sortie devrait renvoyer activé si le service est configuré pour s’exécuter automatiquement au démarrage du système.
Pour empêcher un programme de s’exécuter automatiquement au démarrage d’Ubuntu, désactivez son service à l’aide des commandes suivantes
sudo systemctl disable apache2
Si un certain programme n’est pas livré avec une unité systemd (service système), vous pouvez créer son fichier d’unité systemd pour l’exécuter au démarrage du système. Pour créer un fichier d’unité, disons que test.service, exécutez la commande suivante :
sudo nano /lib/systemd/system/test.service
Ensuite, ajoutez les lignes de code suivantes dans le fichier d’unité. Veillez à modifier la valeur de l’élément ExecStart en ajoutant le chemin du programme que vous souhaitez exécuter au démarrage.
En plus d’un programme, vous pouvez également exécuter une commande ou un script au démarrage en spécifiant son chemin dans la directive ExecStart directive.
[Unit]
Description=This is a test service file.
[Service]
Type=simple
ExecStart=<Full-Path-of-Command-or-Script-or-Program>
[Install]
WantedBy=multi-user.target
Une fois fait, enregistrez et fermez le fichier de l’unité.
Ensuite, attribuez à ce fichier d’unité les permissions nécessaires :
sudo chmod 644 /etc/systemd/system/test.service
Maintenant le fichier unité systemd est créé et vous êtes prêt à gérer votre programme au démarrage en utilisant les commandes décrites ci-dessus.
Utiliser les applications de démarrage de GNOME sur Ubuntu
Une autre façon de lancer des programmes fréquemment utilisés au démarrage est d’utiliser les applications de démarrage de GNOME. Vous pouvez le lancer à partir du menu des applications en appuyant sur Super et en tapant « applications de démarrage. » Ou vous pouvez le lancer en appuyant sur Alt + F2 et en tapant la commande suivante dans la fenêtre Exécuter une commande boîte de dialogue :
gnome-session-properties
Ceci lancera le programme Préférences des applications de démarrage où vous verrez une liste de programmes déjà configurés pour être exécutés au démarrage.
Pour ajouter un nouveau programme à la liste, cliquez sur Ajouter. Cela ouvrira la fenêtre Ajouter un programme de démarrage fenêtre.
Dans le Nom tapez un nom pour le programme que vous voulez ajouter. Ensuite, dans le champ Commande Dans le champ « Commande », indiquez le chemin d’accès complet au binaire exécutable du programme.
Pour trouver le chemin complet du programme, utilisez la commande which suivie du nom du programme. Par exemple, pour trouver le binaire exécutable de Slack, la commande serait la suivante :
which slack
Vous pouvez également cliquer sur Parcourir et localisez l’exécutable du programme. Vous pouvez également ajouter tout commentaire relatif au programme, bien que cela soit facultatif. Une fois que vous avez terminé, cliquez sur Ajouter.
Vous verrez maintenant le programme listé dans la liste des programmes de démarrage. Les programmes sélectionnés démarreront automatiquement lorsque vous vous connecterez à votre machine Ubuntu.
Retarder le démarrage des programmes sur Ubuntu
Il peut y avoir des applications que vous souhaitez lancer automatiquement au démarrage, mais vous n’en avez pas besoin immédiatement après la connexion. Vous pouvez ajouter un délai au lancement de ces applications afin qu’elles ne démarrent pas toutes en même temps. Cela permettra également d’alléger la charge de votre ordinateur.
Dans la fenêtre des préférences des applications de démarrage, sélectionnez le programme que vous souhaitez retarder et cliquez sur Modifier. Dans le champ Commande, ajoutez sleep x avant la commande, où x est le temps (en secondes) à attendre avant d’ouvrir l’application.
Disons que vous voulez lancer Slack 120 secondes après le démarrage du système, il faut donc ajouter :
sleep 120; slack
Pour supprimer un programme de la liste des programmes de démarrage, lancez Préférences des applications de démarrage sélectionnez l’application, puis cliquez sur Supprimer.
Lancement de programmes au démarrage d’Ubuntu à l’aide de tâches cron
Une tâche cron sous Linux permet de planifier l’exécution automatique de programmes, de commandes ou de scripts à des moments ou des intervalles précis. En utilisant les tâches cron, vous pouvez également lancer un programme Ubuntu automatiquement au démarrage du système sans aucune interaction manuelle.
Les tâches cron sont définies comme des entrées dans le fichier crontab. Ne modifiez pas le fichier crontab directement à l’aide d’un éditeur de texte. Utilisez plutôt la commande suivante pour le modifier :
crontab -e
Choisissez l’éditeur dans lequel vous souhaitez modifier le fichier crontab. Ensuite, pour ajouter la tâche cron qui s’exécute après le démarrage, utilisez la syntaxe suivante :
@reboot <command-or-script>
Par exemple, la tâche cron suivante demande au système de vérifier l’espace disque et d’enregistrer le résultat dans le fichier ~/espace-disque.txt après le démarrage du système :
@reboot df -h >> ~/disk-space.txt
Sauvegardez le fichier crontab et quittez.
Pour empêcher un programme de s’exécuter au démarrage d’Ubuntu, il suffit de supprimer son entrée de tâche cron du fichier crontab.
Activer le lancement des programmes nécessaires au démarrage d’Ubuntu
Avoir vos programmes préférés déjà ouverts au démarrage peut être très pratique car vous pouvez commencer à les utiliser immédiatement après vous être connecté à votre système. Cependant, trop de programmes de démarrage peuvent prolonger le processus de démarrage.
Par conséquent, il est recommandé de n’activer que les programmes nécessaires au démarrage et de désactiver les programmes utilisés occasionnellement qui sont activés par défaut.