Al instalar RVM, aparece el siguiente mensaje:
* WARNING: You have '~/.profile' file, you might want to load it,
to do that add the following line to '/home/dotancohen/.bash_profile':
source ~/.profile
Estoy preocupado porque mi archivo ~/.profile contiene xmodmap ~/.Xmodmap
que obviamente no quiero ejecutar (intercambiando mis teclas CapsLock y ESC) cada vez que abro un nuevo shell.
¿Por qué los sabios desarrolladores de RVM podrían sugerir buscar .profile
? en .bash_profile
?
Respuesta aceptada:
.profile
y .bash_profile
son idénticos en términos de cuándo deben ejecutarse:se ejecutan cuando inicia sesión. La diferencia es que solo bash ejecuta .bash_profile
; Los shells de estilo Bourne (guión, ksh, etc.) ejecutan .profile
. Bash mismo ejecuta .profile
si .bash_profile
no existe.
Incluso si tiene bash como shell de inicio de sesión, .profile
es a menudo el que se ejecuta cuando inicia sesión en modo gráfico: muchas distribuciones configuran el script de inicio de sesión X para ejecutarse bajo sh
y carga .profile
.
De ahí el consejo de usar .profile
en lugar de .bash_profile
para hacer cosas como definir variables de entorno. A menos que necesite absolutamente funciones específicas de bash, simplemente coloque todo en .profile
. Pero incluso si lo hace, hay una razón para mantener un .bash_profile
, que es que cuando bash lo carga, no carga .bashrc
, incluso si es interactivo. Por lo tanto, para la mayoría de las personas, ~/.bash_profile
debe constar de estas dos líneas:
. ~/.profile
case $- in *i*) . ~/.bashrc;; esac
No debe ejecutar xmodmap
de .profile
. Esto no se ejecuta cuando abre un nuevo shell, pero se ejecuta, por ejemplo, cuando inicia sesión de forma remota con SSH con reenvío X11. Desafortunadamente, no hay un archivo estándar que se carga cuando inicia sesión en modo gráfico. Debian carga ~/.xsessionrc
(Creo que esto se aplica a todos los administradores de visualización, excepto a Gdm, que carga ~/.xprofile
en cambio); otras distribuciones tienen diferentes configuraciones. Si necesita portabilidad de distribución cruzada, puede ser más fácil configurar su entorno de escritorio para ejecutar xmodmap
cuando empieza Si todo lo que está haciendo es intercambiar Bloq Mayús y Ctrl, esto se puede hacer con la configuración de XKB a la que la mayoría de los entornos de escritorio modernos proporcionan una interfaz.