Edité el predeterminado/etc/update-motd.d/00-header
, agregando un poco de color para que sea más fácil de leer:
printf "Welcome to \e[1;34m%s\e[0m \e[2m(%s %s %s)\e[0m\n" "$DISTRIB_DESCRIPTION" "$(uname -o)" "$(uname -r)" "$(uname -m)"
Puedo ejecutar esa línea de código muy bien en una terminal, pero cuando edito 00-header
con esta información, obtengo los códigos de escape impresos en texto sin formato:
Welcome to \e[1;36mUbuntu 13.10\e[0m \e[2m(GNU/Linux 3.11.0-23-generic i686)\e[0m
¿Cómo puedo agregar un toque de color al mensaje del día?
pico
Reemplacé la línea de código existente con la primera línea o código que incluí en mi ejemplo. El problema es que el analizador MOTD trató los\e
caracteres y los siguientes como texto sin formato en lugar de como caracteres especiales.Respuestas:
Suponiendo que está en Ubuntu, que utiliza un guión para ejecutar scripts del sistema:
Ese archivo,
/etc/update-motd.d/00-header
es ejecutado por/bin/dash
, (no/bin/bash
), que es bastante minimalista (y rápido);parece que no admite la "\ e" en este lugar; use "\ 033" en su lugar.
Es diferente cuándo expandir los códigos de escape.
fuente
En Debian / Ubuntu, el
motd
está configurado en/etc/pam.d/sshd
:lo que significa que al iniciar sesión correctamente, el sistema ejecutará algo como:
donde
/etc/motd
está la parte estática (solo impresa, sin fuente).Debian 9 / Ubuntu 16.04 :
Para generar la parte dinámica
run-parts
se utiliza para el/etc/update-motd.d
directorio:Para un código un poco más legible puede usar
tput setaf {color number}
. Tenga en cuenta que para preservar los colores tenemos que establecerTERM
variables.guardar el archivo como p. ej.
/etc/update-motd.d/10-uname
y asegúrese de que sea ejecutable:
Los colores básicos están numerados:
El código anterior genera:
Dependiendo de su gusto, puede producir resultados más coloridos utilizando
lolcat
o encabezados defiglet
. La salida generada utiliza la sintaxis bash estándar:Debian 8 / Ubuntu 14.04
La parte dinámica se actualiza utilizando lo
/etc/init.d/motd start
siguiente:fuente