• Portada
    • Recientes
    • Usuarios
    • Registrarse
    • Conectarse
    1. Foro
    2. Bienve
    3. Mejor valorados
    B
    • Perfil
    • Siguiendo 0
    • Seguidores 0
    • Temas 1
    • Mensajes 6
    • Mejor valorados 1
    • Controversial 0
    • Grupos 0

    Mejores publicaciones hechas por Bienve

    • RE: Poner fondo blanco en emulador de terminal bash en Debian 9

      Solucionado.

      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:

      https://es.wikipedia.org/wiki/Colores_web
      https://www.w3schools.com/colors/colors_hexadecimal.asp
      

      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 (@cobito y compañeros de exDebian).

      Saludos

      publicado en Sistemas operativos
      B
      Bienve
    • 1 / 1