Poner fondo de color blanco en "Bash" Debian 9.3.0 Net-install

22 envíos / 0 nuevos
Último envío
#1 Dom, 07/01/2018 - 11:35
Bienve
Imagen de Bienve
Desconectado/a
se unió: 07/01/18

Poner fondo de color blanco en "Bash" Debian 9.3.0 Net-install

Estado: 
[SOLUCIONADO]

Edito: la solución aquí: https://exdebian.org/comment/4586#comment-4586

Un cordial saludo, y feliz año a todos/as.

He instalado Debian 9.3.0 Net-install sobre VirtualBox, para aprender a trabajar en el modo consola, de cara a crear y administrar servidores web.

Por defecto la consola (BASH), viene con el fondo negro, y quisiera que el fondo fuera blanco con la letras negras.

Fondo negro

He leído sobre la personalización de los colores del BASH de diferentes fuentes, y he visto varias formas de hacer cambios de color, pero en todas ellas cuando indico el color blanco, realmente no se ve blanco sino que se ve gris.

Por ejemplo, con el comando:

  • setterm --inversescreen on

o con los comandos:

  • setterm --background white
  • setterm --foreground black

Fondo gris

 

Entre otras fuentes consultadas, estas son las que me han servido de guía:

 

¿Conocéis alguna forma de que se vea realmente blanco tal y como os lo muestro a continuación?

Esta imagen ha sido editada con GIMP para cambiar el fondo gris por el blanco.

Fondo blanco con GIMP

Gracias de antemano

Dom, 07/01/2018 - 15:34
caliban
Imagen de caliban
Desconectado/a
moderador
se unió: 14/01/16

Fijate en   esto ;básicamente en la parte de modificar el listado de colores en $TERM, utilizando el archivo 

bashrc .

Los colores del terminal virtual depende de una lista de configuración de colores preestablecidos en hexadecimal ,

Quiza responda a este esquema .

Dom, 07/01/2018 - 15:51
moonwatcher
Imagen de moonwatcher
Desconectado/a
moderador
se unió: 21/01/16

Supongo que te refieres a un sistema sin entorno grafico, porque si lo tienes cualquier terminal es configurable desde editar --> preferencias.

¿has visto esta guia?

We were but stones. Your light made us stars

https://linuxveredas.blogspot.com.es/

Dom, 07/01/2018 - 18:28
Bienve
Imagen de Bienve
Desconectado/a
se unió: 07/01/18

Gracias caliban y moonwatcher por vuestro tiempo y aportaciones.

Debian lo tengo instalado sin entorno gráfico, que es como se instala la versión Net-install que he citado.

La guía que enlazas moonwatcher, la consulté cuando estuve buscando información y utiliza los códigos de colores que he indicado yo en este enlace, pero cuando introduces el comando para el fondo blanco, te lo pone gris.

echo -e "Default \e[107mWhite"

El enlace que has compartido caliban también lo había consultado, pero en este caso no puedo interpretar correctamente toda la información para hacer pruebas, por falta de conocimientos sobre el tema.

Dado que hay diferentes procedimientos para cambiar el color de la fuente y el fondo con comandos sencillos, debería ser sencillo encontrar uno para que el fondo sea blanco, pero no lo encuentro.

Seguiré buscando una solución.

Un saludo

Dom, 07/01/2018 - 22:10
rockyiii
Imagen de rockyiii
Desconectado/a
administrator
se unió: 11/01/16

Hola, por lo que veo en https://askubuntu.com/questions/147462/how-can-i-change-the-tty-colors hablan de que la tty esta en 8 colores, seguramente por eso el blanco lo toma como gris y en uno de los comentarios recomiendan poner en ~/.bashrc

nano ~/.bashrc

el siguiente contenido

if [ "$TERM" = "linux" ]; then
    echo -en "\e]P0232323" #black
    echo -en "\e]P82B2B2B" #darkgrey
    echo -en "\e]P1D75F5F" #darkred
    echo -en "\e]P9E33636" #red
    echo -en "\e]P287AF5F" #darkgreen
    echo -en "\e]PA98E34D" #green
    echo -en "\e]P3D7AF87" #brown
    echo -en "\e]PBFFD75F" #yellow
    echo -en "\e]P48787AF" #darkblue
    echo -en "\e]PC7373C9" #blue
    echo -en "\e]P5BD53A5" #darkmagenta
    echo -en "\e]PDD633B2" #magenta
    echo -en "\e]P65FAFAF" #darkcyan
    echo -en "\e]PE44C9C9" #cyan
    echo -en "\e]P7E5E5E5" #lightgrey
    echo -en "\e]PFFFFFFF" #white
    clear #for background artifacting
