ElectronShogiをUbuntu22.04でDockerを使ってビルド

日紀

将棋エンジンを動かすためのGUIとして、ShogiGUI将棋所や有名である。ただし、これらはWindowsでは動くものの、Linuxで動かすのは難しかった。将棋所に関しては動くようにはなったものの、フォントが豆腐になる問題を解決できなかった(今調べたらやってる人がいたのでできそう)。これらを解決してくれるのがElectronShogiである。

ソフトウェアの詳細はWebサイトを見てもらえばだいたいわかる。オープンソースで作られており、かつElectronで作られているのでLinuxで動く。ただし、Linux版のバイナリは公開されておらず、自分でビルドしてねと書いてあるので自分でビルドする必要がある。

はじめ、Electronの立ち上げをやればよいのかなと思っていたが、Dockerを使ってコンテナ側のGUIをホスト側に表示することが完璧にはできなかったので、ビルドして使うことにした。

できたもの

Githubに公開してある。DockerもNodejsも将棋エンジンも素人なので、もっとDocker Imageのサイズが減らせるとか、使い方がなってないとか、いろいろありそうだが、とりあえず使えるようになった。

他の将棋ソフトと同様、エンジンも必要である。水匠5を今回は導入することにし、これもDockerでビルドできるようにした。これもGithubで公開してある。

Dockerが素人なので四苦八苦した。特に、volumesでホスト側とコンテナ側でどちらかがどちらかを消してしまうのを解決するのが曲者だった。

オマケ

このElectronShogiの主な使い方はこどもが将棋ウォーズとか将棋倶楽部24とかで対局したときの振り返りである。そのため、簡単に立ち上げられるようになっているのがよい。Ubuntuでは~/.local/share/applications/にhoge.desktopというファイルを作っておくことで、メニューから簡単にアプリケーションを選ぶことができる。

コメント