.bashrc usado en gnome no solo terminal


1

Recientemente comencé a usar la distribución Anaconda Python para el desarrollo de software y quiero que sea la distribución Python predeterminada cuando ejecuto algo en el terminal. Para hacer esto, he agregado el directorio de binarios de Anaconda a mi archivo .bashrc:

export PATH="/opt/anaconda:$PATH"

Esto funciona bien

Sin embargo, ahora ciertas herramientas no funcionan en mi entorno de escritorio Gnome. No puedo ejecutar gnome-tweak-tool y no puedo abrir una terminal usando un atajo de teclado que asigné.

He rastreado este problema hasta el hecho de que estas operaciones ahora usan mi instalación de Anaconda y no la original, que tiene algunas bibliotecas adicionales instaladas (por ejemplo, 'gi').

Entonces, ¿cómo soluciono este problema? ¿Hay alguna forma de ejecutar las cosas solo al comienzo de una sesión de terminal y no para todo mi entorno gnomo?

Respuestas:


1

Una forma de hacerlo sería alias el comando python para usar anaconda en lugar de cambiar su ruta. En lugar de cambiar su camino, intente agregar:

alias python="/opt/anaconda"

a su archivo .bashrc. Esto debería hacer que Anaconda solo se ejecute cuando escriba "python" en el terminal, no cuando otra cosa intente usarlo. (alguien me corrija si me equivoco, pero esto debería funcionar)


0

La palabra que está buscando aquí es shell interactivo , que lee la entrada de un usuario y muestra la salida en un terminal. Esto contrasta con los shells no interactivos que ejecutan comandos desde un script sin ninguna entrada del usuario (los programas, scripts o entornos de escritorio ejecutan el shell de manera no interactiva).

En su .bashrcpuede probar fácilmente si el shell es interactivo (en bash se ha $-establecido en i; también puede probar si $PS1está definido) y luego ejecutar su comando solo en shells interactivos:

if [[ $- == *i* ]] # Test if the shell is interactive
then
    echo "Welcome in the interactive shell"
    export PATH="/opt/anaconda:$PATH"
fi

Los programas y entornos como el Gnome ignorarán las líneas anteriores, porque se ejecutan bash de forma no interactiva.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.