web-dev-qa-db-fra.com

Comment fonctionnent les "applications de démarrage"?

Je suis intéressé à savoir comment fonctionnent les "Applications de démarrage", auxquelles vous pouvez accéder depuis le quai.

Je veux le savoir parce que je veux savoir la différence entre ajouter une entrée à ces endroits:

/etc/rc.local 
/etc/profile  
/home/$USER/.profile

et faire de même via cette application graphique. Ce qui me laisse perplexe, c'est que je ne vois pas le programme créer des entrées dans les fichiers mentionnés ci-dessus.

10
daltonfury42
  • /etc/rc.local

    # This script is executed at the end of each multiuser runlevel.
    # Make sure that the script will "exit 0" on success or any other
    # value on error.
    

    Essentiellement, le niveau d'exécution multi-utilisateur signifie lorsque vous démarrez.

  • /etc/profile

    Ce fichier n’est appelé que pour les shells de connexion car c’est son objectif spécifique.

    /etc/profile, exécuté par tous les shells compatibles Bourne (y compris bash et dash) lorsqu'il est lancé en tant que shell de connexion.

  • /home/$USER/.profile

    # ~/.profile: executed by the command interpreter for login shells.
    # This file is not read by bash if ~/.bash_profile or ~/.bash_login
    # exists.
    

    ~/.bashrc et ~/.bash_profile sont des scripts pouvant être exécutés lorsque bash est appelée. Le fichier ~/.bashrc est exécuté lorsque vous exécutez bash à l'aide d'un shell interactif qui n'est pas un shell de connexion. Le ~/.bash_profile n'est exécuté que lors de la connexion au shell.

    Source

    Je pense donc que .profile est exécuté si aucun de ceux-ci ne l’a été (pour une raison quelconque).

  • Enfin, votre méthode graphique est probablement en plaçant .desktop lanceurs dans /home/$USER/.config/autostart

    Ceci est exécuté à la connexion de l'utilisateur (connexion GUI uniquement, je pense - donc startx le serait, mais pas tty connexion).

8
Tim

Tout environnement de bureau respectant spécifications de freedesktop (aussi appelé XDG) doit utiliser applications à démarrage automatique lors de la connexion de l'utilisateur ou chaque fois qu'un support amovible est inséré.

Pour le démarrage automatique d'une application lors de la connexion de l'utilisateur, l'environnement de bureau recherche un fichier .desktop pour exécuter l'application spécifiée à cet emplacement. Ces fichiers .desktop se trouvent généralement dans

$XDG_CONFIG_DIRS/autostart

Mais nous pouvons aussi les avoir aux endroits suivants:

~/.config/autostart/ ## if $XDG_CONFIG_HOME is not set
etc/xdg/autostart/ ## if $XDG_CONFIG_DIRS is not set

Dans tous les cas, un fichier .desktop situé dans ~/.config/autostart est défini comme étant le fichier le plus important à exécuter, remplaçant ainsi les fichiers .desktop situés ailleurs.

Ubuntu remplit cette spécification et les utilisateurs peuvent ajouter des applications avec une approche graphique pour "Applications à démarrage automatique".

L'application peut être lancée automatiquement indépendamment du bureau à partir de divers autres emplacements, tels que ~/.profile pour le shell, dans /etc/rc.local pour s'exécuter au démarrage du système ou, plus récemment, à l'aide de systemd .

8
Takkat