Linuxでカスタムメッセージを設定する方法
目的
カスタムメッセージを設定します。
分布
これはどのLinuxディストリビューションでも動作します。
要件
ルート権限を持つ作動しているLinuxインストール。
難しさ
簡単
協定
- # – 指定されたLinuxコマンドは、rootユーザーとして直接実行するか、
sudoコマンドを使用して実行する必要があります。 - $ – 一般的な非特権ユーザーとして実行される必要があるLinuxコマンドを要求します
紹介
Unixシステム(Linuxを含む)でターミナルに初めてログインすると、通常はそのシステムの今日のメッセージ(MOTD)で迎えられます。今日のメッセージは、システムに関する重要な情報やシステム管理者からのメッセージを提供します。当然、もしあなたがシステム管理者であるなら、そのメッセージを設定するのはあなた次第です。自分のシステムであれば、メッセージに創造性を発揮して、あなたが選んだ情報を含めることができます。
まず第一に、ほとんどのシステムで `/etc/motd` ファイルにテキストを追加することで、簡単にプレーンテキストのメッセージを設定できます。しかし、それは退屈です。もっと多くのことができます。
Debian/Ubuntu
DebianおよびUbuntuシステムは、それぞれ独自の方法で物事を処理します。彼らは、異なるシェルスクリプトがある/etc/update-motd.d/というディレクトリを持っていて、それぞれ異なる情報の一部を表示します。これらは昇順の数値順に整理されており、その順序で実行されます。彼らの設定方法を見てみましょう。
00-headerフォントの番号が00なので、最初に実行されます。それがヘッダーであることは、良いことです。
これらのファイルを変更したり、実行させなくしたりしても自由です。それぞれは単なるシェルスクリプトなので、修正したり完全に削除したりできない重要なものはありません。
自分のスクリプトを追加し、番号システムで正しい順序に挿入することもできます。再度言いますが、それらは単なるスクリプトなので、ターミナルウィンドウに出力できるものは何でも自由に含めることができます。
例えば、ユーザーを挨拶するフッターを追加したい場合は、99-footerというファイルで次のようにすることができます。
#! /bin/bash
figlet -f slant Welcome!
それが実行可能であることを確認してください。そして、次回端末セッションまたはSSHでログインすると、通常のメッセージの下にそれが追加されているのが表示されるでしょう。
Bash なので、あなたが選んだ変数を使うことができます。
#! /bin/bash
HOSTNAME=`uname -n`
KERNEL=`uname -r`
CPU=`uname -p`
figlet -f digital Welcome to $HOSTNAME!
echo "You're running $KERNEL on $CPU"
あなたができることには、本当に限界がありません。
他の皆さん
ほとんどすべての他のディストリビューションは、異なる方法でそれを行います。彼らは/etc/profile.d/motd.shにある別のファイルを使用しています。
もう一度言いますが、そのファイルはシェルスクリプトで、ほぼすべてのことを行うために使用できます。Ubuntuが入れている他の多くのものに制約されていないので、実際に創造的になることができます。ログインするたびにランダムな引用を表示するスクリプトを試してみてください。
#! /bin/bash
MSGS=("Quote 1" "Quote 2" "Quote 3" "Quote 4")
MSG=${MSGS[$RANDOM % ${#MSGS[@]} ]}
figlet -f small $MSG;
echo "\n";
あるいは、fortune コマンドを使用してランダムな引用を生成することもできます。例:
#! /bin/bash
figlet -f small $( fortune )
物事を簡素化したり合理化したりしたい場合は、スクリプトにNeofetchを使用して、すべてのシステム情報を整然としたブロックで表示することを検討するかもしれません。
neofetch;
echo "\n";
選択は再びあなたのものです。
締めくくりの考え
あまり多くは言うことがありません。あなたのシステムの今日のメッセージを、あなたが選ぶものに自由に設定できます。もう一度言いますが、スクリプトが書ければ、何でもできます。ですので、自由に創造的になって実験してみてください。

