Celebrate Christmas in Linux Way: Give Your Linux System a Christmas Touch

'Tis the season for celebration. Customize your Linux desktop with the Christmas spirit.
Warp Terminal

It’s the holiday season, and many of you might be celebrating Christmas already.

From the team of It’s FOSS, I would like to wish you a Merry Christmas and a happy new year.

To continue the festive mood, I’ll show you some really awesome Linux wallpapers on Christmas theme. I’ll share a few tips to give your Linux system a Christmas touch.

Let it snow on your Linux desktop [for GNOME users]

🚧
It seems the extensions are not actively updated and they don't work as well as they did earlier.

Nothing makes Christmas more “Christmasy” than the snow flurries. If you are using GNOME, you can let it snow on your desktop as well.

Check which desktop environment you use. If it is GNOME, then you can use extensions to drop snowflakes on your desktop.

If you are not familiar with it, please read my detailed guide on using GNOME Extensions first. Repeating the steps here will derail the topic.

There are three GNOME Extensions that make snow flurries on your desktop.

  • Snow (last updated with GNOME Shell 4.42)
  • Let it Snow (Last updated with GNOME 4.44)
  • gsnow (last updated with GNOME 3.10)

While ‘Let it Snow’ has more features where you can control the number of snowflakes or make it not snow on the active window, the Snow extension doesn’t have any configuration options.

You just have to activate this extension and enable it to make the snow fall on your desktop.

Snow On Linux Desktop
I didn’t notice any unusual surge in CPU consumption or RAM usage. Still, I would recommend you to be vigilant and keep an eye on the system stats with the task manager in Linux. Disable the extension if you see high CPU usage with the extension. You don't want the snow to melt with the hot computer, do you? 😉

Change terminal prompts with Christmas goodies [For expert users]

Here’s another way for Christmas makeover. Change the prompt with Christmas tree, snowflake and gifts.

Linux Terminal Christmas

Now, if you are not too comfortable with the terminal, I suggest skipping it. If you are a regular Linux command line pro who knows what’s .bashrc file and how to edit these files in the terminal, here’s what you need to do.

Copy this code:

# print the git branch name if in a git project
parse_git_branch() {
  git branch 2> /dev/null | sed -e '/^[^*]/d' -e 's/* \(.*\)//'
}
# set the input prompt symbol
ARROW="❯"
# define text formatting
PROMPT_BOLD="$(tput bold)"
PROMPT_UNDERLINE="$(tput smul)"
PROMPT_FG_GREEN="$(tput setaf 2)"
PROMPT_FG_CYAN="$(tput setaf 6)"
PROMPT_FG_YELLOW="$(tput setaf 3)"
PROMPT_FG_MAGENTA="$(tput setaf 5)"
PROMPT_RESET="$(tput sgr0)"
# save each section prompt section in variable
PROMPT_SECTION_SHELL="\[$PROMPT_BOLD$PROMPT_FG_GREEN\]\s\[$PROMPT_RESET\]"
PROMPT_SECTION_DIRECTORY="\[$PROMPT_UNDERLINE$PROMPT_FG_CYAN\]\W\[$PROMPT_RESET\]"
PROMPT_SECTION_GIT_BRANCH="\[$PROMPT_FG_YELLOW\]\`parse_git_branch\`\[$PROMPT_RESET\]"
PROMPT_SECTION_ARROW="\[$PROMPT_FG_MAGENTA\]$ARROW\[$PROMPT_RESET\]"
# set the prompt string using each section variable
PS1="
🎄 $PROMPT_SECTION_SHELL ❄️  $PROMPT_SECTION_DIRECTORY 🎁 $PROMPT_SECTION_GIT_BRANCH 🌟
$PROMPT_SECTION_ARROW "

And add it to the end of your ~/.bashrc file. Save the file, close it and then open another terminal window or shell. You should have a changed command line prompt now.

To get back to normal, delete those lines you added from the ~/.bashrc file.

Display Christmas Tree in Linux Terminal (Bash script)

Christmas Tree in Terminal

If you want to display an animated Christmas tree in the terminal, you can use the command below:

curl https://raw.githubusercontent.com/sergiolepore/ChristBASHTree/master/tree-EN.sh | bash

