Canviar los colores de Bash

Wenas, hay veces en que no necesito las X (y aunque uso Fluxbox que es la mar de lijero) y es una perdida de tiempo/recursos haber de cargar con ellas cuando solo he de copiar / editar un fitchero o cosas por el estilo.

He decidido dejar de ladito GDM y arrancar directamente la sesion sin X, y si quiero X pos las cargo que es un momento. Hasta aqui todo bien, ahora viene mi duda.

El color Gris apagado de bash no me gusta nada y preferiria un verde-matrix como esto
Imagen

Ya se que es muy freak pero en fin. He estado mirando los .bashrc y creo que la cosa no va por aqui ya que el color se habría de aplicar antes de introducir el nombre de usuario y password. De .Xsesion o parecido no tengo por lo que no se que carai habria de tocar.

Haber si alguien sabe como canviar los coloringos [qmparto] .

Salut i gracias.
El tipo de letra lo puedes cambiar usando el script de arranque
/etc/init.d/consolefont
Lo que no se yo es si se podrá cambiar el color del terminal en el framebuffer. Digo yo que si se puede el fondo...
Eso si, la captura que adjuntas, a mi me da que es un fluxbox con un fondo muy retocado para que parezca lo que no es ;)
Raharu escribió:Eso si, la captura que adjuntas, a mi me da que es un fluxbox con un fondo muy retocado para que parezca lo que no es ;)


si X-D ,almenos eso parece n_n*
Que yo sepa, hay al menos una forma de terner un entorno de ventanas de texto: twin

Imagen

En la captura el twin está arracando desde una *term de las X11, pero se puede hacer perfectamente desde una terminal de texto.

En cuanto a la pregunta, pregunta ni idea: no sé cómo se cambia el color
existen unos códigos para colorear las letras en el bash, pro ejemplo yo uso ...
ROJO='\[\033[01;31;31m\]'
AZUL='\[\033[00;34;34m\]'
NONE='\[\033[00m\]'
BLANC='\[\033[01;37;37m\]'
AMAR='\[\033[00;33;33m\]'

y después con hacer ...
export PS1=''$AZUL'-=[ '$BLANC'\u'$AZUL'@'$BLANC'\h'$AZUL' | '$B
LANC'\W'$AZUL' ]=- '$BLANC

el último BLANC hacer que el color de lo que escribas sea blanco. La lista entera de los colores la tengo que tener por aqui, si te interesa avisame.
Un Saludo
Asthoth escribió:y después con hacer ...
export PS1=''$AZUL'-=[ '$BLANC'\u'$AZUL'@'$BLANC'\h'$AZUL' | '$B
LANC'\W'$AZUL' ]=- '$BLANC

el último BLANC hacer que el color de lo que escribas sea blanco.


Vale, lo de los codigos lo entiendo pero para meter el color que yo quiera por defecto? Solo he de cambiar del blanco/gris por defecto al verde, y en el export creo que hay bastantes cosas.

PD: auxiliar, ahora estoy emergiendo el twin pa probar [oki]
Si lo quieres todo verde, simplemente has de poner el codigo del color verde al principio, donde Asthoth ha puesto el primer azul y quitar todos los demás.

Saludos
Jojojo que bonito [babas] . He anyadido export PS1="\[\033[1;32m\]"
en mi .bash_profile y me ha salido lo que yo queria :P Lo que me he dejado que muestre el prompt y era un poco paranoico pero weno, lo que queria funciona.

Lo que pasa es que estos colores se me expanden por defecto en todas las terminales y si posteriormente inicio fluxbox y abro una aterm con mi combinacion aterm -ut -tr -shading 30 -sl 1000 -fg cyan -sr -trsb -ls pos de color cyan nada de nada, me pilla el mismo verde de bash, y sin el prompt encima [noop]

Nose si se puede solventar de alguna forma, continuare indagando.

PD1: Si quereis probar el coloringo sin haber de editar el .bash_profile podeis abrir una terminal y escribir lo del export de la primera linia. Despues podeis escribir todo lo que querais con el nuevo color [sonrisa] .

PD2: Gracias Asthoth y NeoRave

