Linux Tweaks, HowTo's and Reviews

If you've browsed Linux groups on social media, you've probably seen a lot of screenshots that include a terminal window displaying the distribution logo as ASCII art along with some general system information. One program that does this is called Archey. Another is called screenFetch, and that's what I'm going to show you how to install in this post.

screenFetch is a bash script. It will automatically detect your Linux distribution and will display the logo as ASCII art in a terminal window. Optionally, it can also take a screenshot of your Linux desktop with the aforementioned terminal window displayed.

screeenFetch on Ubuntu

Install screenFetch Dependencies

In order to detect your Linux Distribution and some of your other system information, the lsb-release package needs to be installed on your system. Most likely, you already have this installed, but it doesn't hurt to request the install again. You also need a program called scrot installed to support the screenshot function. You should be able to find these packages in you distribution's repositories. On Ubuntu, Linux Mint, and other Debian/Ubuntu based distros, you can install them with the following command.

sudo apt-get install lsb-release scrot

Install screenFetch in Linux

Now that we have the dependencies installed, we can install screenFetch. Unfortunately, it's not in the distro repositories for Ubuntu, Mint, or Debian, so we'll have to download it from the project's Git repository. First I'll create a temporary directory for the download.

mkdir ~/screenfetch
cd ~/screenfetch

Now we can download the latest package. As of this writing, the latest version is v3.2.2.

However, I think it's better to have it installed somewhere where it will be available system wide. I think /usr/local/bin is a good location. So let's copy it over to there.

sudo cp screenfetch /usr/local/bin

Now, assuming /usr/local/bin is in your $PATH, you should be able to run screenfetch from anywhere.

Taking a Screenshot with screenFetch

It wouldn't make any sense to call the program screenFetch if you couldn't use it to take a screenshot of your system. You can call the program with the -s switch to do just that.

screenfetch -s

Here's a screenshot I made on my netbook with Linux Mint 13.

screenFetch on Linux Mint 13

screenFetch Options

So there you have it. You now know how to install screenFetch and use it on Linux. If you want to see the other options, run screenFetch with the -h switch.

screenfetch -h

Here's the output on my system.

Usage:
screenFetch [OPTIONAL FLAGS]
screenFetch - a CLI Bash script to show system/theme info in screenshots.
Supported Distributions: Arch Linux (Old and Current Logos), Linux Mint,
LMDE, Ubuntu, Crunchbang, Debian, Raspian, Gentoo, Fedora, SolusOS,
Mandrake/Mandriva, Slackware, Frugalware, openSUSE, Mageia,
Peppermint, ParabolaGNU, Viperr, LinuxDeepin, Chakra, and FreeBSD, OpenBSD
Supported Desktop Managers: KDE, GNOME, XFCE, and LXDE, and Not Present
Supported Window Managers: PekWM, OpenBox, FluxBox, BlackBox, Xfwm4,
Metacity, StumpWM, KWin, IceWM, FVWM,
DWM, Awesome, XMonad, Musca, i3, WindowMaker,
Ratpoison, wmii, WMFS, ScrotWM, SpectrWM,
subtle, Emerald, E17 and Beryl.
Options:
-v Verbose output.
-o 'OPTIONS' Allows for setting script variables on the
command line. Must be in the following format...
'OPTION1="OPTIONARG1";OPTION2="OPTIONARG2"'
-n Do not display ASCII distribution logo.
-N Strip all color from output.
-t Truncate output based on terminal width (Experimental!).
-s(m) Using this flag tells the script that you want it
to take a screenshot. Use the -m flag if you would like
to move it to a new location afterwards.
-c string You may change the outputted colors with -c. The format is
as follows: [0-9][0-9],[0-9][0-9]. The first argument controls the
ASCII logo colors and the label colors. The second argument
controls the colors of the information found. One argument may be
used without the other.
-S 'COMMAND' Here you can specify a custom screenshot command for
the script to execute. Surrounding quotes are required.
-D 'DISTRO' Here you can specify your distribution for the script
to use. Surrounding quotes are required.
-A 'DISTRO' Here you can specify the distribution art that you want
displayed. This is for when you want your distro
detected but want to display a different logo.
-E Suppress output of errors.
-V Display current script version.
-h Display this help.

So there you have it. Go ahead and upload your screenshot to a file or photo sharing site and post a link to it in the comments.

I assume you've installed screenfetch on mint; its not hard.
Its only a file (screenfetch.sh) that
(1) I downloaded
(2) personally I inspected to ensure nothing malicious done
(3) then copied [cp] to /usr/local/bin where I put my files to be run by all users

and optional
(4) rather than type .sh; I created a `ln -s` abbreviation (again in /usr/local/bin) so I didn't need to type .sh
(5) I also found it was a little slow on some systems to use for common scripts, so a copy of output I stored in /usr/local/bin/screenfetch.out which is `cat` by scripts I wanted to use it in, but not wait. if you want to have the file updated regularly (at login etc) there are many ways to do it, but this is just something I did.