Saltar al contenido

¿Cómo utilizo los colores en el MOTD?

Solución:

Suponiendo que está en Ubuntu, que usa dash 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 no soportar el “mi” en este lugar – use ” 033″ en lugar de.

Es diferente cuándo expandir los códigos de escape.

En Debian / Ubuntu, el motd está configurado en /etc/pam.d/sshd:

session    optional     pam_motd.so  motd=/run/motd.dynamic
session    optional     pam_motd.so noupdate

lo que significa que al iniciar sesión correctamente, el sistema ejecutará algo como:

cat /run/motd.dynamic
if [[ -f /etc/motd ]]; then cat /etc/motd; fi

dónde /etc/motd es la parte estática (solo impresa, no de origen).

Debian 9 / Ubuntu 16.04:

Para generar la parte dinámica run-parts se utiliza para /etc/update-motd.d directorio:

/usr/bin/env -i PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin run-parts --lsbsysinit /etc/update-motd.d

Para un código un poco más legible, puede usar tput setaf {color number}. Tenga en cuenta que para conservar los colores tenemos que configurar TERM variable.

#!/bin/sh
export TERM=xterm-256color

read one five fifteen rest < /proc/loadavg
echo "$(tput setaf 2)
Kernel: `uname -v | awk -v OFS=' ' '{print $4, $5}'`
$(tput setaf 4)Load Averages......: ${one}, ${five}, ${fifteen} (1, 5, 15 min)
$(tput setaf 5)
 ______________
< Hello World! >
 --------------
        \   ^__^
         \  (oo)\_______
            (__)\       )\/\
                ||----w |
                ||     ||

$(tput sgr0)"

guardar el archivo como, por ejemplo, /etc/update-motd.d/10-uname

y asegúrese de que sea ejecutable:

chmod +x /etc/update-motd.d/10-uname

Los colores básicos están numerados:

  • 1 – rojo
  • 2 – Verde
  • 3 – amarillo
  • 4 – Azul
  • 5 – Magenta
  • 6 – Cian
  • 7 – Blanco

El código anterior genera:
motd de color bash

Dependiendo de su gusto, puede producir impresiones más coloridas usando lolcat o encabezados de figlet. La salida generada usa la sintaxis estándar de bash:

^[(B^[[m
^[[32m
Kernel: 4.9.65-3+deb9u2 (2018-01-04)
^[[34mLoad Averages......: 0.04, 0.05, 0.05 (1, 5, 15 min)
^[[35m
 ______________
< Hello World! >
 --------------
           ^__^
           (oo)_______
            (__)       )/
                ||----w |
                ||     ||

^[(B^[[m

Debian 8 / Ubuntu 14.04

La parte dinámica se actualiza usando /etc/init.d/motd start que ejecuta lo siguiente:

uname -snrvm > /var/run/motd.dynamic
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *