В Debian/Ubuntu motd
настраивается в/etc/pam.d/sshd
:
session optional pam_motd.so motd=/run/motd.dynamic
session optional pam_motd.so noupdate
, что означает, что после успешного входа в систему система запустит что-то вроде:
cat /run/motd.dynamic
if [[ -f /etc/motd ]]; then cat /etc/motd; fi
где /etc/motd
— статическая часть (, только напечатанная, без источника ).
Дебиан 9 / Убунту 16.04:
Для генерации динамической части run-parts
используется для каталога /etc/update-motd.d
:
/usr/bin/env -i PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin run-parts --lsbsysinit /etc/update-motd.d
Для более читаемого кода вы можете использовать tput setaf {color number}
. Обратите внимание, что для сохранения цветов мы должны установить переменную TERM
.
#!/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)"
сохранить файл, например, как./etc/update-motd.d/10-uname
и убедитесь, что он исполняемый:
chmod +x /etc/update-motd.d/10-uname
Основные цвета пронумерованы:
Приведенный выше код генерирует :
В зависимости от вашего вкуса вы можете сделать вывод более красочным, используя lolcat
или заголовки из figlet
. Сгенерированный вывод использует стандартный синтаксис 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
Дебиан 8/Убунту 14.04
Динамическая часть обновляется с помощью /etc/init.d/motd start
, которая выполняется в соответствии с:
uname -snrvm > /var/run/motd.dynamic
Поскольку вы используете Debian, вашps
поддерживает комбинированные , поэтому -называемые «стиль BSD -» и «стиль Unix -» , вы можете использовать n
] вариант, который использует числа для WCHAN
иUSER
:
ps n -Af