Mac Gnu-Screen no carga el archivo .bash_profile predeterminado
13
Tengo un montón de configuraciones personalizadas en mi bash_profile. cuando uso gnu-screen, me di cuenta de que mis pantallas no se ejecutan source /Users/disappearedng/.bash_profile. Intento poner la fuente /Users/disappearedng/.bash_profile en mi archivo .screenrc pero luego se queja de que alias no es un comando ... (supongo que screenrc necesita un comando específico de screenrc).
He intentado cambiar mi .bash_profile a .profile o .bash_rc. Nada de eso funciona.
El archivo .bash_profile (y también el archivo .profile) se carga para shells de inicio de sesión, los shells sin inicio de sesión usan .bashrc (sin símbolo _). Hay una línea en el archivo .screenrc que le dice a la pantalla qué shell generar al iniciar una ventana de pantalla (cuando no se inicia un programa específico como la aplicación de ventana). En mi archivo .screenrc, esto es así (incluidos los comentarios también):
# shell: Default process started in screen's windows.
# Makes it possible to use a different shell inside screen
# than is set as the default login shell.
# If begins with a '-' character, the shell will be started as a login shell.
shell -$SHELL
Verifique su archivo .screenrc y verifique que la línea de shell tenga el guión delante. Al tener ese símbolo de guión y forzar un shell de inicio de sesión, obtendrá su .bash_profile de origen. La variable $ SHELL en mi .screenrc está usando el valor de shell proporcionado por el shell que inicia la pantalla (generalmente para mí es bash).
En caso de que se lo esté preguntando, la mayor diferencia que he podido descubrir entre los shells de inicio de sesión versus no inicio de sesión es que normalmente se invoca un shell sin inicio de sesión para ejecutar scripts.
¡Ah gracias! Además, ¿hay alguna manera de hacerme saber fácilmente que esta ventana actual está dentro de la pantalla gnu?
desaparecido el
la opción hardstatus en el archivo .screenrc se puede usar para ayudar a asegurar que pueda identificar que está en la pantalla (junto con algunas otras configuraciones ingeniosas también entiendo). La página del manual de la pantalla debe tener los detalles sobre cómo configurarlo (no los conozco).
Matrix Mole
2
El abastecimiento .bash_profilees en realidad algo diferente que la aplicación de terminal Mac hace que la mayoría de las aplicaciones de terminal no hacen. ~/.bashrcSin embargo, la pantalla se lee cada vez que genera un nuevo shell.
Si cambia el nombre de ~/.bash_profilea ~/.bashrc(sin guión bajo entre bash y rc, como en su pregunta), se obtendrá.
Sin embargo, mi estrategia preferida es poner todos mis ajustes en el bashrc, y luego obtenerlo de bash_profileesta manera:
No necesita cambiar ningún archivo de configuración, si escribe todas sus configuraciones .bash_profile, como lo hace normalmente para configurar su terminal, y crea un enlace llamado .bashrcapuntando a su .bash_profilepara las sesiones de pantalla a través de:
$ ln -s ~/.bash_profile ~/.bashrc
Cualquier cambio realizado en uno de los archivos se almacena .bash_profilepero también es accesible para ellos .bashrc.
El único inconveniente es que no puede agregar configuraciones a solo uno de los archivos de configuración.
El abastecimiento
.bash_profile
es en realidad algo diferente que la aplicación de terminal Mac hace que la mayoría de las aplicaciones de terminal no hacen.~/.bashrc
Sin embargo, la pantalla se lee cada vez que genera un nuevo shell.Si cambia el nombre de
~/.bash_profile
a~/.bashrc
(sin guión bajo entre bash y rc, como en su pregunta), se obtendrá.Sin embargo, mi estrategia preferida es poner todos mis ajustes en el
bashrc
, y luego obtenerlo debash_profile
esta manera:fuente
No necesita cambiar ningún archivo de configuración, si escribe todas sus configuraciones
.bash_profile
, como lo hace normalmente para configurar su terminal, y crea un enlace llamado.bashrc
apuntando a su.bash_profile
para las sesiones de pantalla a través de:$ ln -s ~/.bash_profile ~/.bashrc
Cualquier cambio realizado en uno de los archivos se almacena
.bash_profile
pero también es accesible para ellos.bashrc
.El único inconveniente es que no puede agregar configuraciones a solo uno de los archivos de configuración.
fuente