Ubuntuはログインしたときこんな情報が表示されてちょっといいなと思った。
Welcome to Ubuntu 14.04.3 LTS (GNU/Linux 3.13.0-48-generic x86_64)
* Documentation: https://help.ubuntu.com/
System information as of Mon Jan 4 10:22:31 UTC 2016
System load: 0.0 Processes: 96
Usage of /: 15.1% of 7.74GB Users logged in: 0
Memory usage: 5% IP address for eth0: 10.4.1.113
Swap usage: 0%
Graph this data and manage this system at:
https://landscape.canonical.com/
Get cloud support with Ubuntu Advantage Cloud Guest:
http://www.ubuntu.com/business/services/cloud
これはupdate-motd
という仕組みで動的にmotdを生成しているらしい。
同じことを他のディストロでもできないかと思って、とりあえずSSHでログインしたときのみ指定のコマンドを実行するように~/.profile(~/.zprofile)に書いてみた。
~/.profile
if [ -f /proc/$PPID/cmdline ]; then
if [ "$(command cut -d : -f1 < "/proc/$PPID/cmdline")" = "sshd" ] && [[ $- == *i* ]]; then
echo
command df -h | command awk '/^\/dev/ {gsub(/.[890][0-9]%/, "\x1b[1;31m&\x1b[0m"); print;}'
echo
command free -m
fi
fi
- 親プロセスがsshdであるか、インタラクティブシェルであるかを判定している。
- aliasの影響を受けないようにcommandを使っている。
- ディスク使用量が80~100%なら赤字で強調表示するようにしている。