PD3: Algunas combinaciones mas
none="\[\033[0m\]"
black="\[\033[0;30m\]"
dark_gray="\[\033[1;30m\]"
blue="\[\033[0;34m\]"
light_blue="\[\033[1;34m\]"
green="\[\033[0;32m\]"
light_green="\[\033[1;32m\]"
cyan="\[\033[0;36m\]"
light_cyan="\[\033[1;36m\]"
red="\[\033[0;31m\]"
light_red="\[\033[1;31m\]"
purple="\[\033[0;35m\]"
light_purple="\[\033[1;35m\]"
brown="\[\033[0;33m\]"
yellow="\[\033[1;33m\]"
light_gray="\[\033[0;37m\]"
white="\[\033[1;37m\]"

Salut !
Gracias por los códigos quelcom y Asthoth, además de los ejemplos de Asthoth.

Por cierto quelcom, ese catalán ;) : canviar

PD: se sale esto de los colorines, también voy a probar el twin, gracias auxiliar.
[sonrisa] [sonrisa] [sonrisa] Ya me aviso kedao con lo de canviar, pero si mal no recuerdo no se puede editar el titulo del hilo. [toctoc]

De todas formas la culpa es mia con mi pseudo-castellano de P3.
Para los que querais jugar un poco más con los coloritos y el prompt aqui teneis un manual que os puede ser de utilidad:

http://www-106.ibm.com/developerworks/library/l-tip-prompt/
Bien pues parece ser que es el día de suerte de quelcom :-p porque según el enlace de CaT_Os_MandRoS con esto en ~/.bashrc:

if [ "$TERM" = "linux" ]
then
#we're on the system console or maybe telnetting in
export PS1="\[\e[32;1m\]\u@\H > \[\e[0m\]"
else
#we're not on the console, assume an xterm
export PS1="\[\e]2;\u@\H \w\a\e[32;1m\]>\[\e[0m\] "
fi

Sería suficiente para distinguir un prompt de otro.

Respecto a lo que se indica en el documento de añadir la línea:

source ~/.bashrc

en ~/.bash_profile, yo ya la tenía, lo único que me fallaba era que inicializaba las variables con el código del color después de exportar .bashrc, con lo que inicializándolas al principio solucionado.

Saludos y gracias por el link CaT_Os_MandRoS
quelcom creo que para poder evitar eso, puedes mediante variables de sistema controlar cuando es una tty o cuando es una terminal y segun ello exportar lo que mas te interese. Yo por ahora solo lo uso para saber cuando es un usuario o cuando es root para poner el color diferente y poder identificarlo. Todo es question de ir probando.
Un Saludo.
CaT_Os_ManDroS escribió:Para los que querais jugar un poco más con los coloritos y el prompt aqui teneis un manual que os puede ser de utilidad:

http://www-106.ibm.com/developerwor...y/l-tip-prompt/


Muchas gracias por el enlaze, irá la mar de bien para entretenerme [ok]

NeoRave y Asthoth: gracias por los apuntes sobre como distinguir una terminal (aterm, eterm, xterm...) de la consola. De echo ya me habia percatado en mi .bashrc y ya estaba taladrando por Jabber respecto al tema.

En lugar de if tengo unos elegantes cases que pego:

case $TERM in
xterm*|rxvt|Eterm|eterm)
PROMPT_COMMAND='echo -ne "\033]0;${USER}@${HOSTNAME%%.*}:${PWD/$HOME/~}\007"'
;;
screen)
PROMPT_COMMAND='echo -ne "\033_${USER}@${HOSTNAME%%.*}:${PWD/$HOME/~}\033\\"'
;;
esac

Añadiré en el case mi aterm y despues en la screen mis inventos.

Weno, creo que esto va por el buen camino.

Gracias a todos [oki][oki][oki]
quelcom escribió:En lugar de if tengo unos elegantes cases que pego:


Sí, algún día me pondré con el shell scripting y yo también me haré uno de esos. De momento funciono a base de copy & paste.

Por cierto, es curiosos lo de if-fi case-esac ... [+risas]

Saludos
14 respuestas