ウェブサイト検索

Linux Fun - ターミナルで ASCII テキスト バナーを作成する方法


最近、ASCII-Art-Splash-Screenと呼ばれるプログラムを使用して、Linux ターミナルに事前定義された ASCII アートをランダムに表示する方法について説明しました。この記事では、FIGletTOIletという 2 つのコマンドライン ユーティリティを使用して、プレーン テキストから独自の魅力的な ASCII テキスト バナーを作成する方法を説明します。

こちらもお読みください: ターミナルで楽しむための 20 の面白い Linux コマンド

FIGlet は、通常のテキストから ASCII テキスト バナーや大きな文字を作成するためのシンプルなコマンドライン ユーティリティですが、TOIlet ( figlet) は、通常のテキストからカラフルな大きな文字を作成するためのコマンド ライン ユーティリティです。

Linux で Figlet とトイレット ツールをインストールして使用する方法

FIGlet ツールと TOIlet ツールを一緒に使用するには、まず、図に示すように、デフォルトのパッケージ マネージャーを使用して Linux システムにこれらのツールをインストールする必要があります。

sudo apt install figlet toilet    [On Debian/Ubuntu]
sudo yum install figlet toilet    [On CentOS/RHEL]
sudo dnf install figlet toilet    [On Fedora 22+]

インストールしたら、figlet を使用する基本的な方法は、図に示すように、バナーまたは大きなテキストとして変換するテキストを引数として指定することです。

figlet TecMint.com

 _____         __  __ _       _                        
