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.
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.
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.
Now we can download the latest package. As of this writing, the latest version is v3.2.2.
Now, make the file executable with:
You can execute it from here if you want with:
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.
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.
Here's a screenshot I made on my netbook with Linux Mint 13.
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.
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.
Installed screenfetch in Ubuntu 17.10 and ran it. Great ASCII art for background wallpaper. Thanks.
Awesome stuff! Thanks man.
Ubuntu 16.04 xenial:
sudo apt install screenfetch
You'd better wget it from github with `--no-check-certificate` option if you don't want certificate error
So cool man 😀 Many thanks
still helpfull 😀 thx
I been searching on how to implement screenfetch in Linux Mint, thanks for sharing. 🙂
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
(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.