How to show ASCII art at the top of the terminal when it's opened?

124,447

Solution 1

Open your terminal with CTRL+ALT+T and type as

nano ~/.bashrc

There type as

echo " Hi Zignd" then close and save it.

then type this command to reload bashrc .

source ~/.bashrc

You will what you want.

for example :I made my self.

enter image description here

Solution 2

To extend @snow's answer, put the code below from the very first line of your .bashrc. And be proud to be ubuntu user :)

echo "MMMMMMMMMMMMKlxMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMW0occlxNM"
echo "MMMMMMMMMMMMOcxMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMKOXMMMMMMMMMMMMMMMMMNdcoxkOlc0"
echo "MMMMMMMMMMMMOcxMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMdcOMMMMMMMMMMMMMMMMMkoO0lckkcl"
echo "dxWMMMM0d0MMOcoxdooxONMMMOdXMMMMXdkMMWkxdoodxONMMMdcldddkMXdxWMMMM0dKM0coOxk0xcd"
echo "ccNMMMMxckMMOco0XNXkclKMMxc0MMMMKcoMMNllKXXXkclXMMdcxKKKXMKclNMMMMkc0MM0oclldokN"
echo "ccNMMMMxckMMOcxMMMMMOclWMxc0MMMMKcoMMNllWMMMMdcOMMdcOMMMMMKclNMMMMkc0MMMMNXXNWMM"
echo "ccNMMMMxckMMOcxMMMMMKccNMxc0MMMMKcoMMNllWMMMMxckMMdcOMMMMMKclNMMMMkc0MMMMMMMMMMM"
echo "lcKMMMMxckMMOcxMMMMWdcxMMkcxMMMMKcoMMNllWMMMMkckMMxckMMMMMNccKMMMMkc0MMMMMMMMMMM"
echo "0lcxkkklckMMOclkOkxlckWMMNocdkkkdcoMMNllWMMMMkckMMXlcxkkxNM0lcxkkkoc0MMMMMMMMMMM"
echo "MNxlccloxXMMXxolccokNMMMMMWOolclox0MMWxkWMMMM0d0MMMXxlclxNMMNklcclokXMMMMMMMMMMM"

OR

echo "       _                 _         "
echo " _   _| |__  _   _ _ __ | |_ _   _ "
echo "| | | | '_ \| | | | '_ \| __| | | |"
echo "| |_| | |_) | |_| | | | | |_| |_| |"
echo " \__,_|_.__/ \__,_|_| |_|\__|\__,_|"

The secret to these image like characters is to use an image converter to ASCII characters. There are lots of free tools in the wild like toilet or figlet but I personally use jp2a.

You can also use this site for generating text to ASCII instead of image to ASCII.

Solution 3

How do we apply ASCII art into the terminal?

There are numerous ways of generating ASCII art, including specialized software and manual building but there are also websites that generate ASCII art by simply entering the desired name.

First we need to generate/create the ASCII "code": visit this website, type the desired name and copy the "live" generated ASCII result.

