65 votes

Pourquoi le fichier .profile n'apparaît pas à l'ouverture d'un terminal ?

Je viens d'installer Ubuntu 14.04.1 LTS.

Selon .profil,

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

Il n'y a pas de ~/.bash_profile ou ~/.bash_login.

Il ne semble pas que le fichier .profile soit source lors de l'ouverture d'un terminal.

  1. Pourquoi le fichier .profile ne s'affiche pas à l'ouverture d'un terminal ?
  2. Pourquoi .profile est-il là s'il n'est pas source ?
  3. Comment puis-je savoir/contrôler ce qui est sourcé lorsqu'un nouveau terminal est ouvert ?
  4. Lorsqu'un nouveau terminal est ouvert, fait-il un "login" ?
  5. Quel est le bon endroit pour ajouter $HOME/bin à mon chemin ? .bashrc ? Cela posera-t-il un problème parce que .profile a le même code ?

52voto

muru Points 180007
  1. Parce que les terminaux ne lancent généralement pas de shells de connexion par défaut. Ils disposent également d'options permettant d'exécuter des shells de connexion, qui font de la source .profile .
  2. Pour contrôler le comportement des shells de connexion.
  3. Dépend du Shell. Pour bash voir l'ensemble des fichiers de démarrage .
  4. Pas dans un certain sens (mise à jour des enregistrements de connexion, par exemple).
  5. Si vous avez un dossier appelé bin en $HOME la valeur par défaut .profile pour Ubuntu l'ajoute à votre PATH . Puisque .profile est généré lors de la connexion (même avec une connexion GUI), il devrait faire partie de votre fichier PATH pour les shells non-login lancés après une re-connexion. Il n'y a pas de problème si un répertoire apparaît deux fois dans PATH voir cette question sur U&L pour les détails.

24voto

Billious Points 341

J'ai découvert que je devais modifier le profil par défaut. Dans le terminal, cliquez sur Préférences > Profils > Modifier > Commande > Exécuter la commande en tant que login Shell.

Par la suite, de nouveaux terminaux s'approvisionneraient .profil script.

enter image description here

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X