ターミナルを立ち上げたらプロンプトと一緒に、バナー・アスキーアートが表示されるようにしたい!
基本的に.bashrc
や.zshrc
に書き込みを行って実現する(今回は.zshrc
に書く想定でいきます)。
(なんだか/etc/motd
や/etc/issue
っていう今回の内容をやるのに便利なファイルがあるらしいけど自分は.zshrc
に書きました。)
【方法1】 echoコマンド
.zshrc
に次を追記する:
echo ' ..:::::::::..'
echo ' ..:::aad8888888baa:::..'
echo ' .::::d:?88888888888?::8b::::.'
echo ' .:::d8888:?88888888??a888888b:::.'
echo ' .:::d8888888a8888888aa8888888888b:::.'
echo ' ::::dP::::::::88888888888::::::::Yb::::'
echo ' ::::dP:::::::::Y888888888P:::::::::Yb::::'
echo ' ::::d8:::::::::::Y8888888P:::::::::::8b::::'
echo ' .::::88::::::::::::Y88888P::::::::::::88::::.'
echo ' :::::Y8baaaaaaaaaa88P:T:Y88aaaaaaaaaad8P:::::'
echo ' :::::::Y88888888888P::|::Y88888888888P:::::::'
echo ' ::::::::::::::::888:::|:::888::::::::::::::::'
echo ' `:::::::::::::::8888888888888b::::::::::::::'\'
echo ' :::::::::::::::88888888888888::::::::::::::'
echo ' :::::::::::::d88888888888888:::::::::::::'
echo ' ::::::::::::88::88::88:::88::::::::::::'
echo ' `::::::::::88::88::88:::88::::::::::'\'
echo ' `::::::::88::88::P::::88::::::::'\'
echo ' `::::::88::88:::::::88::::::'\'
echo ' ``:::::::::::::::::::'\'\'
echo ' ``:::::::::'\'\'
この方法のメリットは色が付けられること。
(ちなみのこの髑髏はsetoolkitで表示されるアスキーアートの一つ)
echoコマンドと色についてはこちら:
しかし、クオーテーションとかエスケープに関する問題があるからそこは微調整が必要。
【方法2】 pythonの三重引用符を使う
これは別途pythonファイル用意する必要がある。
例えば、次のskull.py
というファイルをホームディレクトリに置いておく。
skull = """
..:::::::::..
..:::aad8888888baa:::..
.::::d:?88888888888?::8b::::.
.:::d8888:?88888888??a888888b:::.
.:::d8888888a8888888aa8888888888b:::.
::::dP::::::::88888888888::::::::Yb::::
::::dP:::::::::Y888888888P:::::::::Yb::::
::::d8:::::::::::Y8888888P:::::::::::8b::::
.::::88::::::::::::Y88888P::::::::::::88::::.
:::::Y8baaaaaaaaaa88P:T:Y88aaaaaaaaaad8P:::::
:::::::Y88888888888P::|::Y88888888888P:::::::
::::::::::::::::888:::|:::888::::::::::::::::
`:::::::::::::::8888888888888b::::::::::::::'
:::::::::::::::88888888888888::::::::::::::
:::::::::::::d88888888888888:::::::::::::
::::::::::::88::88::88:::88::::::::::::
`::::::::::88::88::88:::88::::::::::'
`::::::::88::88::P::::88::::::::'
`::::::88::88:::::::88::::::'
``:::::::::::::::::::''
``:::::::::''"""
print(skull)
そしたら、.zshrc
に次の一行を追記してやる:
python skull.py
pythonの三重引用符は、上記のように複数行をまとめてかつprintできる。
(python以外の言語でもできると思います。)
【方法3】 cowsayコマンド
cowsay
コマンドとlolcat
コマンドの合わせ技が人気。
例えば.zshrc
に次を追記する:
cowsay -f default "5crI27 k1ddy 1s jus71c3. I d0n'7 r31nv3n7 7h3 wh331." | lolcat -F 0.0 -a -d 1; echo ""
ターミナルを起動すると次のようになる:
作るの楽しくてこんな時間になってしまった😑 pic.twitter.com/j6zPIisYFw
— ハシビロコウ (@MASAbirokou) January 30, 2022
cowsay
コマンドのオプションでこの表示の動きの速さとかいじれます。
(lolcat
コマンドについて、-F 0.0
を指定したら単色になりました)
それぞれのインストール:
sudo apt-get install cowsay
sudo apt-get install lolcat
面白いスレッド見つけた
特にこれはメチャクチャかっこいい。
アスキーアートを作る
画像からアスキーアートへ変換してくれるサイトならいくらでもある。
挙げるとすればこことか:
でも画像だとバナー表示に向き不向きがあるので注意。
cowsay
についてはここが有能:
ちなみにMetasploitのロゴたちは/usr/share/metasploit-framework/data/logos/
にいます。