Then create a text file named art and paste into it the above mentioned generated ASCII result, copy the art file in your home folder (navigate here by clicking Nautilus sidebar's Home), open the .bashrc file (to make it viewable, press Ctrl+H) and paste on the bottom of the page

cat art

enter image description here Worth mentioning:

The above-mentioned site contains hundreds of different fonts for generating ASCII that feature various sizes, 3D-look, etc.

enter image description here

Source

As for images to ASCII go to this website

Solution 4

First generate a ascii drawing. I recommend asciio:

apt-get install asciio

asciio

Example:

  .-------.
  |  Hi   |
  '-------'
      ^      (\_/)
      '----- (O.o)
             (> <)

Copy and paste the drawing in file:

vim /home/<youruser>/banner

Finally, add at the end of file to read when you open a new bash:

echo "cat banner" >> /home/<youruser>/.bashrc

Open another terminal:

ready

Solution 5

enter image description here

sudo apt-get install figlet

echo "Hello world!" | figlet | color_it.sh 54

cat color_it.sh

#!/usr/bin/env bash 

## A.M.Danischewski 2015+(c) Free - for (all (uses and 
## modifications)) - except you must keep this notice intact. 

declare INPUT_TXT=""
declare    ADD_LF="\n" 
declare -i DONE=0
declare -r COLOR_NUMBER="${1:-247}"
declare -r ASCII_FG="\\033[38;05;"
declare -r COLOR_OUT="${ASCII_FG}${COLOR_NUMBER}m"

function show_colors() { 
   ## perhaps will add bg 48 to first loop eventually 
 for fgbg in 38; do for color in {0..256} ; do 
 echo -en "\\033[${fgbg};5;${color}m ${color}\t\\033[0m"; 
 (($((${color}+1))%10==0)) && echo; done; echo; done
} 

if [[ ! $# -eq 1 || ${1} =~ ^-. ]]; then 
  show_colors 
  echo " Usage: ${0##*/} <color fg>" 
  echo "  E.g. echo \"Hello world!\" | figlet | ${0##*/} 54" 
else  
 while IFS= read -r PIPED_INPUT || { DONE=1; ADD_LF=""; }; do 
  PIPED_INPUT=$(sed 's#\\#\\\\#g' <<< "${PIPED_INPUT}")
  INPUT_TXT="${INPUT_TXT}${PIPED_INPUT}${ADD_LF}"
  ((${DONE})) && break; 
 done
 echo -en "${COLOR_OUT}${INPUT_TXT}\\033[00m"
fi 

its typical to create a dir ~/bin and make all those files visible

mkdir ~/bin
# ... put above color_it.sh as file ~/bin/color_it.sh
chmod +x ~/bin/color_it.sh   # make it executable
export PATH=${HOME}/bin:${PATH}  # add this line to your ~/.bashrc

echo "Hello world!" | figlet | color_it.sh 34
Share:
124,447

Related videos on Youtube

Zignd
Author by

Zignd

Updated on September 18, 2022

Comments

  • Zignd
    Zignd over 1 year

    As you can see on this screenshot of Mik's Guake he has a startup message of ASCII art when he opens it, and that's what I'd like to do, can someone help me?

    Mik's Guake

    • Admin
      Admin over 11 years
      Please see this question, where I explain one way of doing it. Unfortunately, your question is a possible duplicate of that one.
    • Admin
      Admin over 11 years
      @Mik I think my question is a "real" duplicate of this one. Anyway, could you please explain me how to make the text get colored? Is that a argument on echo?
    • Admin
      Admin over 11 years
      The prompt is red because I have specified some ANSI escape codes in the PS1 line in my .bash_aliases ; you can do this manually in your bash_aliases or .bashrc for various things. You should also be able to use the preferences in gnome-terminal or guake to alter some of the appearance settings. There's some good answers on this site discussing the use of colour and ANSI escape codes in the terminal.
    • Admin
      Admin about 3 years
      Congrats. Your question almost has 100k views!
  • don.joey
    don.joey over 11 years
    +1 for mentioning the site to generate ascii images
  • egmont
    egmont over 8 years
    Make sure that this echo is within a condition that checks that the output is a tty, or (your choice) the shell is interactive. Otherwise you'll break scp, rsync.
  • egmont
    egmont over 8 years
    Make sure that these echos are within a condition that checks that the output is a tty, or (your choice) the shell is interactive. Otherwise you'll break scp, rsync.
  • edwinksl
    edwinksl almost 8 years
    Can you please translate your answer to English?
  • Wellington Oliveira
    Wellington Oliveira almost 8 years
    Sorry. I tried.
  • Wellington Oliveira
    Wellington Oliveira almost 8 years
    I haven't permission for post images yet. Sorry.
  • edwinksl
    edwinksl almost 8 years
    That's fine, I am aware of that.
  • Pablo Bianchi
    Pablo Bianchi over 6 years
    You can also add screenfetch.
  • Mayur Satav
    Mayur Satav almost 4 years
    it is not working for non-root terminal, 2nd i like your terminal tree orientation is there any link for that i can refer
  • nog642
    nog642 over 2 years
    The source command is completely unnecessary.