fi

a lo mejor asi, cuando pongas

setterm --background white
setterm --foreground black

white te lo tome como blanco

 

saludos...

Dom, 07/01/2018 - 22:31
Bienve
Imagen de Bienve
Desconectado/a
se unió: 07/01/18

Gracias rockyiii, pero tampoco funciona.

Antes de leer tu aportación he estado haciendo pruebas, y entre ellas, lo que me has indicado con una configuración de colores personalizada, y también con la que tu me has recomendado, pero nada.

De momento, no encuentro la forma de hacerlo.

Lun, 08/01/2018 - 10:45
rockyiii
Imagen de rockyiii
Desconectado/a
administrator
se unió: 11/01/16

otra forma que encontré es https://robologs.net/2016/03/31/como-colorear-el-output-de-la-terminal-en-linux/

por ejemplo:

echo -e "\e[0;107;30m"

igualmente el blanco no es blanco angry

saludos...

Lun, 08/01/2018 - 11:05
Bienve
Imagen de Bienve
Desconectado/a
se unió: 07/01/18

Gracias de nuevo rockyiii, también había probado con esos comandos, aunque ese enlace no lo había visto, y está realmente bien.

En el bash que tiene Debian el blanco es gris, es absurdo, quizá pase también en otras distribuciones. Estoy instalando CentOS 7 a ver si le sucede lo mismo.

No he sido el único que ha querido cambiar esto, y no ha podido, hasta ahora la mejor explicación sobre este problema la he leído aquí:

https://unix.stackexchange.com/questions/276201/how-do-i-make-the-terminal-background-bright-white

de Thomas E. Dickey. Me he puesto en contacto con él, a ver si tiene una solución para esto.

Saludos

Actualización 1: En CentOS 7 sucede lo mismo.

Actualización 2: En Gentoo también sucede lo mismo.

Lun, 08/01/2018 - 11:58
Devoto
Imagen de Devoto
Desconectado/a
colaborador
se unió: 17/04/16

Hola, y disculpa si tal vez esto suene tonto, ¿pero que tal si te instalas fbterm para usarla con el framebuffer?. Yo que tu crearía un fondo blanco con Graphics Magick que sea de la medida de resolución de tu pantalla, y finalmente le haces un alias a fbterm para que use tu imagen con fondo blanco y letras negras en el archivo .bashrc . Acá hay una buena guía sobre cómo configurarla.

Te dejo un ejemplo de alias:

 

alias renterm='fbterm-bi /home/ren/Imágenes/playa-rosa4.jpg -n "Droid Sans Mono" -s 14'

 

Además, con Fbterm bien configurada le puedes poner el wallpaper que quieras ya cuando te aburras del color blanco.

 

¡Saludos! smiley

firma_debian

Lun, 08/01/2018 - 12:36
Bienve
Imagen de Bienve
Desconectado/a
se unió: 07/01/18

Gracias por tu aportación Devoto, para nada suena tonta tu aportación, si realmente funciona sería un apaño interesante, pero lo ideal es que el fondo pueda ser blanco, en lugar de poner una imagen de fondo blanca.

He visto también un post tuyo donde preguntas por una alternativa a Fbterm, y te recomiendan Yaft.

Voy a probar Fbterm a ver que tal.

Un saludo

Lun, 08/01/2018 - 13:30
caliban
Imagen de caliban
Desconectado/a
moderador
se unió: 14/01/16

Fijate en   esto , cambian el código de la secuencia de escape de 8 bit, a 16  en donde aparecen los colores intensos ,en tu caso el blanco intenso ( blanco blanco) 

Lun, 08/01/2018 - 15:00
Bienve
Imagen de Bienve
Desconectado/a
se unió: 07/01/18

Gracias de nuevo caliban, he revisado el enlace y creo que es lo mismo que me ha sugerido rockyiii en un mensaje anterior, y no funciona.

Devoto, he instalado Fbterm, he leído man fbterm, y quería probar la configuración que hace del background y del foreground para ver si el blanco era blanco, pero los comandos no funcionan, ¿alguna idea de que sucede?

Lun, 08/01/2018 - 15:29
caliban
Imagen de caliban
Desconectado/a
moderador
se unió: 14/01/16

Bien si lees con atención el enlace, en una parte explican la diferencia en la codificación ,que es bien distinta al otro enlace que te ha puesto rockyiii, por que acá indican la secuencia para 16 bit,que incluyen los colores brillantes , en el resto de los enlaces usan siempre 8 bit.

De todos modos me parece que por defecto las tty no estan configuradas para soportar 15 bit ,

