Comment fonctionnent les «applications de démarrage»?

10

Je souhaite savoir comment fonctionnent les "applications de démarrage" auxquelles vous pouvez accéder depuis le dock.

Je veux savoir cela parce que je veux connaître 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 GUI. Ce qui m'intrigue, c'est que je ne vois pas le programme créer des entrées dans les fichiers mentionnés ci-dessus.

daltonfury42
la source

Réponses:

8
  • /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 est appelé uniquement pour les shells de connexion, car c'est son objectif spécifique.

    /etc/profile, exécuté par tous les shells compatibles Bourne (y compris bashet dash) lorsqu'il est démarré 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.
    

    Les deux ~/.bashrcet ~/.bash_profilesont des scripts qui peuvent être exécutés lorsque bash est invoqué. Le ~/.bashrcfichier est exécuté lorsque vous exécutez bash à l'aide d'un shell interactif qui n'est pas un shell de connexion. Le ~/.bash_profileseul est exécuté pendant un shell de connexion.

    La source

    Je pense donc qu'il .profileest exécuté si aucun de ceux-ci ne l'était (pour une raison quelconque).

  • Enfin, votre méthode GUI met probablement des.desktop lanceurs dans/home/$USER/.config/autostart

    Ceci est exécuté à la connexion de l'utilisateur (connexion GUI uniquement, je pense - il en startxserait de même mais pas de ttyconnexion).

Mes pronoms sont He / Him

Tim
la source
Les commandes .profile ne seront-elles pas exécutées lors de la connexion à l'interface graphique?
daltonfury42
@ user3073656 hmmm comment s'appelle l'application GUI?
Tim
Désolé, erreur imprudente! Tu avais raison.
daltonfury42
@ user3073656 modifié
Tim
8

Tout environnement de bureau suivant les spécifications freedesktop (alias XDG) doit utiliser des applications de démarrage automatique lors de la connexion de l'utilisateur ou chaque fois qu'un support amovible a été inséré.

Pour démarrer automatiquement une application lors de la connexion de l'utilisateur, l'environnement de bureau recherche un .desktopfichier pour exécuter l'application qui y est spécifiée. Ces .desktopfichiers se trouvent généralement dans

$XDG_CONFIG_DIRS/autostart

Mais nous pouvons également 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 .desktopfichier situé dans ~/.config/autostartest défini comme étant le fichier le plus important à exécuter, remplaçant ainsi les .desktopfichiers situés dans d'autres emplacements.

Ubuntu remplit cette spécification et les utilisateurs peuvent ajouter des applications avec une approche GUI pour "Autostart Applications".

L'application peut être démarrée automatiquement indépendamment du bureau à partir de divers autres emplacements, par exemple ~/.profilepour le shell, /etc/rc.localpour s'exécuter au démarrage du système ou, plus récemment, en utilisant systemd .

Takkat
la source
L'ajout des commandes de cette façon est préférable car cela ne prend littéralement pas de temps par rapport au fichier .profile où nous ajoutons nos commandes de démarrage. J'ai testé les deux sur mon Dell Inspiron 7560 avec Ubuntu 16.04 et cela semble mieux.
Jasser
Je suppose également que c'est mieux que de modifier le fichier / etc / profile car il n'est invoqué que pour les shells de connexion, c'est-à-dire après le démarrage de l'environnement de bureau. Ouais, j'ai testé ça aussi. J'avais raison.
Jasser