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
静的な部分はどこにありますか(印刷のみで、調達されません)。
Debian 9 / Ubuntu 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
基本色には番号が付けられています:
- 1 –赤
- 2 –緑
- 3 –黄色
- 4 –青
- 5 –マゼンタ
- 6 –シアン
- 7 –白
上記のコードは以下を生成します:
好みに応じて、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
Debian 8 / Ubuntu 14.04
動的部分は/etc/init.d/motd start
、次を実行することを使用して更新されます。
uname -snrvm > /var/run/motd.dynamic