CUI環境のLinuxマシンでは、以下のタイミングでユーザーにメッセージを通知することができます。これらを使いこなせば、複数のユーザーが利用するマシンでも、効率よくユーザーにメッセージを伝えることができます。
- ログイン前
- ログイン時
- ログイン中
目次
動作環境
この記事は、以下の環境で実行した結果を基にしています。他のディストリビューションやバージョンでは、動作結果が異なる場合があることをご了承ください。
# cat /etc/redhat-release
CentOS Linux release 7.4.1708 (Core)
ログイン前のメッセージ
CentOS 7では、ログイン画面に以下のようなメッセージが表示されています。ここに表示されている内容は「/etc/issue」に記載されている内容に従って表示されています。
「/etc/issue」を編集することで、表示する内容を任意に設定することができます。
ログイン時のメッセージ
ユーザーがログインしたときに表示したいメッセージは「/etc/motd」に記載します。サーバーのメンテナンス情報など、マシンにログインするすべてのユーザーに伝えたいことがあるときに利用できます。
ログイン中のユーザーへメッセージ
ログイン中のすべてのユーザーにメッセージを送りたいときは「wall」もしくは「shutdown -k now "メッセージ"」を利用します。
wallコマンド
wallコマンドで、ユーザーにメッセージを送るときは以下のようにコマンドを実行します。
# wall "The system will shutdown soon."
CentOS 7のwallコマンドでは、日本語が文字化けするようです。
ちなみに、改行を含む複数行を送りたいときは、wallコマンドを単独で実行します。すると、キーボードからの入力待ちとなるので、メッセージを入力し、最後に[Ctrl]+[D]キーで入力したメッセージを送信します。
shutdownコマンド
shutdownコマンドで、ユーザーにメッセージを送るときは以下のようにコマンドを実行します。
# shutdown -k +1 "1時間後にサーバーを再起動します。"
CentOS 7で「-k」オプションを使用する場合は、時間指定で「now」や「+0」を指定すると、メッセージを送信することができないようです。
あとがき
複数のユーザーがログインするようなLinuxサーバーでは、利用価値がありそうですが私のような個人用途ではほぼ使いませんね。