Tous, j'ai besoin de définir des variables d'environnement dans mon ~/.profile
puisque j'exécute un programme (QtCreator) qui ne démarre pas un shell bash.
Je ne peux pas pour la vie de le faire fonctionner cependant. QtCreator n’affichera aucune des variables d’environnement que j’ai définies sous "Environnement système".
Comment puis-je faire ceci?
Edit: Ok, en fait, ma question est de savoir pourquoi je ne peux pas source my_environment
où
mon_environnement:
export SOME_PATH=blalalal
Si j'ajoute export SOME_PATH=blalalal
à mon ~/.profile
, cela fonctionne. Mais je ne peux pas utiliser source ~/.profile
Voici l'histoire:
~/.profile - Dans ce fichier, vous pouvez également placer des assignations de variables d’environnement, car elles sont exécutées automatiquement par le DisplayManager lors de la session de bureau du processus de démarrage ainsi que par le shell de connexion lorsqu’on se connecte à partir de la console textuelle.
( source )
solution: exporter les variables définies dans .profile
.
export VAR1 = foo
solution: mettez les variables dans .bashrc, ouvrez un terminal et démarrez QtCreator à partir de la ligne de commande. Il devrait avoir les variables. N'oubliez pas de les exporter:
export VAR1=foo
solution: créez un wrapper pour démarrer votre programme, un petit script que vous exécutez au lieu d'exécuter le programme directement:
#!/bin/bash
export VAR1=foo
program
ou
#!/bin/bash
VAR1=foo program
solution: éditez le fichier .desktop
utilisé pour lancer l'application en modifiant la ligne d'exécution
VAR1=foo program
au lieu de
program
(Je n'ai pas testé ça, mais ça devrait marcher)
solution: changer l'environnement. Vous avez raison dans votre commentaire, les programmes obtiennent un environnement, même s'ils ne le lisent pas depuis le .profile
. L’environnement à l’échelle du système se trouve dans /etc/environment
, mais vous pouvez également le définir par session, dans un fichier de votre répertoire personnel appelé .pam_environment
. Voir ici pour plus d'informations. En passant, cette page explique parfaitement ce que font tous les fichiers et quand utiliser lesquels.
Toutefois, je préfère les solutions 1 à 3, car elles modifient l’environnement du programme uniquement, et non de la session entière.
Déconnectez-vous et reconnectez-vous au système pour que le fichier .pam-environment
soit lu et que la variable d'environnement soit reconnue.