Tools in a chess player's workshop - Linux

Updated: May 8

In Linux, as in other systems, you can use programs for every chess enthusiast, from the beginner to the very advanced, for the correspondence chess player and the fan of competitive chess engines.

This post is dedicated to adults chess players who would like to use the most interesting, useful and proven tools - programs ( not web-based tools and servers ) for various chess activities in their chess workshop - Linux operating system.

My goal is not to discuss as many programs in as much detail as possible, but to demonstrate the key capabilities of the tools I have selected in relation to specific chess activities, e.g. training, analysis, database and engine use, etc.

This entry will be updated on a regular basis when I feel that there is software worth presenting to you dear readers.

To learn about the capabilities and practical use of the best chess software, I invite you to visit the course area at



Training / Practice

Lucas Chess

Play Chess Offline & Online


Chess Game Annotations / Database / Analyzes

Scid vs. PC

Chess Engines


How to play chess

Fortunately for us fans of this Royal Game, you don't need to read several books to play your first chess game :-)

Learning to play chess is relatively easy and quick. Mastering the basics of the game will allow you to play one or more games, which is important in memorizing the chess rules.

It is a good idea to simply ask someone who can play to show us the basics of chess. If we don't have such an opportunity, I suggest reading just one page of Wikipedia, where the rules of chess are described in a very simple and understandable way.

Training / Practice

Lucas Chess (author: Lucas Monge) is a free program that also runs on Windows systems.

It should be noted that Lucas Chess is available in more than twenty different languages (!), which means with a high probability that its interface will communicate with you in your native language.

Lucas Chess has many training options. Below are its main training features:

From the basics (find all moves), opening (training with a book), tactics (find best move), middle game, endings to long-term trainings.

As you can see in the picture above, with the Lucas Chess program, a chess enthusiast can practice all the most essential stages of chess.

For an example, let's check out one of the workout options offered: Check your memory on a chessboard.

We start at level 1.

At the beginning of the training, we are to memorize the setting of 3 chess pieces within 18 seconds.

After clicking the Start button, a chessboard with three chess pieces will be shown and the time will be counted.

When 18 seconds have elapsed, the student will be asked to position the pieces according to the previously shown position.

In the image below, I intentionally placed the white King on the wrong square.

If the student makes a mistake, the program will display a message:

If the student remembers the position of the chess pieces correctly, the program will display a message:

Isn't that a pretty effective way to train your chess memory ? :-)

And another example: Training positions - Singular moves to win.

Level 1 (easiest)

A simple win by fork.

After placed black Queen to e1 square with check, training program response Kh2.

Taking the white Rook. End of training in this session.

Now something more difficult.

After b4 and Kd7...

...White played b5.

If during practice, student play a move that the program thinks is worth comparing with other possible moves to make, then Lucas Chess will display a window showing alternative continuations.

In this case, instead of playing the white pawn on b5, white could have chosen an even more effective line by putting the King on c4 or beating the black pawn on c5.

The other training lessons in the Lucas Chess program work on a similar principle.

There are tons of material to go through and help improve areas of weakness in student gameplay.

Good software for training chess!

Play chess

PyChess (author: Thomas Dybdahl Ahle) is a free program that also runs on Windows systems.

Let's play chess! :-))

PyChess is a program with a clear, easy to understand interface. The look of the program is very elegant and inviting to start playing chess.

The PyChess program interface is not overloaded with dozens of options that could be enabled in several different ways.

PyChess is simply a program for playing chess offline (against a computer or human opponent) and online on the popular and established FICS (Free Internet Chess Server) and ICC (Internet Chess Club) servers.

A nice addition is the ability to save and store played chess games in .PGN format files, as well as the use of chess engines e.g. to analyze chess games and give hints.

So let's take a closer look at what PyChess offers.

To play the first game against a computer opponent, we can choose from several chess engines installed by the author. Among other things, we have at our disposal one of the strongest versions of the Stockfish engine (SF9 - about 3300 Elo) far exceeding the playing power of any human.

One of the more interesting engines is the authors, one of the few chess engines written in Python. I encourage you to play against this engine - good fun guaranteed!

PyChess allows you to play different chess variants. The following variants are available:

  • Atomic

  • Crazyhouse

  • Fischer Random/Chess 960

  • Losers

  • Suicide

  • Random and Asymmetric Random

  • Shuffle

  • Corner

  • Upside Down

  • Pawns Pushed/Passed, Pawn/Knight/Rook/Queen Odds

  • as well as: ASEAN, Makruk, Ouk Chatrang, Sittuyin, King of the hill, 3 check, Horde, Placement.

Other chess engines can be attached to PyChess. PyChess can use engines that communicate via the UCI protocol or Winboard / Xboard.

This means that in PyChess program we can use virtually any chess engine prepared to work in a Linux environment.

Here are some images from's struggle with the Stockfish engine.

After the game, we can choose to rematch or let the engine analyze.

The result of the chess game analysis is a notation in the Annotation window along with hints and potential threats.

To compete against a live opponent, it only takes a few clicks to start playing on a chess server.

An interesting choice is the free FICS server, which can be tried by selecting Log on as Guest. Of course, if you want to record your progress, compete for rankings, then it is worth creating an account and logging in.

When you enter FICS, the first thing you see is a window called Seeks / Challenges with a list of proposals to join the game.

And this is what the window looks like while the game is in progress.

Of course, we have the possibility of defining our own parameters before the start of the game, e.g. setting the time of the chess game, range of opponent's strength which the FICS server will find for us, choice of game mode (Play normal chess rules or other e.g. Fisher random, etc.).

PyChess is a well-thought-out program with consistent options and an elegant easy to use interface.

PyChess can be useful both for those who are new to chess and want to play a quick online game or against a computer opponent, and for those who want to use the computer to hone their chess skills - avoiding distracting the user with unnecessary options.

Chess Game Annotations / Databases / Analyzes

Scid vs. PC is a free program, a fork of Shane Hudson's Chess Information Database (SCID), started in 2009 by Steven Atkinson.

It was also released for other operating systems: macOS, Solaris, Windows and other Unix family systems like FreeBSD, OpenBSD.

In the case of Scid vs. PC, the more accessible it is - the better for us - chess players.

In terms of handling chess games and databases, and engine-based analysis, Scid vs. PC is not inferior to professional and paid software.

A feature of the Scid vs. PC program that is worth emphasizing is that a novice player as well as a chess expert will be able to very easily use this program adequately to their needs.

Example no. 1

A beginning chess enthusiast simply needs to collect his chess games in one database, in some games he would like to add text annotations and from time to time use the chess engine hints.

Example no. 2

An advanced and experienced player needs many databases of chess games in order to quickly and efficiently manage a collection of millions of records. He very often uses advanced chess notation in his games, prints games with diagrams and regularly looks for chess novelties while preparing for different and strong opponents. When analyzing many positions and games he uses different chess engines and endgame tablebases simultaneously.

I invite you to watch a few pictures showing the capabilities of Scid vs. PC.

Annotated chess game...

...With Comment Editor.

Promoting variation.