GNU/Linux >> Tutoriels Linux >  >> Linux

Le terminal Gnome est-il un type de shell sans connexion ?

Selon la réponse à Que sont les shells de connexion et sans connexion ? sur Ask Ubuntu, GNOME Terminal est un type de shell sans connexion.
Comme le souligne l'excellent livre, A Practical Guide to Fedora and Red Hat Enterprise Linux, 6th Edition :

un shell interactif sans connexion exécute les commandes dans le fichier ~/.bashrc. Le fichier ~/.bashrc par défaut appelle /etc/bashrc.

En conséquence, /etc/profile ne seront pas traités dans un shell sans connexion. Cependant, j'ai trouvé que j'avais ajouté le chemin d'accès à la maison Java au PATH
variable et, lorsque j'utilise le terminal GNOME et lance la commande java , tout se passe bien. Aussi, la valeur de PATH variable est la même que la valeur que j'ai définie dans /etc/profile .

Au vu des faits mentionnés ci-dessus, il y a un conflit, qu'est-ce qui ne va pas dans ma compréhension ?

Réponse acceptée :

Lorsque vous vous connectez à votre session x via un gestionnaire d'affichage ou dans un tty, /etc/profile est (généralement - apparemment c'est dans votre cas, bien que certains shells graphiques ne le lisent pas) provenant de votre programme shell. Après cela, un fichier local (je suppose que vous utilisez bash ici) ~/.bash_profile , ~/.bash_login ou ~/.profile sera source, et toutes les variables d'environnement définies ici remplaceront /etc/profile pour l'utilisateur actuel. Cet environnement est hérité par n'importe quel shell que vous ouvrez dans la session. C'est pourquoi nous pouvons définir des variables d'environnement, telles que votre PATH, dans ces fichiers.

Lorsque vous ouvrez gnome-terminal, oui par défaut, cela démarre un shell sans connexion, mais il hérite de votre environnement utilisateur déjà chargé à partir du shell de connexion ou du shell graphique. Depuis ~/.bashrc est généré lors du démarrage d'un shell interactif (par exemple, l'ouverture de gnome-terminal), il peut être utilisé pour remplacer certains éléments de l'environnement (tels que PS1).

(gnome-terminal lui-même est une application, pas un shell)


Linux
  1. Différence entre le shell de connexion et le shell sans connexion ?

  2. Comment tester quel shell j'utilise dans un terminal ?

  3. Coloriser votre environnement terminal et shell ?

  4. Linux - Le terminal Gnome ne démarre pas ?

  5. Changer la couleur d'arrière-plan du terminal Gnome à la volée ?

Comment utiliser les applets d'indicateur sur GNOME Shell

Comment déplacer les notifications du shell GNOME

Comment changer la police du shell GNOME

Comment installer Vanilla GNOME Shell sur Ubuntu 17.10

Comment thématiser GNOME Shell 3.16 (en cinq étapes simples)

Comment utiliser les extensions GNOME Shell [Guide complet]