Comment dire à l'écran GNU d'exécuter .bash_profile dans chaque nouvelle fenêtre?

18

Lorsque j'ouvre une nouvelle fenêtre dans l'écran GNU, elle s'exécute .bashrcmais pas .bash_profile. Dans ma configuration, il en résulte que certaines variables d'environnement ne sont pas configurées correctement dans cette fenêtre.

Comment puis-je dire à l'écran GNU de toujours fonctionner .bash_profileau lieu d' .bashrcouvrir une nouvelle fenêtre? (S'il vous plaît, ne me dites pas d'appeler .bash_profilede ma part .bashrc:)

user9474
la source

Réponses:

33

Vous voulez démarrer bash (ou n'importe quel shell) en tant que shell de connexion. Vous faites cela avec

shell -$SHELL

dans votre ~/.screenrc. La magie est -avant la coquille. Voir man screenrcpour plus de détails. (Eh bien, pas beaucoup plus de détails, car c'est à peu près tout.)

mattdm
la source
1
Lorsque je fais cela, il arrête le démarrage de l'écran dans le répertoire dans lequel j'utilise la commande. Comment faire pour que l'écran utilise le répertoire dans lequel je lance la commande comme répertoire dans lequel il démarre?
theonlygusti
Je n'ai pas cette page de manuel! Les documents en ligne sont cependant ici: gnu.org/software/screen/manual/screen.html#Shell . J'ai été confus au départ car le screenrc n'est relu que lorsqu'un écran est recréé - pas à chaque fois que vous créez une nouvelle fenêtre dans l'application
JonnyRaa
@theonlygusti Pour moi, le répertoire de travail est conservé lors de la configuration de .screenrc comme suggéré.
Holger Brandl
2

Vous devez soit à la source ~/.bash_profilede ~/.bashrcou mettre les choses dont vous avez besoin directement ~/.bashrcou mettre les choses en commun dans un troisième fichier source et il à la fois votre ~/.bashrcet ~/.bash_profile.

En pause jusqu'à nouvel ordre.
la source
O to les trouver? ... be cuz QUEL EST LE PROBLÈME (l'écran n'en trouve aucun)
THESorcerer
@THESorcerer: Sur mon système, les screensources ~/.bashrcsans la shellcommande indiquée dans l'autre réponse.
pause jusqu'à nouvel ordre.