| Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente |
| tutoriel:application_demarrage [Le 28/08/2022, 15:40] – correction tirets doubles (détecté et corrigé via le bot wiki-corrector (https://forum.ubuntu-fr.org/viewtopic.php?id=2067892) moths-art | tutoriel:application_demarrage [Le 13/07/2026, 03:19] (Version actuelle) – suppr refs à sysV et init.d krodelabestiole |
|---|
| |
| {{tag>tutoriel administration système}} | {{tag>tutoriel administration système}} |
| |
| ---- | ====== Lancement des applications (ou commandes ou scripts) en fin du lancement de l’environnement de bureau ====== |
| |
| ====== Lancement des applications 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 [[:sessions|session]] graphique. | Ce tutoriel présente les méthodes pour **lancer automatiquement des applications au démarrage** d'une [[:sessions|session]] graphique. |
| |
| </code> | </code> |
| |
| ou alors (sans icône) : | ou alors (sans icône) : |
| <code> | <code> |
| 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" | 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" |
| <note important>La section qui suit est destinée aux utilisateurs et utilisatrices avancé(e)s, prenez toutes les précautions qui s'imposent avant d'aller plus loin.</note> | <note important>La section qui suit est destinée aux utilisateurs et utilisatrices avancé(e)s, prenez toutes les précautions qui s'imposent avant d'aller plus loin.</note> |
| ==== Méthode rc.local ==== | ==== Méthode rc.local ==== |
| Une méthode simple est d'ajouter les commandes dans le fichier **/etc/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 [[https://fr.wikipedia.org/wiki/Run_level|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. | 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 [[https://fr.wikipedia.org/wiki/Run_level|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 crontab ==== | ==== Méthode crontab ==== |
| | |
| Le principe ici est d'utiliser le démon [[:cron|cron]] qui sert normalement à lancer des commandes / scripts sur évenements (principalement basée sur le temps). | Le principe ici est d'utiliser le démon [[:cron|cron]] qui sert normalement à lancer des commandes / scripts sur évenements (principalement basée sur le temps). |
| |
| 2. Ajouter à la fin du fichier la commande / script "//maCommande//" que vous souhaitiez executer : | 2. Ajouter à la fin du fichier la commande / script "//maCommande//" que vous souhaitiez executer : |
| @reboot maCommande | @reboot maCommande |
| ==== Méthode system D==== | |
| <note important>A vérifier puis supprimer ce commentaire</note> | |
| Systemd est le gestionnaire de système qui remplace [[:upstart]] et son prédécesseur ([[:script_sysV|les scripts system V]]) depuis [[:xenial|Ubuntu 16.04 LTS Xenial]]. | |
| |
| | ==== Méthode system D==== |
| |
| 1. Créer un fichier monService dans /etc/systemd/system/ | 1. Créer un fichier UnService.service dans /etc/systemd/system/ |
| [Unit] | [Unit] |
| Description=<Mettre une description> | Description=<Mettre une description> |
| [Service] | [Service] |
| Type=oneshot | Type=oneshot |
| ExecStart=<Ma commande> | ExecStart=<Une commande> |
| [Install] | [Install] |
| WantedBy=multi-user.target | WantedBy=multi-user.target |
| | |
| | 2. Vérifier que le contenu du fichier est vraisemblable : |
| | sudo systemd-analyze verify UnService |
| |
| 2. Activer le fichier : | 3. Faire une première exécution : |
| sudo systemctl enable monService | sudo systemctl start UnService |
| sudo systemctl start monService | |
| |
| | 4. Valider cette exécution pour le prochain démarrage de l'ordinateur : |
| | sudo systemctl enable UnService |
| |
| |
| |
| ==== Méthode spécifique pour assigner un paramètre ==== | |
| <note important>Cette méthode mérite d’être détaillée d'un point de vue clarification en pédagogie</note> | |
| |
| Si vous voulez juste changer un paramètre au démarrage, vous pouvez créer un fichier de configuration. | |
| |
| Dans cet exemple, on veut mettre fnmode=2 au module qui s'appelle **hid_apple**. Ça sert à désactiver la touche fn de certains claviers au démarrage. | |
| Pour le faire automatiquement, on peut lancer cette commande : | |
| |
| sudo bash -c "echo 2 > /sys/module/hid_apple/parameters/fnmode" | |
| | |
| Si on la veut automatiquement configurée à chaque démarrage : | |
| echo options hid_apple fnmode=2 | sudo tee -a /etc/modprobe.d/hid_apple.conf | |
| sudo update-initramfs -u -k all | |
| |
| |
| ==== Lancer sa propre séquence grâce à un script ==== | ==== Lancer sa propre séquence grâce à un script ==== |
| |
| Voici un exemple de [[script_shell|script]] de démarrage pour lancer une séquence de programmes. | Voici un exemple de [[script_shell|script]] de démarrage pour lancer une séquence de programmes. |
| <code> | <code> |
| #!/bin/bash | #!/bin/bash |
| |
| Une autre méthode est de lancer un fichier .desktop existant via l'une des méthodes de cette page : [[https://ubuntuplace.info/questions/290/executer-un-fichier-desktop-dans-le-terminal|Exécution d'un fichier .desktop dans le terminal]] | Une autre méthode est de lancer un fichier .desktop existant via l'une des méthodes de cette page : [[https://ubuntuplace.info/questions/290/executer-un-fichier-desktop-dans-le-terminal|Exécution d'un fichier .desktop dans le terminal]] |
| | |
| | ==== Méthode system D ==== |
| | |
| | 1. Créer un fichier <MonService>.service dans $HOME/.config/systemd/user avec cette commande |
| | <code bash>systemctl --user edit <MonService> --full --force </code> |
| | qui ouvrira l'application [[https:nano|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 |
| | <code bash>systemctl --user edit <MonService> --full |
| | systemctl --user edit <MonService> </code> |
| | |
| | 2. Vérifier que le contenu du fichier est vraisemblable : |
| | <code bash>systemd-analyze verify <Monservice> $HOME/.config/systemd/user/<MonService>.service></code> |
| | |
| | 3. Faire une première exécution : |
| | <code bash>systemctl --user start <MonService></code> |
| | |
| | 4. Valider cette exécution pour le prochain démarrage de l'ordinateur : |
| | <code bash>systemctl --user enable <MonService></code> |
| | |
| | Voici un autre exemple du contenu de <Un fichier exécutable stocké dans mon $HOME> qui doit avoir la permission d'exécution |
| | <code bash>#!/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</code> |
| | |
| | |
| | |
| | |
| | |
| ===== Liste des applications démarrées par défaut (Unity) ===== | ===== Liste des applications démarrées par défaut (Unity) ===== |
| |
| |
| ^ Programme ^ Description ^ Statut ^ | ^ Programme ^ Description ^ Statut ^ |
| | AT SPI D-Bus Bus | "Assistive Technology Service Provider Interface" pour les fonctions d'accessibilité intégrée aux applications | Désactivable si vous n'avez pas besoin des fonctionnalités d'accessibilité | | | |
| | Backup Monitor (**Moniteur de sauvegarde**) | Sauvegarde planifiée du système à intervalle régulier | | | | Backup Monitor (**Moniteur de sauvegarde**) | Sauvegarde planifiée du système à intervalle régulier | | |
| | Bluetooth manager | Gestionnaire de connexions aux périphériques Bluetooth | | | | Bluetooth manager | Gestionnaire de connexions aux périphériques Bluetooth | | |
| | Certificate and key storage (**Stockage de certificats et de clés**) | Utilisé par le trousseau GNOME pour les applications nécessitant un certificat ou une clé de cryptage | Désactivable si vous n'utilisez pas de certificats de chiffrement | | | |
| | Chat (**Discussion**) | Affichage les notifications du logiciel Telepathy | | | | 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) | | | | Check for new hardware drivers | Vérifie s'il y a un nouveau composant matériel installé (autre qu'une clé/disque USB) | | |
| | [[:zeitgeist|Zeitgeist]] (**Zeitgeist Datahub**) | Enregistre dans un journal les activités de l'utilisateur et les événements de Gnome | | | | [[:zeitgeist|Zeitgeist]] (**Zeitgeist Datahub**) | Enregistre dans un journal les activités de l'utilisateur et les événements de Gnome | | |
| |
| Sources : [[http://askubuntu.com/questions/11415/which-startup-applications-can-i-safely-turn-off|ici]] et [[http://gnomeshell.wordpress.com/2011/08/28/manage-the-startup-applications/|là]]. | Sources : [[https://askubuntu.com/questions/11415/which-startup-applications-can-i-safely-turn-off|ici]] et [[http://gnomeshell.wordpress.com/2011/08/28/manage-the-startup-applications/|là]]. |
| ===== Voir aussi ===== | ===== Voir aussi ===== |
| * [[:demarrage|Comment Ubuntu démarre / le startup / le démarrage]] | * [[:demarrage|Comment Ubuntu démarre / le startup / le démarrage]] |
| * Discussion [[http://forum.ubuntu-fr.org/viewtopic.php?id=820|Lancer un programme au démarrage d'Ubuntu]] sur le forum ubuntu-fr. | * Discussion [[https://forum.ubuntu-fr.org/viewtopic.php?id=820|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). | * 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). |
| * [[http://forum.ubuntu-fr.org/viewtopic.php?id=415701|Lancer application au démarrage avec une temporisation]] | * [[https://forum.ubuntu-fr.org/viewtopic.php?id=415701|Lancer application au démarrage avec une temporisation]] |
| | * [[https://papy-tux.legtux.org/doc1367/index.html|Description des services]] |
| |
| ---- | ---- |
| //Contributeurs principaux : [[utilisateurs:mydjey]], [[utilisateurs:Vincent85]]// | //[[:Contributeurs]] : [[:utilisateurs:mydjey]], [[:utilisateurs:Vincent85]].// |