Vector illustration of a hand holding a bonsai tree

Linux Candy: cbonsai – generate bonsai trees

Linux Candy is a series of articles covering interesting eye candy software. We only feature open source software in this series.

Some of the programs in this series are purely cosmetic, frivolous pieces of fun. Candy at their finest. But we also include some programs that aren’t purely decorative.

There’s a diverse range of programs included in this series. Programs such as eDEX-UI and Variety are actually highly practical programs. ASCIIQuarium has soothing and relaxing qualities for your desktop. Other programs included in this series (such as lolcat, cacafire) are included purely for their decorative qualities. And then there’s some really fun software that just raises a smile or two.

cbonsai is a bonsai tree generator, written in C using ncurses. It intelligently creates, colors, and positions a bonsai tree in your terminal.


On our test Ubuntu 23.04 system installation was plain-sailing. There’s a package in the Ubuntu repositories. Issue the command to install:

$ sudo apt install cbonsai

In Operation

Issue the command cbonsai and a randomly generated static tree is created in your terminal.


Besides the static mode, there’s also a live mode where you see the growth of the tree step-by-step. There’s the option to set the wait time between the steps of growth. Here’s a short video of cbonsai in its live mode with the default wait time of 0.03 seconds.

There are lots of configuration options available. Here’s a short outline:

  • Infinite mode – keep growing trees.
  • Screensaver mode – this is a combination of the live mode and the infinite mode.
  • Attach a message next to the tree.
  • Choose a different ascii-art plant base, and a list of comma-delimited strings randomly chosen for leaves.
  • Branch multiplier.
  • There’s also options to print the tree to the terminal, and change the seed random number generator.


cbonsai is a perfect candidate for the Linux Candy series.

We’re using it as a ‘screensaver’ on one of our monitors; it’s strangely mesmerizing with an almost haunting and hypnotic effect which is actually not good for productivity. OK, we’re waxing lyrically now!

We’re hoping the neofetch mode of gets added in a later release.

Developer: John Allbritten
License: GNU General Public License v3.0

cbonsai is written in C. Learn C with our recommended free books and free tutorials.

Complete list of articles in this series:

Linux Candy
ASCIIQuariumEmbrace marine life from the terminal with beautiful ASCII art
ASCII Art ConverterA small utility that converts images into ASCII art
BobRossQuotesCollection of quotes from Bob Ross
BoxesCommand line ASCII boxes
BuohOnline strips comics reader
cacafireColor ASCII fire
catclockxclock with an enhanced cat mode
cbonsaiGenerate bonsai trees in the terminal
christmasfetchFestive cheer on the desktop
chucknorrisChuck Norris jokes in your terminal
cornyjokesCorny jokes for the terminal
CMatrixncurses program that simulates the display from “The Matrix”
ctreeA Christmas tree right on your terminal
eDEX-UISci-fi computer terminal emulator and system monitor
emojSimple tool that to find suitable emojis for pasting to your clipboard
EmoteModern popup emoji picker
EvolvotronInteractive generative art
FantasceneDynamic wallpaper changer
FondoFind beautiful wallpapers from Unsplash
gtiTypo-based curio inspired by Steam Locomotive
HollywoodFill your console with Hollywood melodrama technobabble
linuxwaveGenerate music from the entropy of Linux
lolcatRainbows and unicorns
No More SecretsRecreates the data decryption effect from the Sneakers movie
nyancatTerminal-based Pop Tart Cat Animation
onekoAnimal chasing fun
pipes.shAnimated pipes terminal screensaver
ponysaycowsay reimplemention for ponies
projectMMusic visualizer originally based on Milkdrop
pscircleA different take on the venerable ps command
pyjokesOne line jokes for programmers
PywalGenerate color schemes on the fly
RelaxatorRelax to soothing sounds
Rusty AquariumMonitoring by visualization
Steam LocomotiveC program written in 295 lines. It's harmless fun
TernimalAnimated lifeform in the terminal
terminal-parrotParty parrot time
tetrisTile-matching puzzle video game in your terminal
VarietyWallpaper manager with many desktops and wallpaper sources
WallGenGenerate HQ poly wallpapers with a few arguments.
WallpaperDownloaderDownload, change, and manage wallpapers
xcowsayDisplays a cow on your desktop with message
XDecorationsAdd some festive cheer to your desktop
XScreenSaverFramework and collection of screensavers
Notify of

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Newest Most Voted
Inline Feedbacks
View all comments
1 year ago

What a bizarre app!

1 year ago
Reply to  Jez

Linux is full of weird and wonderful apps, one reason why I love it!