.profile no se ejecuta cuando inicio una terminal bash

.profile no se ejecuta cuando inicio una terminal bash

Cuando inicio una terminal bash, mi .profile no se ejecuta. No tengo ~/.bash_profile o ~/.bash_login, por lo que se supone que .profile debe ejecutarse, ¿verdad? ¿Qué más podría estar mal?

Respuesta1

No es un shell de inicio de sesión.

Si un shell es un shell de inicio de sesión, buscará .bash_profile si existe, luego .profile. Otros shells buscan .bashrc

Por lo tanto, puede colocar las cosas que desee en cada instancia de Shell en .bashrc y posiblemente tener una referencia que genere .bashrc en .profile.

Entonces: .bashrc:

stuff you want

final de .perfil:

[ -n "$BASH" ] && [ -f ~/.bashrc ] && . ~/.bashrc

Respuesta2

intenta usar ~/.bashrcen su lugar.

Respuesta3

Si está utilizando un escritorio gráfico, su administrador de escritorio debe obtener .profile. luzdmhacesource .profile ahora, al menos en Ubuntu. Ver:https://bugs.launchpad.net/ubuntu/+source/lightdm/+bug/794315

Con kdm y Kubuntu-12.04, se obtiene el archivo /etc/kde4/kdm/Xsession, que incluye el .profile. Kubuntu-12.10 probablemente usará lightdm. Ubuntu 12.04 usa lightdm para que /usr/sbin/lightdm-session obtenga .profile.

Creo que el camino a seguir es (1) establecer/exportar la configuración del entorno en ~/.profile y (2) tener .profile obtenido de .bash_profile:

[[ -f ~/.profile ]] && . ~/.profile

(y no tener .bashrc obtenido de .profile o .bash_profile).

Ver también:

información relacionada