Si te fijas en este interesante articulo . abajo existe una table de comparación entre terminales ,,incluidas las tty , donde figura que no soportan 16 bit ,de inicio ;claro que si la pantalla tiene la capacidad de mostrar blanco absoluto ,debe haber un modo de lograrlo.Me pregunto si indicando a grub la  resolución del terminal lograrías algún resultado 

Por ejemplo :

GRUB_CMDLINE_LINUX="vga=0x305"

Usando la siguiente tabla :

Colores   640x400 640x480 800x600 1024x768 1280x1024 1600x1200
--------+-----------------------------------------------------
 4 bits |                  0x302      
 8 bits |  0x300   0x301   0x303    0x305    0x307     0x31C
15 bits |          0x310   0x313    0x316    0x319     0x31D
16 bits |          0x311   0x314    0x317    0x31A     0x31E
24 bits |          0x312   0x315    0x318    0x31B     0x31F

Se entiende que siempre estamos hablando de las tty No el modo gráfico.

Lun, 08/01/2018 - 16:01 (Responder a #13)
Devoto
Imagen de Devoto
Desconectado/a
colaborador
se unió: 17/04/16

Bienve wrote:
.

Devoto, he instalado Fbterm, he leído man fbterm, y quería probar la configuración que hace del background y del foreground para ver si el blanco era blanco, pero los comandos no funcionan, ¿alguna idea de que sucede?

 

Hola, creo que tal vez no te has mirado el archivo .fbtermrc, este mismo nos dice:

 

# default color of foreground/background text
# colores disponibles: 0 = negro, 1 = rojo, 2 = verde, 3 = café, 4 = azul, 5 = magenta, 6 = cyan, 7 = blanco
color-foreground=7
color-background=0

 

Entonces la orden a usar es:

 

fbterm -b 7 -f 0

 

Lo cual se verá así:

 

fbterm-en_blanco_-y-negro

 

Como ves, creo yo que quedaría mejor una imagen blanca (yo le pondría una como si fuera una hoja de libreta escolar o pergamino). A ver si me pongo a probar lo que te mencionaba al principio para que veas cómo es que queda smiley

 

Edito: Ya lo he hecho, aquí tienes el resultado, mostrando a w3m viendo la página de envíos recientes del foro:

 

w3m_en_blanco_y_negro

 

Supongo que es más o menos lo que esperabas/buscabas. ¡Ojalá te sirva! :)

firma_debian

Lun, 08/01/2018 - 16:31
Bienve
Imagen de Bienve
Desconectado/a
se unió: 07/01/18

Gracias de nuevo caliban por tu interés, el enlace que has indicado es el mismo que uno de los que puse como fuentes al publicar este tema.

He consultado muchos foros, consultas y documentación, y todavía no leído que nadie haya conseguido poner el fondo blanco (real, no gris). He visto y probado comandos para 8 bits, 16 bits, 256 bits y el blanco nunca es blanco, sino gris. He probado con setterm, con  echo ..., editando con nano el archivo oculto .bashrc, entre otras cosas, y nada funciona hasta el momento.

El blanco es gris en Debian, en CentOS, y en Gentoo, y hablo por supuesto de tty (sin entorno gráfico).

En tu anterior mensaje, citas un enlace en el que un usuario (H0tw1r3) responde sobre la necesidad de editar el código fuente del Kernel y compilar.

Teniendo en cuenta que se presenta el mismo problema en diferentes distribuciones GNU/Linux, es posible, que la imposibilidad de que el blanco sea blanco, se deba a una configuración del Kernel, y solo cuando instalas entornos gráficos o gestores de ventanas, el blanco real sea una opción en las consolas.

Existen diferentes emuladores de terminal, entre otros, bash y xterm.

He contactado con Thomas E. Dickey, que es el desarrollador de XTerm, el cual respondió a alguien que buscaba lo mismo que yo aquí, a ver si tiempo después de aquella respuesta, puede aportar alguna solución. He instalado XTerm, para aplicar su propuesta pero no se ejecuta, sigo con bash.

No parece ser algo sencillo de hacer.

Sigo buscando

 

Lun, 08/01/2018 - 17:08
caliban
Imagen de caliban
Desconectado/a
moderador
se unió: 14/01/16

Pero xterm , es un emulador de terminal  en modo gráfico ,no es el caso que vos necesitas .Y bash es un interprete de órdenes.

