Linux Chess Apps

chess-tui – text-based chess game

Chess is a recreational and competitive board game played between two players. It is a very popular game, played by millions across the world, in clubs, online, by correspondence, and in tournaments.

Chess has the virtue of being suitable for people of all ages. It has many positive attributes such as helping individuals develop their memory, improve and enhance their concentration, as well as logical thinking. It also promotes and improves imagination and creativity. Chess is one of those games that takes a few days to learn and the rest of your life to master, with the game being a never ending learning process, even for the top players.

The game is played on a square chessboard with 64 squares arranged in an eight-by-eight grid. Each player controls 16 pieces, and the object of the game is to checkmate the opponent’s king.

There are many open source chess clients for Linux. What’s unusual about chess-tui is that the program has no fancy graphics. Instead you play a friendly game of chess against another human or a chess computer using a text-based user interface.

Installation is simple. We used cargo, Rust’s package manager.

$ cargo install chess-tui

This command installs the executable to ~/.cargo/bin. Add this directory to your $PATH if it isn’t already.

We can start the program with the command $ chess-tui, but let’s play against a chess engine. While the software doesn’t provide its own chess engine, it can use any Universal Chess Interface (UCI) compatible chess engine. We already have stockfish installed on our system. Instruct chess-tui to use stockfish with the command:

$ chess-tui -e /usr/games/stockfish

Here’s a game in action. We have stockfish on the ropes 🙂

chess-tui in action
Click image for full size

There’s also an ASCII display mode available.

ASCII mode
Click image for full size

The program supports castling, en passant, promotion, the fifty-move rule, and repetition draw.


chess-tui is very easy to get up and running. It’s fast with a small memory footprint. Given it supports any UCI compatible chess engine, you can engage in a very challenging game.

You may remember the classic ZX Chess, which managed to fit a game of chess in less than 1K of memory (although it couldn’t squeeze all the rules in 1K). chess-tui is in the same vein with less primitive graphics and better adherence to the rules.

Even though the program makes it easier to enter moves with its valid move previews (which are highlighted in grey), and keyboard actions that follow those previews, the game would be easier to play with a mouse. And the developer indicates he’s keen on adding moves in algebraic format. Let’s hope the program fleshes out to support internet play too!

There’s even a Docker available.

Developer: Thomas Mauran
License: MIT License

chess-tui is written in Rust. Learn Rust with our recommended free books and free tutorials

Notify of

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

Inline Feedbacks
View all comments