Je cherche un moyen de définir des variables d'environnement arbitraires pour ma connexion graphique sur linux. Je ne parle pas de démarrer un terminal et d'exporter des variables d'environnement dans le terminal, car ces variables n'existent que dans ce terminal. Je veux savoir comment définir une variable d'environnement qui s'appliquera à tous les programmes démarrés dans ma session graphique.
En d'autres termes, quel est l'équivalent de Xorg ~/.bash_login
?
la source
.profile
travaillé.~/.kde/env/
et y mettre fin.sh
. Voir lastartkde
page de manuel.~/.gnomerc
, comme indiqué dans/etc/X11/Xsession.d/55gnome-session_gnomerc
.KDE lit le script de profil pour quel shell soit votre shell de connexion. SiSHELL=bash
, il lit~/.profile
. SiSHELL=zsh
, il lit~/.zprofile
. Je ne sais pas ce que ça fait pour les autres obus.Mon
.profile
fait plus que simplement définir des variables d'environnement, j'ai donc divisé les tâches de configuration de l'environnement dans un.setenv
fichier qui ne définit que l'environnement. Pour le faire définir l'environnement pour X11 sur Debian, j'ai ajouté un.xsessionrc
dans ma maison avec:Le fichier
.xsessionrc
à l'origine de la source est/etc/X11/Xsession.d/40x11-common_xsessionrc
.Utiliser les fichiers que bash utilise pour définir son environnement n'a pas fait ce que je voulais. Bien sûr, si je commençais un shell bash dans X11, j'obtiendrais l'environnement que je voulais. Cependant, je dois avoir mon PATH défini pour que mon environnement de bureau exécute le logiciel que je veux. Par exemple, j'utilise souvent des versions personnalisées de Firefox, installées en dehors des chemins habituels. Je veux que mon environnement de bureau démarre la bonne version plutôt que d'utiliser tout ce qu'il peut trouver sur les chemins par défaut. Pour ce faire, PATH doit être défini avant le démarrage de l'environnement de bureau.
la source
Xorg lui-même n'en a pas, car il ne démarre pas vos programmes - ce serait le gestionnaire d'affichage (gdm, xdm, xinit, startx, etc.) ou le gestionnaire de session (gnome-session, KDE, etc.) que vous utilisez , car ce sont les parents de vos processus de session de bureau. Malheureusement, il existe une variété de ceux-ci, chacun avec différents scripts de démarrage / fichiers dot, il n'y a donc pas de réponse unique. (Sous le modèle client / serveur de X, le serveur X peut même ne pas être sur la même machine que les clients, et il s'exécute souvent en tant que root au lieu de vous, donc c'est le mauvais endroit pour des paramètres comme les variables d'environnement.)
la source