Cuando inicio una terminal bash, mi .profile no se está ejecutando. No tengo un ~ / .bash_profile o un ~ / .bash_login, por lo que se supone que .profile debe ejecutarse, ¿verdad? ¿Qué más podría estar mal?
Cuando inicio una terminal bash, mi .profile no se está ejecutando. No tengo un ~ / .bash_profile o un ~ / .bash_login, por lo que se supone que .profile debe ejecutarse, ¿verdad? ¿Qué más podría estar mal?
Respuestas:
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. Otras conchas buscan .bashrc
Por lo tanto, puede poner las cosas que desea en cada instancia de shell en .bashrc, y posiblemente tener una referencia que las fuentes .bashrc en .profile.
Entonces: .bashrc:
stuff you want
final de .profile:
[ -n "$BASH" ] && [ -f ~/.bashrc ] && . ~/.bashrc
bash --login
. En su caso, parece simplemente ejecutar bash, que por defecto no activará un shell de inicio de sesión
Si está utilizando un escritorio gráfico, su administrador de escritorio debe obtener el .profile. Lightdm hace fuente .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 perfil. Kubuntu-12.10 probablemente usará lightdm. Ubuntu 12.04 usa lightdm para que / usr / sbin / lightdm-session fuentes .profile.
Creo que el camino a seguir es (1) establecer / exportar la configuración del entorno en ~ / .profile y (2) tener .profile originado por .bash_profile:
[[ -f ~/.profile ]] && . ~/.profile
(y no tener .bashrc originado por .profile o .bash_profile).
Ver también:
.profile
fuente al iniciar sesión, pero en realidad se pregunta cómo obtenerla bash
cuando lance un terminal (no al iniciar sesión)