Lun, 08/01/2018 - 17:43 (Responder a #16)
Bienve
Imagen de Bienve
Desconectado/a
se unió: 07/01/18

Por lo que he ido leyendo, tanto bash como xterm, son emuladores de terminal (sin entorno gráfico), y existen mas.

Aunque quizá las fuentes no sean fiables.

Lun, 08/01/2018 - 21:30
Bienve
Imagen de Bienve
Desconectado/a
se unió: 07/01/18

Solucionado gracias a todos vosotros y a cobito del foro hardlimit: https://foro.hardlimit.com/topic/61960/poner-fondo-blanco-en-emulador-de-terminal-bash-en-debian-9/4

Devoto, justo cuando estaba probando a implementar la imagen blanca de fondo con fbterm, cobito me ha pasado el código que funcionaba con el fondo blanco. Muchas gracias por tu aportación, mas adelante haré pruebas con ella.

Explicación.

De todo esto:

if [ "$TERM" = "linux" ]; then
    echo -en "\e]P0232323" #black    -> this is the background color as well.
    echo -en "\e]P1803232" #darkred
    echo -en "\e]P25b762f" #darkgreen
    echo -en "\e]P3aa9943" #brown
    echo -en "\e]P4324c80" #darkblue
    echo -en "\e]P5706c9a" #darkmagenta
    echo -en "\e]P692b19e" #darkcyan
    echo -en "\e]P7e5e5e5" #lightgray
    echo -en "\e]P8222222" #darkgray
    echo -en "\e]P9982b2b" #red
    echo -en "\e]PA89b83f" #green
    echo -en "\e]PBefef60" #yellow
    echo -en "\e]PC2b4f98" #blue
    echo -en "\e]PD826ab1" #magenta
    echo -en "\e]PEa1cdcd" #cyan
    echo -en "\e]PFdedede" #white    -> this is the foreground color as well.
    clear                  #repaint the whole background with the new color
fi

Nos fijamos en "\e]P0 y "\e]P7. Los 6 dígitos siguientes se corresponden con el código de color hexadecimal, donde:

  • P0 es el color para el background (fondo), que por defecto es el código hexadecimal: 232323
  • P7 es el color para el foreground (texto), que por defecto es el código hexadecimal: e5e5e5

Cuando indicamos:

setterm --inversescreen on

lo que hacemos es invertir P0 y P7, de modo que el fondo pasa a ser el gris (e5e5e5) y el texto pasa a ser el negro (232323).

Cuando indicamos cualquier otro comando de los que hemos analizado haciendo referencia al blanco, mediante white o los códigos numéricos, lo que hace es llamar a P7, y como es gris, pues nunca muestra el blanco.

De modo que si queremos un fondo blanco con letras negras, buscamos primero en código hexadecimal el tipo de blanco y de negro que queremos. Para ello estos recursos son de utilidad:

Atención: es importante hacer los cambios de color en un orden en que el contraste del fondo y el texto sea legible, o directamente hacer el cambio de P0 y P7 a la vez.

 

Como ejemplo utilizaré para P0 el blanco: FFFFFF, y para P7 el negro: 232323. El código hexadecimal puede estar escrito en minúscula y/o mayúscula.

echo -en "\e]P0FFFFFF" echo -en "\e]P7232323"

y si no cambia de inmediato ejecutamos:

clear

 

Funciona correctamente en Debian 9 y en CentOS 7.

 

Actualización:

Si queremos que los cambios de color estén por defecto al reiniciar, seguiremos los siguientes pasos:

Ejecutamos

ls -a

Nos mostrará entre otros archivos, el .bashrc y el .bash_profile (este último en Debian 9 yo no lo tenía)

Ahora editamos o creamos el .bash_profile

Para editarlo:

nano ~/.bash_profile

Para crearlo:

nano .bash_profile

¿Y qué escribimos dentro?, pues depende de cuanto queramos personalizar el bash, podemos desde introducir todo el código que he citado arriba (que afecta desde P0 hasta PF), o para el ejemplo que he indicado en esta solución podemos escribir solo

echo -en "\e]P0FFFFFF"
echo -en "\e]P7232323"
clear

Guardamos el archivo con Ctrl+O, aceptamos y Ctrl+X para salir de nano. Reiniciamos la máquina y listo.

A mi me funciona sin darle permisos de ejecución:

chmod +x \.bash_profile

 

Si posteriormente queremos editar los colores de P0, P7 u otras P, editamos el archivo .bash_profile

Gracias a todos por vuestras aportaciones.

Saludos

Mar, 09/01/2018 - 05:41
moonwatcher
Imagen de moonwatcher
Desconectado/a
moderador
se unió: 21/01/16

Me alegro que lo hayas solucionado. Para que se ejecute al inicio puedes crear un script y hacer que se ejecute con crontab

