I do not believe opening books are associated with Xboard. Xboard to the best of my knowledge is just a front end to chess engines. I believe one needs to search for opening books with specific chess engines or with Polygot.
With my Packman packaged stockfish20, I note it comes with an opening Book:
-rw-r--r-- 1 root root 15364320 Jan 8 09:09 /usr/share/stockfish20/Book.bin
I don’t know if that book was put there by the Packman packager, or if it comes with the basic Stockfish.
Now I’ve never tried to install an opening book with a chess engine, but for example I note Stockfish is based on Glaurung, and from the Glaurung readme.txt I note:
3. Opening books
----------------
This version of Glaurung has experimental support for PolyGlot opening
books. For information about how to create such books, consult the
PolyGlot documentation. The book file can be selected by setting the
UCI parameter "Book File".
A book file contributed by Salvo Spitaleri can be found on the
Glaurung web page
So one needs to go to the PolyGlot documentation to create one’s own book (… could be time consuming and difficult) … and to get a head start one could go to the Glaurung web page. I did go to the Glaurung web page and I could not see a link to an opening book. I did note this page on Salvo Spialeri: http://chessprogramming.wikispaces.com/Salvo+Spitaleri That in turn takes one here: http://wbec-ridderkerk.nl/html/download.htm where in turn there is a ZIP file here. Inside the ZIP file are three PGN files, which I assume correspond to an opening book. I also note from what I have read is that this book is limited to 8-moves deep, which is not very deep for an opening book.
Anyway, assuming one wishes to further with the Salvo Spialeri 8-move deep book, then I note from the Polygot web page:
Opening Book
------------
PolyGlot 1.4 provides a simplistic opening-book implementation.
The following options can be added to the [PolyGlot] section:
- "Book" (default: false)
Indicates whether a PolyGlot book should be used. This has no effect
on the engine own book (which can be controlled with the UCI option
"OwnBook" in the [Engine] section). In particular, it is possible to
use both a PolyGlot book and an engine book. In that case, the engine
book will be used whenever PolyGlot is out of book. Remember that
PolyGlot is unaware of whether the engine is itself using a book or
not.
- "BookFile"
The name of the (binary) book file. Note that PolyGlot will look for
it in the directory it was launched from, not in the engine directory.
Of course, full path can be used in which case the current directory
does not matter.
Note that there is no option to control book usage. All parameters
are fixed when compiling a PGN file into a binary book (see below).
This is purposeful and is not likely to change.
Using a book does not require any additional memory, this can be
important for memory-limited tournaments.
A default book "fruit.bin" is provided in the archive. Note that this
book is very small and should probably not be used in serious games.
I hope that users will make other books available in the future.
so one needs to ‘compile’ the PGN files , and if I then read further I note:
Book Making
-----------
You can compile a PGN file into a binary book using PolyGlot on the
command line. At the moment, only a main (random) book is provided.
It is not yet possible to control opening lines manually. I am
working on it though.
Usage: "polyglot make-book ".
"make-book" options are:
- "-pgn"
Name of the input PGN file. PolyGlot should support any
standard-conforming file. Let me know if you encounter a problem.
- "-bin"
Name of the output binary file. I suggest ".bin" as the extension but
in fact PolyGlot does not care.
- "-max-ply" (default: infinite)
How many plies (half moves) to read for each game. E.g. if set to
"20", only the first 10 full moves of each game will be scanned.
- "-min-game" (default: 3)
How many times must a move be played to be kept in the book. In other
words, moves that were played too rarely will be left out. If you
scan full games "2" seems a minimum, but if you selected lines
manually "1" will make sense.
- "-only-white" *** NEW ***
Save only white moves. This allows to use different parameters for
white and black books, and merge them into a single file with the
"merge-book" command, see below.
- "-only-black" *** NEW ***
Same for black moves.
- "-uniform" *** NEW ***
By default, a probability is calculated by PolyGlot for each move
depending on how popular it is (how often it was playing in the
provided PGN file) and how much it "scored". This option bypasses the
default mechanism and affects equal probability to all moves. This
allows more variety of play.
This option is normally used only with hand-selected lines (e.g. "user
books").
---
Example: "polyglot make-book -pgn games.pgn -bin book.bin -max-ply 30".
Building a book is usually very fast (a few minutes at most). Note
however that a lot of memory may be required. To reduce memory usage,
select a ply limit.
and one can read more here: http://wbec-ridderkerk.nl/html/details1/PolyGlot.html
Again, I have not done this myself, but it does not read to be too difficult. If you discover an easy guide somewhere , please advise and I’ll link to it from my chess page.
wrt ICS, I’ve never tried to connect to an ICS server with a GNU/Linux program, so I can not provide any advice there.