Lancement des applications (ou commandes ou scripts) en fin du lancement de l’environnement de bureau
Ce tutoriel présente les méthodes pour lancer automatiquement des applications au démarrage d'une session graphique.
La procédure s'applique seulement à l'utilisateur courant.
Une procédure différente est nécessaire selon l'environnements de bureau (classé ici par ordre alphabétique) :
Lancement en mode "normal", en mode utilisateur
GNOME Shell
Dans l'outil Ajustements, rendez-vous à la section "Applications au démarrage" et ajoutez une application.
Pour lancer une ligne de commande spécifique au démarrage, il faudra créer un lanceur dédié (voir plus bas).
Les informations pour Unity sont également valables pour Gnome, en particulier la commande qui permet de lancer l'application.
KDE Plasma
Allez dans Configuration du système → Administration du système (Plasma 4.x) ou Espace de travail (Plasma 5.x) → Démarrage et arrêt → Gestionnaire de services.
MATE
Rechercher dans le menu Applications au démarrage, ou dans un terminal la commande suivante :
mate-session-properties
La suite est sensiblement identique à la partie Unity.
LXDE / LXQT
Pour LXDE, voir cette page.
XFCE
Lancez le Gestionnaire de paramètres et ouvrez Session et démarrage (ou bien entrez la commande xfce4-session-settings
dans un terminal).
Sélectionnez l'onglet "Démarrage automatique" et cliquez sous le bouton +Ajouter, en bas à gauche. Dans la fenêtre qui s'ouvre, vous avez 3 zones. "Nom" et "description" sont libres, mais dans la zone "commande", vous devez saisir votre script ou votre application :
- Pour lancer une application, tapez simplement son nom (éventuellement avec une option, s'il y en a une qui vous intéresse).
- pour lancer un script : sh -c "/chemin-du-script/nom-du-script"
- Pour lancer un script dans une fenêtre du terminal : xfce4-terminal -x "/chemin-du-script/nom-du-script"
Unity
Recherchez l'utilitaire "Applications au démarrage" dans le tableau de bord ou entrez dans un terminal la commande suivante :
gnome-session-properties
Pour ajouter une application, cliquez sur le bouton Ajouter.
La fenêtre qui s'ouvre comporte 3 champs : Nom, Commande et Commentaire.
- Dans le champ nom entrez le nom de l'application, par exemple : "LibreOffice Writer".
- Le second champ Commande est le seul réellement important, c'est lui qui indiquera à votre système l'application à lancer au démarrage. Entrez-y la commande exacte nécessaire pour lancer l'application (rendez-vous sur la page de la documentation en question pour connaître la commande adéquate, il s'agit souvent du nom de l'application sans majuscule et tout attaché, par exemple : libreoffice-writer).
- Le troisième champ Commentaire sert à ajouter un commentaire, par exemple : "Traitement de texte de LibreOffice".
Le nom de la commande est en général similaire au paquet installé (par exemple pour le paquet vlc, la commande est : vlc) et si besoin, vous pouvez vous aider de la commande which.
Si vous désirez lancer un script, utilisez sh -c "/chemin/complet/du/script"
Méthode par ajout d'un lanceur
Pour chaque programme à ajouter, il suffit de lui créer son lanceur (page dédiée) (*.desktop) dans le dossier ~/.config/autostart/
Exemple minimal de fichier lanceur pour le navigateur Chromium (préchargement par l'option --no-startup-window
) :
[Desktop Entry] Type=Application Exec=/usr/bin/chromium-browser --no-startup-window X-GNOME-Autostart-enabled=true #Si cette ligne est sur true, alors l'application se lancera automatiquement Name=Chromium
Exemple de code pour générer le lanceur (à inclure dans un script exécutable ) :
cat << EOF >> ~/.config/autostart/nom_du_lanceur.desktop [Desktop Entry] Type=Application Exec=nom_du_programme_à_lancer Name=nom_qui_apparaîtra_dans_le_gestionnaire_de_démarrage X-GNOME-Autostart-enabled=true #Si cette ligne est sur true, alors l'application se lancera automatiquement Icon=nom_de_l_icône_qui_apparaîtra_dans_le_gestionnaire_de_démarrage #recherchez à l'intérieur de /usr/share/icons/ pour trouver le nom exact adapté Comment=commentaire_au_choix EOF
En ligne de commande
La même chose, en une seule ligne de commande :
Nom="Le nom de l'application à lancer" ; Cde="ligne de commande à lancer" ; Rep="si nécessaire, répertoire de la commande à lancer" ; Commentaire="le commentaire à votre convenance" ; Icone="chemin complet vers l'icône"; printf "[Desktop Entry]\nType=Application\nExec=%s%s\nHidden=false\nNoDisplay=false\nX-GNOME-Autostart-enabled=true\nName[fr_FR]=%s\nName=%s\nComment[fr_FR]=%s\nComment=%s\nIcon=%s" "$Rep" "$Cde" "$Nom" "$Nom" "$Commentaire" "$Commentaire" "$Icone" > "$HOME/.config/autostart/""$Cde"".desktop"
ou alors (sans icône) :
Nom="Le nom de l'application à lancer" ; Cde="ligne de commande à lancer" ; Rep="si nécessaire, répertoire de la commande à lancer" ; Commentaire="le commentaire à votre convenance" ; printf "[Desktop Entry]\nType=Application\nExec=%s%s\nHidden=false\nNoDisplay=false\nX-GNOME-Autostart-enabled=true\nName[fr_FR]=%s\nName=%s\nComment[fr_FR]=%s\nComment=%s\nIcon=%s" "$Rep" "$Cde" "$Nom" "$Nom" "$Commentaire" "$Commentaire" > "$HOME/.config/autostart/""$Cde"".desktop"
Lancement en mode administrateur, en mode root
Méthode rc.local
Une méthode simple (mais pas très propre) est d'ajouter les commandes dans le fichier /etc/rc.local
Le script /etc/rc.local est destiné à être utilisé par l'administrateur système. Il est généralement exécuté après le démarrage de tous les services système normaux, à la fin du processus de basculement vers un niveau d'exécution multi-utilisateur. Vous pouvez l’utiliser pour démarrer un service personnalisé, par exemple un serveur installé dans /usr/local. La plupart des installations n'en ont pas besoin /etc/rc.local, elles sont fournies pour la minorité des cas où cela est nécessaire.
Méthode Debian
- Créer un script dans :
/etc/init.d/monScript.sh
(imaginons que le script s'appelle monScript.sh) - Donner les droits d'execution avec : chmod +x /etc/init.d/monScript.sh - Referencer le script : update-rc.d monScript.sh defaults
Méthode crontab
Le principe ici est d'utiliser le démon cron qui sert normalement à lancer des commandes / scripts sur évenements (principalement basée sur le temps).
Le paramètre @reboot permet de lancer une commande au démarrage.
On va donc simplement editer la configuration cron et lancer la commande /script :
1. Ouvrir la configuration de l'administrateur :
sudo crontab -e
2. Ajouter à la fin du fichier la commande / script "maCommande" que vous souhaitiez executer :
@reboot maCommande
Méthode system D
Systemd est le gestionnaire de système qui remplace upstart et son prédécesseur (les scripts system V) depuis Ubuntu 16.04 LTS Xenial.
1. Créer un fichier UnService.service dans /etc/systemd/system/
[Unit] Description=<Mettre une description> [Service] Type=oneshot ExecStart=<Une commande> [Install] WantedBy=multi-user.target
2. Vérifier que le contenu du fichier est vraisemblable :
sudo systemd-analyze verify UnService
3. Faire une première exécution :
sudo systemctl start UnService
4. Valider cette exécution pour le prochain démarrage de l'ordinateur :
sudo systemctl enable UnService
Utilisation avancée du gestionnaire de démarrage
Afficher l'ensemble des tâches au démarrage
Les tâches présentes dans le gestionnaire de démarrage ne s'affichent pas toutes par défaut.
Il existe une manipulation pour faire apparaître l'ensemble des tâches, dans un terminal entrez :
sudo sed -i 's/NoDisplay=true/NoDisplay=false/g' /etc/xdg/autostart/*.desktop
Au prochain lancement, le gestionnaire de démarrage affichera toutes les tâches lancées.
Pour revenir à la configuration par défaut, suivez le chemin inverse :
sudo sed -i 's/NoDisplay=false/NoDisplay=true/g' /etc/xdg/autostart/*.desktop
Lancer une application au démarrage avec une temporisation
Vous pouvez avoir besoin de démarrer une application avec un délai d'attente. Si tel est votre cas, en lieu et place d'une simple commande (par exemple : firefox), il vous faudra ajouter dans le champ commande (voir image ci-dessus) l'entrée suivante :
sh -c "sleep 10 && (firefox &)"
Dans cet exemple le 10 après sleep est le nombre de secondes à attendre avant que la commande se lance, firefox est un exemple de commande, bien sûr remplacez ce mot par le nom de votre logiciel.
Lancer sa propre séquence grâce à un script
Voici un exemple de script de démarrage pour lancer une séquence de programmes.
#!/bin/bash clipit #se lance dès l'ouverture de session sleep 10 #attend 10 secondes libreoffice-writer sleep 2 #attend 2 secondes vlc exit 0
Une autre méthode est de lancer un fichier .desktop existant via l'une des méthodes de cette page : Exécution d'un fichier .desktop dans le terminal
Méthode system D
Systemd est le gestionnaire de système qui remplace upstart et son prédécesseur (les scripts system V) depuis Ubuntu 16.04 LTS Xenial.
1. Créer un fichier <MonService>.service dans $HOME/.config/systemd/user avec cette commande
systemctl --user edit <MonService> --full --force
qui ouvrira l'application nano et y insérer les directives
[Unit] Description=<Mettre une description> [Service] Type=oneshot ExecStart=<Un fichier exécutable stocké dans mon $HOME> [Install] WantedBy=multi-user.target
Au besoin modifier le fichier avec l'une de ces commandes
systemctl --user edit <MonService> --full systemctl --user edit <MonService>
2. Vérifier que le contenu du fichier est vraisemblable :
systemd-analyze verify <Monservice> $HOME/.config/systemd/user/<MonService>.service>
3. Faire une première exécution :
systemctl --user start <MonService>
4. Valider cette exécution pour le prochain démarrage de l'ordinateur :
systemctl --user enable <MonService>
Voici un autre exemple du contenu de <Un fichier exécutable stocké dans mon $HOME> qui doit avoir la permission d'exécution
#!/bin/bash echo Début de suivi de connexion au $(date +"%Y-%m-%d %H:%M") >> Bonjour.txt for ((i=0;i=12;i++));do sleep 300; A=$(ping -c 1 8.8.8.8 | head -2|tail -1) ; if [[ $A =~ Destination ]]; then echo $(date +"%Y-%m-%d %H:%M") Erreur de connectique $A >> Bonjour.txt ; else echo $(date +"%Y-%m-%d %H:%M") Vitesse de connexion $A >> /Bonjour.txt ; fi; done echo Fin de suivi de connexion au $(date +"%Y-%m-%d %H:%M") >> Bonjour.txt
Liste des applications démarrées par défaut (Unity)
Cette liste permet de savoir à quoi sert chaque application. Vous pourrez ainsi désactiver celles qui vous sont inutiles.
Programme | Description | Statut |
---|---|---|
Backup Monitor (Moniteur de sauvegarde) | Sauvegarde planifiée du système à intervalle régulier | |
Bluetooth manager | Gestionnaire de connexions aux périphériques Bluetooth | |
Chat (Discussion) | Affichage les notifications du logiciel Telepathy | |
Check for new hardware drivers | Vérifie s'il y a un nouveau composant matériel installé (autre qu'une clé/disque USB) | |
Disk Notifications | Vous alerte de l'état de santé de votre disque dur (utile si votre disque dur est compatible avec la technologie SMART) | |
Evolution Alarm Notify | Notifications du calendrier et courriel | Inutile si vous n'utilisez pas les alarmes du calendrier d'Evolution |
Files (Fichiers) | Permet à Nautilus (GNOME) d'afficher des fichiers sur le bureau (inutile avec Unity) | |
GNOME Login Sound | Son joué après la connexion d'un utilisateur | |
GNOME Settings Daemon (Service de paramètres GNOME) | Prend en compte les réglages dans GNOME (thèmes, icônes, etc…) | Recommandé pour tous |
GPG Password Agent (Agent de mot de passe GPG) | Trousseau de clés GNOME : agent PGP | Inutile si vous n'utilisez pas de clés GPG pour signer ou chiffrer des données |
GSettings Data Conversion (Conversion des données GSettings) | Permet de convertir les anciens fichiers de configuration gnome | |
Mount Helper (Assistant de montage) | Après avoir branché un périphérique USB l'ouvre automatiquement (sinon vous devrez l'ouvrir vous même en cliquant sur le disque externe qui apparaît dans Nautilus). | |
Network (Réseau) | Gestion des interfaces réseaux (Wifi, ethernet, etc..) | |
NVDIA X Server Settings | pour les cartes graphiques Nvidia | |
Onboard | OnBoard est un clavier virtuel | |
Orca Screen Reader (Orca screen reader) | Orca permet aux utilisateurs non/mal-voyants d'utiliser Ubuntu | Désactivable si vous n'avez pas besoin des fonctionnalités d'accessibilité pour la vocalisation ou le braille |
Personal File Sharing (Partage de fichiers personnels) | Partage de fichiers personnels en réseau | |
PolicyKit Authentication Agent | Permet aux applications de vous demander le mot de passe de l'administrateur si besoin | |
Power Manager | Gère la mise en veille du PC | |
Print Queue Applet | ||
PulseAudio Sound System (Système de son PulseAudio) | pour avoir du son | |
Remote Desktop (Partage de bureau) | Permet de prendre le contrôle à distance au PC | |
Screensaver (Économiseur d'écran) | Effet dégradé progressif de la luminosité puis affichage de l'écran de veille | |
Secret Storage Service (Service de stockage secret) | Trousseau de clés GNOME : service secret | |
SSH Key Agent (Agent de clés SSH) | Agent GNOME qui charge vos clés SSH pour permettre aux applications l'accès à ces clés | Désactivable si vous n'utilisez pas de clés SSH |
Update Notifier (Notificateur de mises à jour) | Vérifie automatiquement la disponibilité de mises à jour | |
User folders update | ||
Visual Assistance | ||
Volume Control | ||
Zeitgeist (Zeitgeist Datahub) | Enregistre dans un journal les activités de l'utilisateur et les événements de Gnome |
Voir aussi
- Discussion Lancer un programme au démarrage d'Ubuntu sur le forum ubuntu-fr.
- La page de documentation sur les services qui permet d'aller beaucoup plus loin et de gérer les services lancés avant même l'ouverture d'une session (utilisateurs avancés seulement).