https://blog.desdelinux.net/cron-crontab-explicados/

Aparte de eso, gracias por este hilo bien expuesto, bien desarrollado y bien explicado.

A ver si los nuevos aprenden indecision

Saludos.

We were but stones. Your light made us stars

https://linuxveredas.blogspot.com.es/

Mar, 09/01/2018 - 12:06
caliban
Imagen de caliban
Desconectado/a
moderador
se unió: 14/01/16

Pero, el código de la solución ya te lo di en este enlace .


7
down vote
This is entirely possible and is something I do on my Arch setup.

You could drop something like this in a shell script and have it run at login:

if [ "$TERM" = "linux" ]; then
    echo -en "\e]P0151515" # Black
    echo -en "\e]P1ac4142" # Red
    ...
    echo -en "\e]PEac4142" # Bright Cyan
    echo -en "\e]PFac4142" # Bright White
    clear # Clear artifacts
fi
The \e]P0 to \e]PF (base 16) are the escape sequences you need to set the 16 (8 half bright, 8 bright) colours. After which you put your desired replacement colour e.g. 151515.

Me reitero ,¿realmente leen los enlaces en profundidad y los exploran ? 

Mar, 09/01/2018 - 19:04
Bienve
Imagen de Bienve
Desconectado/a
se unió: 07/01/18

Gracias moonwatcher por tu amables palabras y por tu aportación para automatizar el script, probaré crontab.

caliban este es mi primer tema en vuestro foro, no deseo entrar en polémicas con nadie, pero me parece excesivo que me cuestiones así (y mas siendo moderador).

Desconozco lo que hacen otras personas, pero he ido analizando todo lo que habéis compartido quienes habéis querido ayudarme, valorando y respetando el tiempo que habéis puesto.

Varias horas antes que tu, rockyiii compartió un enlace conmigo que me llevaba al código correcto. Pero es que antes de que rockyiii me pasara el citado código, lo había consultado yo antes en la fuente que cito mas abajo, y lo había probado (lee comentario correspondiente). Todo esto nos llevaba a este código modificando el archivo .bashrc

if [ "$TERM" = "linux" ]; then
    echo -en "\e]P0222222" #black    -> this is the background color as well.
    echo -en "\e]P1803232" #darkred
    echo -en "\e]P25b762f" #darkgreen
    echo -en "\e]P3aa9943" #brown
    echo -en "\e]P4324c80" #darkblue
    echo -en "\e]P5706c9a" #darkmagenta
    echo -en "\e]P692b19e" #darkcyan
    echo -en "\e]P7ffffff" #lightgray
    echo -en "\e]P8222222" #darkgray
    echo -en "\e]P9982b2b" #red
    echo -en "\e]PA89b83f" #green
    echo -en "\e]PBefef60" #yellow
    echo -en "\e]PC2b4f98" #blue
    echo -en "\e]PD826ab1" #magenta
    echo -en "\e]PEa1cdcd" #cyan
    echo -en "\e]PFdedede" #white    -> this is the foreground color as well.
    clear                  #repaint the whole background with the new color
fi

Fuente: https://wiki.archlinux.org/index.php/User:Isacdaavid/Linux_Console

Pero nos faltaban datos para que funcionase:

  • El color del foreground es P7 y no PF.
  • Las citadas soluciones se hacían modificando el .bashrc, y lo he hecho en varias ocasiones y a mi no me funciona.

Quizá estuviera haciendo algo mal, puede ser, pero no lograba, ni he logrado que funcionase modificando el .bashrc

Me facilitaste el código correcto, pero después de que rockyiii lo hiciera y de que yo lo consultara en la citada fuente. Cuando le digo a Devoto que cobito (de HardLimit) me ha pasado el código correcto es porque me lo indica de forma que funciona, ejecutándolo directamente mediante un comando, y no me indica que implemente todos los códigos citados en el .bashrc que era lo que habíamos visto hasta entonces. Es en ese momento, cuando el fondo blanco funciona, y deduzco que P7 es el foreground en lugar de PF.

No has compartido conmigo una forma de hacerlo funcionar que yo pudiera reproducir, cosa que yo si que he explicado al detalle, para que otras personas se puedan beneficiar de todo el esfuerzo que hemos puesto todos los que nos hemos implicado en buscar la solución, a los que por supuesto he dado las gracias en todo momento (incluido a ti).

Te doy las gracias de nuevo por tus aportaciones, aunque no fueras el primero en indicar el código correcto, pero para mi la información todavía era insuficiente para lograr el objetivo, ya que no lograba que funcionase.

Un cordial saludo