Colores del terminal OS X [cerrado]

Resuelto sa125 asked hace 14 años • 7 respuestas

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 -lao git status.

¿Cómo se pueden activar los colores en su caparazón?

sa125 avatar Oct 11 '09 16:10 sa125
Aceptado

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): .profileo .bashrco /etc/profile(según disponibilidad) - en su directorio de inicio y agregue el siguiente código:

export CLICOLOR=1
export LSCOLORS=GxFxCxDxBxegedabagaced

CLICOLOR=1simplemente 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 Profilespestaña y luego en la Textsubpestaña y verifique Display ANSI Colors.

Verificado en Sierra (mayo de 2017).

0xPixelfrost avatar Mar 30 '2011 10:03 0xPixelfrost

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 lssalida en color, puede agregar alias ls="ls -G".

Para probar, simplemente ejecute a source ~/.bash_profilepara actualizar su terminal actual.

Nota al margen sobre los colores: los colores están precedidos por una secuencia de escape \ey 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_profilearchivo en su directorio de inicio en el servidor. Si no hay ningún .bash_profilearchivo 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_profilearchivo existe. De lo contrario, simplemente créelo y se obtendrá automáticamente en su próximo inicio de sesión.

4levels avatar Nov 17 '2011 11:11 4levels