If you don’t want to get it from the internet all the time, you can get the shell script from its GitHub repository, change the permission and run it like a normal shell script.

Download Christmas Bash Tree Script

Display Christmas Tree in terminal using Python script

Christmas Tree in Python

Another similar CLI tool but written in Python this time.

Download or clone the project's GitHub repository. You'll have a terminal_tree.py file here.

Open a terminal, switch to the directory where you have cloned/downloaded the repository.

Run the Python script:

python terminal_tree.py

You'll have the Christmas Tree animation running in the terminal. Press Ctrl+C to stop it.

Display Christmas Tree in Linux terminal using Perl script

Christmas Tree in Linux terminal by NixCraft

This trick was originally shared by NixCraft. You’ll need to install a Perl module for this.

To be honest, I don’t like using Perl modules because uninstalling them is a real pain. So use this Perl module knowing that you’ll have to manually remove it.

perl -MCPAN -e 'install Acme::POE::Tree'

You can read the original article here to know more about it.

Treefetch: Like Neoftech but with Christmas Tree

You are probably familiar with the Neofetch command line tool. It shows the ASCII logo of your distro along with some details about the currently installed system.

Treefetch is similar. Only, you display a Christmas tree instead of distro logo. And the colors are also more into Christmas spirit.

Treefetch for Christmas Decoration

Some distributions have the treefetch package available from their repository. You can get more information on project's GitHub repository page.

Download Linux Christmas Wallpapers

All these Linux Christmas wallpapers are created by Mark Riedesel and you can find plenty of other artwork on his website.

He has been making such wallpapers almost every year since 2002. Quite understandably, some of the earliest wallpapers don’t have modern aspect ratio. I have put them up in reverse chronological order.

One tiny note. The images displayed here are highly compressed, so download the wallpapers from the provided link only.

Christmastux2019

Download This Wallpaper

Christmas Tux Wallpaper

Download This Wallpaper

Christmas Linux Wallpaper

Download This Wallpaper

Christmas Linux Wallpapers

Download This Wallpaper

Christmas Linux Wallpapers

Download This Wallpaper

Christmas Linux Wallpapers

Download This Wallpaper

Christmas Linux Wallpapers

Download This Wallpaper

Christmas Linux Wallpapers

Download This Wallpaper

Christmas Linux Wallpapers

Download This Wallpaper

Christmas Linux Wallpapers

Download This Wallpaper

Christmas Linux Wallpapers

Download This Wallpaper

Christmas Linux Wallpapers

Download This Wallpaper

Christmas Linux Wallpapers

Download This Wallpaper

Christmas Linux Wallpapers

Download This Wallpaper

Christmas Linux Wallpapers

Download This Wallpaper

Christmas Linux Wallpapers

Download This Wallpaper

Christmas Linux Wallpapers

Download This Wallpaper

Bonus: Linux Christmas carols

Here is a bonus for you. Christmas carols Linuxified for Linux lovers like us.

In an article on Computer WorldSandra Henry-Stocker shared such Christmas carols. An excerpt:

To the tune of: Chestnuts Roasting on an Open Fire

Running merrily on open source
With users happy as can be
We’re using Linux and getting lots done
And happy everything is free

To the tune of: The Twelve Days of Christmas

On my first day with Linux, my admin gave to me a password and a login ID
On my second day with Linux my admin gave to me two new commands and a password and a login ID

You can read full carols here. If you want Tux avatar in the reindeer format, check out this repository.

Merry Linux to you!!

About the author
Abhishek Prakash

Abhishek Prakash

Created It's FOSS 11 years ago to share my Linux adventures. Have a Master's degree in Engineering and years of IT industry experience. Huge fan of Agatha Christie detective mysteries 🕵️‍♂️

Become a Better Linux User

With the FOSS Weekly Newsletter, you learn useful Linux tips, discover applications, explore new distros and stay updated with the latest from Linux world

itsfoss happy penguin

Great! You’ve successfully signed up.

Welcome back! You've successfully signed in.

You've successfully subscribed to It's FOSS.

Success! Check your email for magic link to sign-in.

Success! Your billing info has been updated.

Your billing was not updated.