GNU/Linux >> Tutoriales Linux >  >> Linux

¿Por qué se podría agregar ~/.profile a ~/.bash_profile?

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.

Relacionado:¿Cómo establecer una variable igual a la salida de un comando en GRUB2?
Linux
  1. ¿Qué es un TAM y por qué querrías ser uno?

  2. ¿Por qué es tan importante la sincronización al hacer una memoria USB de arranque de Linux?

  3. .bash_profile no se obtiene cuando se ejecuta Su?

  4. ¿Cuándo y por qué debo usar Apt-get Update?

  5. ¿La diferencia entre ~/.profile y ~/.bash_profile?

¿Qué es un Homelab y por qué debería tener uno?

Sincronizando el perfil de bash entre computadoras

¿Por qué recibo Permiso denegado cuando ejecuto ssh-add?

¿Por qué es posible voltear la pantalla?

¿Por qué debería uno usar sudo?

Reenvío de IP =¿cuándo y por qué es necesario?