|_   _|__  ___|  \/  (_)_ __ | |_   ___ ___  _ __ ___  
  | |/ _ \/ __| |\/| | | '_ \| __| / __/ _ \| '_ ` _ \ 
  | |  __/ (__| |  | | | | | | |_ | (_| (_) | | | | | |
  |_|\___|\___|_|  |_|_|_| |_|\__(_)___\___/|_| |_| |_|

出力の位置揃えを設定する

出力を中央に作成したい場合は、次のように -c フラグを使用します。

figlet -c TecMint.com

             _____         __  __ _       _                        
            |_   _|__  ___|  \/  (_)_ __ | |_   ___ ___  _ __ ___  
              | |/ _ \/ __| |\/| | | '_ \| __| / __/ _ \| '_ ` _ \ 
              | |  __/ (__| |  | | | | | | |_ | (_| (_) | | | | | |
              |_|\___|\___|_|  |_|_|_| |_|\__(_)___\___/|_| |_| |_|

さらに、出力を左側に設定するには -l を、右側に出力するには -r を使用します。

出力幅の定義

-w スイッチを使用して出力幅を制御することもできます。デフォルトの幅は 80 列です。

figlet -w 100 I Love TecMint.com

 ___   _                     _____         __  __ _       _                        
|_ _| | |    _____   _____  |_   _|__  ___|  \/  (_)_ __ | |_   ___ ___  _ __ ___  
 | |  | |   / _ \ \ / / _ \   | |/ _ \/ __| |\/| | | '_ \| __| / __/ _ \| '_ ` _ \ 
 | |  | |__| (_) \ V /  __/   | |  __/ (__| |  | | | | | | |_ | (_| (_) | | | | | |
|___| |_____\___/ \_/ \___|   |_|\___|\___|_|  |_|_|_| |_|\__(_)___\___/|_| |_| |_|

幅の広い端末を使用している場合は、-t スイッチを使用して端末の全幅を使用できます。

figlet -t TecMint.com

出力文字間にスペースを追加する

より明確な出力を得るには、-k フラグを使用して、印刷される文字の間に少しスペースを追加できます。示されているように、上と下の出力の違いを確認してください。

figlet -t -k I Love TecMint.com

 ___   _                        _____            __  __  _         _                            
|_ _| | |     ___ __   __ ___  |_   _|___   ___ |  \/  |(_) _ __  | |_     ___  ___   _ __ ___  
 | |  | |    / _ \\ \ / // _ \   | | / _ \ / __|| |\/| || || '_ \ | __|   / __|/ _ \ | '_ ` _ \ 
 | |  | |___| (_) |\ V /|  __/   | ||  __/| (__ | |  | || || | | || |_  _| (__| (_) || | | | | |
|___| |_____|\___/  \_/  \___|   |_| \___| \___||_|  |_||_||_| |_| \__|(_)\___|\___/ |_| |_| |_|

ファイルから入力を読み取る

コマンドラインにテキストを入力する代わりに、図に示すように -p オプションを使用してファイルからテキストを読み取ることができます。

echo "I wish I could chmod 644 my Girlfriend" >girlfriend.txt
figlet -kp < girlfriend.txt

 ___             _       _       ___                      _      _ 
|_ _| __      __(_) ___ | |__   |_ _|   ___  ___   _   _ | |  __| |
 | |  \ \ /\ / /| |/ __|| '_ \   | |   / __|/ _ \ | | | || | / _` |
 | |   \ V  V / | |\__ \| | | |  | |  | (__| (_) || |_| || || (_| |
|___|   \_/\_/  |_||___/|_| |_| |___|  \___|\___/  \__,_||_| \__,_|
                                                                   
       _                            _    __    _  _    _  _   
  ___ | |__   _ __ ___    ___    __| |  / /_  | || |  | || |  
 / __|| '_ \ | '_ ` _ \  / _ \  / _` | | '_ \ | || |_ | || |_ 
| (__ | | | || | | | | || (_) || (_| | | (_) ||__   _||__   _|
 \___||_| |_||_| |_| |_| \___/  \__,_|  \___/    |_|     |_|  
                                                              
                     ____  _        _   __        _                   _  
 _ __ ___   _   _   / ___|(_) _ __ | | / _| _ __ (_)  ___  _ __    __| | 
| '_ ` _ \ | | | | | |  _ | || '__|| || |_ | '__|| | / _ \| '_ \  / _` | 
| | | | | || |_| | | |_| || || |   | ||  _|| |   | ||  __/| | | || (_| | 
|_| |_| |_| \__, |  \____||_||_|   |_||_|  |_|   |_| \___||_| |_| \__,_|

出力フォントの変更

-f フラグを使用して、別のフォントを指定できます。フォントは、/usr/ に保存されている .flf または .tlf ファイルです。シェア/ フィグレットです。このように利用可能なフォントを確認できます。

ls /usr/share/figlet/

646-ca2.flc  646-es.flc   646-kr.flc   646-yu.flc  8859-9.flc	   
646-ca.flc   646-fr.flc   646-no2.flc  8859-2.flc  ascii12.tlf	   
646-cn.flc   646-gb.flc   646-no.flc   8859-3.flc  ascii9.tlf	  
646-cu.flc   646-hu.flc   646-pt2.flc  8859-4.flc  banner.flf	   
646-de.flc   646-irv.flc  646-pt.flc   8859-5.flc  bigascii12.tlf  
646-dk.flc   646-it.flc   646-se2.flc  8859-7.flc  bigascii9.tlf  
646-es2.flc  646-jp.flc   646-se.flc   8859-8.flc  big.flf	   

次に、特定のフォントを使用します。たとえば、図に示すようにフォント slant.tlf を使用します。

figlet -f slant "Sudo I Love You"

   _____           __         ____   __                       __  __           
  / ___/__  ______/ /___     /  _/  / /   ____ _   _____      \ \/ /___  __  __
  \__ \/ / / / __  / __ \    / /   / /   / __ \ | / / _ \      \  / __ \/ / / /
 ___/ / /_/ / /_/ / /_/ /  _/ /   / /___/ /_/ / |/ /  __/      / / /_/ / /_/ / 
/____/\__,_/\__,_/\____/  /___/  /_____/\____/|___/\___/      /_/\____/\__,_/

TOIlet を使用して色付きの ASCII テキスト バナーを作成する

トイレ コマンドは、テキストを大きなASCII 文字に変換するためにも使用されます。最も簡単な実行方法は次のとおりです。

toilet TecMint.com

mmmmmmm               m    m   "             m                               
   #     mmm    mmm   ##  ## mmm    m mm   mm#mm          mmm    mmm   mmmmm 
   #    #"  #  #"  "  # ## #   #    #"  #    #           #"  "  #" "#  # # # 
   #    #""""  #      # "" #   #    #   #    #           #      #   #  # # # 
   #    "#mm"  "#mm"  #    # mm#mm  #   #    "mm    #    "#mm"  "#m#"  # # #  

特定のフォントに変更するには、-f オプションを使用します。また、figlet と同じソースからフォントを読み取ります。

toilet -kf script TecMint.com

 ______       ,__ __                                       
(_) |        /|  |  |  o                                   
    | _   __  |  |  |      _  _  _|_   __   __   _  _  _   
  _ ||/  /    |  |  |  |  / |/ |  |   /    /  \_/ |/ |/ |  
 (_/ |__/\___/|  |  |_/|_/  |  |_/|_/o\___/\__/   |  |  |_/

上で見てきたフィグレットのオプションの多くはトイレにも当てはまります。詳細については、マニュアルページを参照してください。

man figlet
man toilet

こちらもお読みください: Neofetch – Linux システム情報をディストリビューション ロゴとともに表示します

まとめ

この記事では、バナーやメッセージの作成に役立つ、テキストを大きな ASCII テキスト文字に変換するための 2 つのコマンド ライン ユーティリティについて説明しました。以下のフィードバック フォームを使用して、これらのコマンドに関するご意見を共有してください。