Colores del terminal OS X [cerrado]
Acabo de adquirir una Mac después de trabajar con Ubuntu Linux durante algún tiempo. Entre las muchas cosas que estoy tratando de resolver está la ausencia de colores en la ventana de mi terminal, como los que se muestran (en Linux) cuando se ejecuta ls -la
o git status
.
¿Cómo se pueden activar los colores en su caparazón?
Aquí hay una solución que encontré para habilitar los colores globales del terminal .
Edite su .bash_profile
(desde OS X 10.8) - o (para 10.7 y versiones anteriores): .profile
o .bashrc
o /etc/profile
(según disponibilidad) - en su directorio de inicio y agregue el siguiente código:
export CLICOLOR=1
export LSCOLORS=GxFxCxDxBxegedabagaced
CLICOLOR=1
simplemente permite colorear su terminal.
LSCOLORS=...
especifica cómo colorear elementos específicos.
Después de editar .bash_profile
, inicie una Terminal y fuerce los cambios ejecutando:
source ~/.bash_profile
Luego vaya a Terminal > Preferences
, haga clic en la Profiles
pestaña y luego en la Text
subpestaña y verifique Display ANSI Colors
.
Verificado en Sierra (mayo de 2017).
Puede utilizar la sintaxis basada en Linux en uno de sus scripts de inicio. Acabo de probar esto en una caja OS X Mountain Lion.
p.ej. en tus~/.bash_profile
export TERM="xterm-color"
export PS1='\[\e[0;33m\]\u\[\e[0m\]@\[\e[0;32m\]\h\[\e[0m\]:\[\e[0;34m\]\w\[\e[0m\]\$ '
Esto le brinda un bonito mensaje de color. Para agregar la ls
salida en color, puede agregar alias ls="ls -G"
.
Para probar, simplemente ejecute a source ~/.bash_profile
para actualizar su terminal actual.
Nota al margen sobre los colores: los colores están precedidos por una secuencia de escape \e
y definidos por un valor de color, compuesto [style;color+m]
y envuelto en una []
secuencia de escape. p.ej.
- rojo =
\[\e[0;31m\]
- rojo negrita (estilo 1) =
\[\e[1;31m\]
- coloración clara =
\[\e[0m\]
Siempre agrego un esquema de color ligeramente modificado en el .bash_profile de la raíz para que el nombre de usuario sea rojo, así siempre veo claramente si he iniciado sesión como raíz (útil para evitar errores si tengo muchas ventanas de terminal abiertas).
En /root/.bash_profile
:
PS1='\[\e[0;31m\]\u\[\e[0m\]@\[\e[0;32m\]\h\[\e[0m\]:\[\e[0;34m\]\w\[\e[0m\]\$ '
Para todas mis cuentas SSH en línea, me aseguro de poner el nombre de host en rojo para distinguir si estoy en una terminal local o remota. Simplemente edite el .bash_profile
archivo en su directorio de inicio en el servidor. Si no hay ningún .bash_profile
archivo en el servidor, puede crearlo y debe obtenerse al iniciar sesión.
Si esto no funciona como esperaba, lea algunos de los comentarios a continuación, ya que no uso MacOS con mucha frecuencia.
Si desea hacer esto en un servidor remoto, verifique si el ~/.bash_profile
archivo existe. De lo contrario, simplemente créelo y se obtendrá automáticamente en su próximo inicio de sesión.