Software & AppsOperating SystemLinux

Configuring Cowsay: Setting Custom Texts and Talks

Ubuntu 2

Cowsay is a fun and quirky program that generates ASCII pictures of a cow with a message. It can be used in your terminal or in your scripts to display information in a more engaging way. In this article, we’ll delve into how to configure Cowsay, set custom texts, and even change the character that delivers your message.

Quick Answer

To configure Cowsay and set custom texts and talks, you can use the -f option to choose different characters, create your own custom cowfiles, and integrate with other programs like fortune.

Installing Cowsay

Before we can start configuring Cowsay, we first need to install it. On a Debian-based system like Ubuntu, you can install Cowsay by running the following command:

sudo apt-get install cowsay

For other operating systems, you can check out the official Cowsay GitHub page for installation instructions.

Basic Usage of Cowsay

To use Cowsay, simply type cowsay followed by your message in quotes:

cowsay "Hello, world!"

This will display an ASCII cow saying “Hello, world!”.

Changing the Cowfile

Cowsay comes with a variety of “cowfiles”, which are files that define different characters that can deliver your message. To use a different cowfile, use the -f option followed by the name of the cowfile:

cowsay -f tux "Hello, world!"

This command will display Tux, the Linux penguin, saying “Hello, world!”. To see a list of all available cowfiles, use the -l option:

cowsay -l

Creating Custom Cowfiles

You can also create your own custom cowfiles. A cowfile is simply a text file that defines the ASCII art for the character. Cowfiles should be placed in the /usr/share/cowsay/cows directory. For more information on creating custom cowfiles, you can check out this detailed guide.

Using Fortune with Cowsay

For a more dynamic message, you can use the fortune program in conjunction with Cowsay. fortune generates random epigrams from a database of quotations. First, you’ll need to install fortune:

sudo apt-get install fortune-mod

Then, you can pipe the output of fortune into Cowsay:

fortune | cowsay

This will display a cow saying a random quote.

Displaying Cowsay Messages at Terminal Startup

If you want to display a Cowsay message every time you start your terminal, you can add a Cowsay command to your terminal’s configuration file. For bash, this file is ~/.bashrc, and for zsh, it’s ~/.zshrc. You can open this file in a text editor with the following command:

nano ~/.bashrc

Then, add your Cowsay command at the end of the file. For example, to display a random quote with Cowsay at startup, you can add:

fortune | cowsay

Save the file and exit the text editor. The next time you open your terminal, you’ll be greeted with a random Cowsay message.


Cowsay is a fun and versatile tool that can add some personality to your terminal or scripts. With the ability to use different characters and create your own, as well as integrate with other programs like fortune, the possibilities are endless. Happy configuring!

How can I change the default cowfile used by Cowsay?

To change the default cowfile used by Cowsay, you can set the COWPATH environment variable to the directory containing your desired cowfiles. For example, if you have your custom cowfiles in the directory ~/my-cowfiles, you can run the command export COWPATH=~/my-cowfiles to set the COWPATH variable. This will make Cowsay use your custom cowfiles by default.

Can I set a specific cowfile for a single message without changing the default?

Yes, you can set a specific cowfile for a single message without changing the default. Simply use the -f option followed by the name of the cowfile, like this: cowsay -f tux "Hello, world!". This will make Cowsay use the tux cowfile to deliver the message "Hello, world!". This way, you can have different characters delivering different messages without modifying the default cowfile.

Leave a Comment

Your email address will not be published. Required fields are marked *