2019年3月24日 (日)

『将棋神やねうら王』のオープンソース版MyShogiをLinux Mint 19.1でビルドしてみた件

Engine_init
MyShogiというのは『将棋神やねうら王』のオープンソース版です。基本的には製品版と同じものですがイメージや音声ファイルなどのアセットが抜けている状態なのでビルドしても自分でアセットを自作するか、製品版からコピーしなければ遊べません。じゃあ、なぜビルドするのかというと製品版をもっているが、ウィンドウズではなくMacやLinuxで遊びたいというような場合、またはオープンソースの開発に貢献したいような場合にビルドします。
MyShogiの開発初期に書いた当方の記事「やねうら王MyShogiをLinuxでビルドしてみた」ではMono Developを使いやねうらさんから提供頂いたアセットでビルドしてみたが、イメージの合成に一部失敗していた状態で、さらにバグというかWindows用しかサポートしていない段階であったのでまだ遊べる状態ではなかった。
最近はやねうら氏自らUbuntu 18.04をサポートも試みており、fxst24氏のUbuntuで『将棋神やねうら王』にある通り、アセットがあればUbuntuでもちゃんと遊べるビルドが作れるようです。私も試して見ましたが、とってもキレイで、機能的にもほぼ完璧に動作しているビルドができました。素晴らしい!Linuxでは最強の将棋ソフトではないでしょうか。WINEはいろいろ辛いのでほんと助かった。
一応、ものすごく根性があれば、以下にある画像ファイルを自分で製作してimageフォルダにコピーすれば遊べると思いますので、もしかしたらだれかがアセットつくって公開してくれたら遊べるものがビルド可能になると思います(既にあった。下記参照)。アセットの自作を考えるだけでも余裕で1万円ペイしますので製品版を買いましょう。 私の場合、ある程度はLinuxでのビルドのテストをしていたときにやねうらさんのご厚意で提供していただいたアセットで間に合いましたが、いくつか画像ファイルが追加されているようで2つほど画像ファイルを自作しました。上のサムネイルのengine_init.pngというのを羽生さん仕様で作成し、後は[手番]という赤い小さいバナー(turn_v1_106_43.png)も作りました。あとno_banner.png(下記参照)というのは思考エンジンについてくるbanner.pngと似ているっぽいので単にコピーした。また公開されている3つのアップデーターに入っている画像ファイルも全部使用しました。

ビルド方法

追記)というかjnoryさんがUbuntu用のインストーラーを公開しています。shスクリプトです。試してませんが、これ使った方が良いです。jnoryさん恐ろしい子。MyShogi用のフリー素材の画像ファイルも公開されています。。。そして音声もmatarilloさんが・・・。Macの方は「AI将棋ソフト『MyShogi』をMacBookProでビルド&遊んでみた2(本家版)
fxst24氏のUbuntuで『将棋神やねうら王』そのままで大丈夫でしたので、変更点や注意点だけ書いておきます。(というか記事を書き上げたがMyShogiがフリーズしたので再起動になり、全部消失したww。もう一回書くのしんどいので注意点だけで・・・)私の環境はLinux Mint 19.1 64bitです。つまりUbuntu 18.04ベース。思考エンジンはavx2でビルドしたのでsse42の部分を全部avx2にしました。
変更点としてはfxst24氏がオススメしている最新のmono-devをdebパッケージからインストールしてもmsbuildが同梱されてないようで、結局apt installでmsbuildを導入しました。なので恐らくmono-devは最新版でなくともapt install mono-devで普通に入れても大丈夫と思います。
ソースは現時点での最新のmasterブランチ(2018年11月28日更新)からビルドしました。fxst24氏のブログにあるようにSoundPlayerもビルドしました。
製品版を持っていない方はアップデーターやネットから集めたアセット、評価関数、定跡ファイルなどを製品版と同じディレクトリ構造になるように配置するためのフォルダとしてYaneuraOu2018フォルダをホームにでもつくります(masterブランチのソースとは別にです)。もちろん製品版があるのであればそのままフォルダごとウィンドウズからコピーすればOKです。そしてここへMyShogi.exeなどビルドしたexeを持ってくる。

そして以下のサブフォルダを作ります。
book (定跡ファイルstandard_book.dbをネットから拾ってくる。ブログ最後参照)
engine (ここはLinux用にビルドし直てコピーする)
html (masterブランチのソースにあるhtmlフォルダをコピー)
image (製品版からコピーするなり自作するなり)
image_source (製品版からコピーするなり自作するなり)
kif (空でOK)
sound (製品版からコピーするか、matarilloさん提供のフリー素材をいただく。または自作する)
eval (評価関数をKKP_synthesized.binなどをネットから拾ってくる。ブログ最後参照。各思考エンジンにコピーするか、ここからシムリンク貼る)

YaneuraOu2018フォルダの中のその他のファイルはこんな感じ。
MyShogi.exe (ビルドする)
MyShogi.pdb (ビルドするとobjフォルダにできる)
SoundPlayer.exe (ビルドする)
libwplay.so (ビルドする)
YaneuraOu.ico (masterブランチからコピー。メニューへの登録などに指定すると吉)
MyShogi.setting.xml (多分MyShogi.exe起動するとできるので気にしない)
MyShogi.engine.xml (多分MyShogi.exe内で思考エンジンの設定するとできるので気にしない)
MyShogi.exe.config (?なくてもなんか起動するので気にしない)

imageフォルダの中身は

game_effect (サブフォルダ。アップデーターから入手可能)
setting_dialog (サブフォルダ。アップデーターから入手可能)
message_box_v1_512_128.png (アップデーターから入手可能)
board_v1_1920_1080.png
board_v2_1920_1080.png
hand_number_v1_864_96.png
komadai_v1_1920_1080.png
komadai_v2_1920_1080.png
name_plate_v1_1920_1080.png
number_v1Rev_22_954.png
number_v1Rev_873_19.png
number_v1_22_954.png
number_v1_873_19.png
number_v2Rev_22_954.png
number_v2Rev_873_19.png
number_v2_22_954.png
number_v2_873_19.png
piece_atk_v1_776_424.png
piece_v1_776_636.png
piece_v2_776_636.png
piece_v3_776_636.png
tatami_v1_1920_1080.png
tatami_v2_1920_1080.png
turn_v1_1057_157.png
turn_v1_106_43.png
engine_init.png (373, 210)
myshogi_logo.png (633, 291)
no_banner.png (512x160)? 恐らく詰将棋用の思考エンジン用のバナーとおもわれ、各思考エンジンのbanner.pngと同じサイズになる
promote_dialog.png (410, 163)
myshogi_logo.jpg (633, 291)
各画像ファイルがどんな用途に使われているか雰囲気を伝えるためサムネイルの低解像度スクショだけでも貼っときます。
Image_folder2
image_sourceフォルダには以下のファイルがあります。ここでは駒の表・裏・裏(赤字)の3通りのグラフィックと盤の上部と右にある数字を描画しているようです。
Image_source
number_v1.png (1920, 1080)
number_v2.png (1920, 1080)
piece_v1_aka.png (1920, 1080)
piece_v1_ura.png (1920, 1080)
piece_v1_omote.png (1920, 1080)
piece_v2_ura.png (1920, 1080)
piece_v2_aka.png (1920, 1080)
piece_v2_omote.png (1920, 1080)
piece_v3_omote.png (1920, 1080)
piece_v3_aka.png (1920, 1080)
piece_v3_ura.png (1920, 1080)
もし自分で作る場合engine_init.pngなどはサイズはわりと自由かも。でもファイル名の最後にサイズが指定してあるのはちゃんと合わせるべし。参考までに私の手元にある画像の縦横サイズを併記してます。ここまで情報があれば製品版ない方でも自作できるかなぁ。しばらくまつとやねうらさん自ら画像ファイル公開もあり得るので早まらないで様子見することをオススメしますが。魔改造してみたい人はぜひどうぞ!そしてgithubなどでシェアすると楽しそうです。

3つのアップデーター(v1.24, v1.30, v1.37)はこちら

2つは正式に公開されているものでやねうら王MyShogiGithubのリリースにある。
もう一つは非公式で、やねうら王氏のブログ記事『将棋神やねうら王』update3までの遊戯施設においてある。
これをバージョンの低い方からYaneuraOu2018フォルダへ上書きしていく。おもにgame_effectとsetting_dialogサブフォルダにある画像ファイルが入手できます。

評価関数はこちら

ブログやねうら王からはじめるコンピュータ将棋ライフ-Part2-やねうら王の評価関数を手に入れよう。(2018/4/15更新)にリンクがあってあるので、そこからre_eval_from_zero_part4.zipを探してダウンロードし、evalに解凍。
これを各思考エンジンのサブフォルダからトップレベルのevalにシムリンク貼るか、書く思考エンジンのexeの隣にコピーする。

定跡ファイルはこちら

standard_book.zip : やねうら王 標準定跡
をダウンロードして、bookに解凍する。
これで遊べるはずです。

2018年9月 2日 (日)

ElementaryOS: ウィンドウズ10のVMをVirtioドライバでKVMに直インストール!

さてElementaryOSをインストールしたら、次はやっぱりウィンドウズ10のVMも手元にあるといいですね。ウィンドウズ10はライセンスなくてもマイクロソフトからISOをダウンロードして使いつづけられるのでウィンドウズVMとしては割といいかもしれないです。アクティベーションをしないとウィンドウズの細かいカスタマイズができない制限(例:タスクバーを上にしたいなど)がありますが、デフォルトで使い続けるのは可能のようですし、ウィンドウズアップデートもできるのでセキュリティ的にも安心。MSNにアカウント作らないといけないですが、これならウィンドウズ7を使い続ける理由がかなり減ります。

KVMのインストール

KVMでVMをつくる場合、CPUとマザーボードがKVMをサポートしてないと無理なのでまずはこれをクリアします。基本的に、kvm-okコマンドをやってOkになるようにBIOSを設定します。

素のLokiではおそらくkvm-okコマンドがないとなって

sudo apt-get install cpu-checker

をしろと言われるのでします。

で、次はこの微妙に古いUbuntu 14.04 LTS用のインストールガイドを参考にkvmをインストールします。

Lokiは16.04ベースですが、記事にもある14.04用の下のコマンド一発でインストール完了なので、記事はみなくともいいかも。

sudo apt-get install qemu-kvm qemu virt-manager virt-viewer libvirt-bin

virt-managerでGUIからVMのインストールをやっていきたいのでvirt-managerが入っています。

ウィンドウズ10のVMをvirtioドライバをつかってインストール

次はこのガイドにしたがってウィンドウズ10のVMを作ります。ガイドではコマンドラインでVMのインストールをしていますが、ここではvirt-managerでVMの制作をしてからガイドの3にもどってウィンドウズ10へvirtioドライバーの追加をします。

virtioを使わなくともウィンドウズ10のVMはつくれますが、KVMだとrawデバイスにしてもVirtualBoxより遅い感じでした。なのでKVM hypervisor用に作られたvirtioをつかって本来のパフォーマンスを得たいのですが、ウィンドウズ10のインストールディスクにはvirtioのドライバがないのが問題。しかし、上記ガイドのおかげでウィンドウズ10のインストール中にvirtioのドライバを追加する方法がわかりました。

基本的には、Fedoraが提供しているウィンドウズ用にビルド済みのバイナリがあるので、リンク先の[Stable virtio-win iso]からISOをとってきます。私が落としてきたのはvirtio-win-0.1.141.isoというファイル名でした。これをvirt-managerでウィンドウズ10のインストール開始直前にVMにCDとしてマウントして、ウィンドウズ10のインストール中にCDからvirtioのドライバをインストールしてやればよいのです。

  1. virt-managerを開いたら、File->New Virtual Machineを選び、VMの制作を開始します。

  2. 次の画面ではLocal install media (ISO image or CDROM)を選び、Forward。 01newvm

  3. 次はUse ISO imageを選び、ウィンドウズ10のisoを選択。 02newvm

  4. 適当に4GB以上のメモリとCPUコア好きなだけ割り当てる。 03newvm

  5. Select or creat custom storageを選択して、[Mange...]ボタンを押す。 04newvm

  6. プラスのボタンから新しいボリュームの制作。拙宅のインストールガイドに従った場合、/homeディレクトリは別のパーティションになっているはずだが、そうするとおそらく左側にはdefaultとDownloadsの2つのプールがあるはず。defaultは/varに置かれているのでメインのパーティションになるので、メインは貴重なSSDのパーティションだったりする場合、余裕のあるDownloadsを選択してからプラスのボタンを押して新しいボリュームを作ったほうが良いかも。 05newvm

  7. 適当にボリュームに名前をつける。私の場合、Formatをrawにした。これはIDEデバイスとしてならデフォルトのqcow2よりもrawの方が速かったからだが、今回はVirtioデバイスになるのでqcow2のままでも良いのかもしれないが試していないのでrawにしておく。ウィンドウズ10は容量結構いるので100GBくらいあげたい。あとからディスクイメージの拡張も簡単なのでケチってギリギリ20くらいでもインストールはできる。でも長く使うなら60くらいは最低欲しい。 06newvm

  8. 最後の画面で、Customize configuration before installをチェックする。ここ重要。 07newvm

  9. ここでVMの編成をインストール前にいじれるので、さっきダウンロードしたvirtioのISOをマウント(10に説明)して、さらにHDDをvirtioデバイス(11に説明)にする。 08newvm

  10. まず09の画面左下のAdd Hardwareボタンを押し、Storageを選択して、Select or creat custom storageをチェックし、virtioのISOを選択し、Device typeをCDROMにする。もともとあるCDROM 1にメディアマウントされていないっぽいのでそっちを使えばいいじゃないかと思うかもしれないが、そっちはウィンドウズ10のインストールメディアがマウントされる予定らしく開けておかないと失敗する。 09newvm

  11. IDE Disk1を選択して、Device busをIDEからVirtIOに変更しておく。 10newvm

  12. これで準備完了なので左上にある[Begin installation]を押してウィンドウズ10のインストール開始。

  13. ここからは適当に指示に従って、このガイドのステップ3にある Where do you want to install Windows?の画面まで進める。

  14. バスをIDEからVirtioに変更したので仮想HDDがウィンドウズ10からは見えなくなっているので、左下[Load driver]のボタンを押して、ウィンドウズ10にVirtioのドライバーを追加する。ここでパスは上記ガイドにあるようにviostorフォルダからWindows 8.1を選びamd64を選ぶ。ウィンドウズ10なのに8.1?と思うがそうなのだ。

  15. これでHDDが見えるようになったはずなので選択して、あとは流れでコルトナの声にびっくりしながらインストールをすすめればOk。

ちなみに

VM上では左のCtrl + AltでマウスがHostのOSへ帰ってくるので、全画面とかにした場合は、この状態で画面中央上にマウスを持って行くと全画面から脱出するアイコンが出てくる。

メモリとCPUコア数にもよりますが、VirtioにするとKVM上でのウィンドウズ10は結構パフォーマンスよい気がします。GPUパススルーとかもやってみたいですが、結構そう。

続きを読む "ElementaryOS: ウィンドウズ10のVMをVirtioドライバでKVMに直インストール!" »

2018年7月10日 (火)

ElementaryOSのすゝめ。インストールから日本語入力まで。

前書き

ElementaryOS LokiはUbuntu16.04ベースのMacOSのような外見のディストロであり海外ではかなり人気(ディストロウォッチ過去3ヶ月で3位、makeuseofでも好評化)。基本的にはあまりディスクトップをカスタマイズせずにそのまま使ってねという方針のディストロであり、私のようにデフォルトを気に入ったらインストール後すぐ使いはじめることができるし、再インストール時や複数のPCに同様の環境が欲しいという時に、非常に楽。私はLinux Mint(Cinnamon)だとアイコンやテーマを鬼カスタマイズしたくなってしまうが、ElementaryOSはそのまま使いたくなる。

ElementaryOSはよく考えられたデザインが本当に良い。無駄がなく統一されたシンプルなUI、デスクトップにアイコンがないスッキリ感(基本的に置けない方針)、厳選された最小限の家具がある作業場にいるような、そんなディストラクションフリーな感覚に覚える密かな興奮。これこそがElementaryOSを使う醍醐味。使うたびに嬉しくなる。ディストロはいろいろあるけど、私見では芸術作品とまで感じるのはElementaryOSだけ。

独自のデスクトップ環境Pantheonは基本的にはGNOMEベースでGtk+なのでUbuntuで動くソフト(Sublime Text 3とか)はそのままちゃんと動く。Appセンターには100を超えるElementaryOS専用のソフトと、Ubuntu用の膨大なソフトがあり、ソフトには困らない。

ElementaryOSインストール

ElementaryOSインストーラーは基本的にはUbuntuと全く同じ手順でよく、超カンタンかつ、非常に安定である。

Windowsからの移行の場合、インストール前にまずはWindows側で

diskmgmt.msc

して既存のパーティションをリサイズして、最低30-35GBくらい空ける。OSに10-15GB、スワップにメモリ分(例8GB)、/home用に12GBという計算。余裕があれば70GBくらいは欲しい。

ElementaryOSオフィシャルで、カスタムを選び0USDにしてDownload。個人的には初回インストールはただでいいと思う。試してちゃんと動いてくれて、気に入ってから払えばいい。

WindowsでUniversal USB Installerなどで落としたISOをUSBに焼く。(Step 1は下の方にElementaryがある。Step 4は0MBでも何でもオーケー。)

USBでブート、インストールを選ぶ。インストールは日本語で走らせても、日本語のインプット環境はインストールされないので結局手動でやることになる。

Installation typeのところでは一番下のSomething elseを選び、さっき空けたパーティションを3分割して、(1)Mount point ルート(/)にext4で15GB程度。(2)スワップに8GB(RAMと同じ程度)、(3)ユーザー領域(Mount pointは/homeでext4)に30GB。/homeを別のパーティションにしておくと、あとで他のディストロに浮気するときに共用できて便利なのでおすすめ。

インストーラーの最後で、/homeの暗号化を選べる。ユーザー名とパスワードを忘れるとどうあがいてもアクセスできなくなるので注意。

USBを抜いて、再起動。

日本語環境構築

日本人のユーザーも多いUbuntuやLinuxMintならおそらく嵌まらないとおもわれるが、なぜか日本では海外ほど人気がないElementaryOSでは注意が必要。ポイントは2つ。(1)IBusを削除してからfcitx-mozcを入れる。(2)fcitx-mozcはppa経由で最新版を入れる。の二点。

まっさらなインストール後の状態からelementaryos.stackexchangeの回答を見ながらmozcをインストールする。

ElementaryOS初回起動でibus自体はすでにインストールされているっぽいが、ibusのエンジンはなにも起動していないっぽい(ibus list-engineしたら Can't access to IBusといわれた)。それでもibusがfcitxと干渉するっぽいのでfcitxを入れる前にまずはIBusを削除。これをしないと2台のPCでmozcインストール後にOSが不安定になった。

sudo apt remove ibus

でおk。

再起動しろと言われるのでする。

その後、add-apt-repositoryがないと思われるのでsoftware-properties-commonをいれてから、ppaを導入。 ppaを入れなくとも古いmozcがインストールできてしまうがそっちはやたら遅いので注意。

sudo apt-get install software-properties-common
sudo add-apt-repository ppa:fcitx-team/nightly
sudo apt-get update

XenialのReleaseがないとか文句を言われるがとりあえず無視。fcitx-mozcインストール後にppaをすぐ削除する。

sudo apt-get install fcitx fcitx-config-gtk fcitx-table-all

sudo apt-get install fcitx-mozc ( fcitx-anthy は無しでよかった)

ppaを削除。

sudo add-apt-repository --remove ppa:fcitx-team/nightly

(ここでターミナルからim-configするとfcitxがすでにデフォになっているかもしれないが、その場合もちゃんとマニュアルで設定上書きしないとスクバーのfcitxのキーボードアイコンもでてこない)

ターミナルからim-configでfcitxを選び、一度logoff。これでキーボードの形のfcitxのアイコンがタスクバーにでる。このアイコン右クリックメニューからConfigureに行きmozcを追加(左下の+をクリックして、Only Show Current Languageのチェックを外してmozcを検索する)。またlogoff。デフォルトのmozcのタスクバーアイコンがElementary用ではないので、やたらでかいのでさっきのelementaryos.stackexchangeの回答の12にある手順でアイコンファイルを小さなアイコンで上書きしてやる。

sudo cp ~/Downloads/m8utEL8.png /usr/share/fcitx/mozc/icon/mozc.png

みたいな感じ。

ここで

System setting -> Language & Region

に行くとLanguage supportのインストールが完全ではないと言われるのでComplete installationすると、メニューも日本語化できる。終了。

もしppaを追加せずにsudo apt-get install fcitx-mozcした場合、多少古いバージョンのfcitx-mozcが入り、動作が遅くモサモサである。LeafPadというテキストエディタ上だけでは速い。Gtkのイベントハンドリング関係の問題か。

そういう場合、以下の手順でppa版を入れなおす。nightlyでもstableでもおっけーぽい。

1.sudo apt remove fcitx fcitx-mozc im-config

2.sudo add-apt-repository ppa:fcitx-team/stable

3.sudo apt install fcitx fcitx-mozc im-config

4.sudo apt updateでエラーになるので、ppaを削除する。

http://ppa.launchpad.net/fcitx-team/stable/ubuntu xenial Release 404 Not Found

sudo add-apt-repository --remove ppa:fcitx-team/stable

インストール後におすすめなこと

ここに随時記事を追加していく予定です。

  • ElementaryOS: ウィンドウズ10のVMをVirtioドライバでKVMに直インストール!
  • redshiftでブルーライトを軽減。目に優しく安眠
  • synergyでマウスとキーボードを複数PCで共有
  • Steam Playでウィンドウズゲームもできる
  • Linux版のSpotifyは広告少なめでかなりオススメ
  • なぜかmozcと相性が良いLeafPadエディターをインストール。サクサク打てる。
  • GoogleやFacebookの広告、トラッキングを避けるならBraveブラウザがオススメ
  • youtube-dlをapt-getし、動画のダウンロード。
  • dconf Editorで/org/pantheon/files/preferences/single-clickをFalseに
  • Google Earth Proもあるよ

続きを読む "ElementaryOSのすゝめ。インストールから日本語入力まで。" »

2018年6月19日 (火)

やねうら王MyShogiをLinuxでビルドしてみた

Build_w_images

2018年にマイナビ出版から発売予定という「商用版のやねうら王」のオープンソース版であるMyShogiをMonoDevelopでビルドしてみました。まだまだ未完成のようで遊べる状態ではありませんが、のちのちハックしてみたい方の参考になる部分もあればと覚書を記事にしてみました。

一応Linux Mint 18(Ubuntu16.04ベース)でも最新のwineで将棋所とかShogiGUIとか動かせるのですが、メニューのところが微妙に表示がおかしい(下図)のがきになるといえばきになる・・・。

Shogidokoro_on_wine

あと級位者なのでめっちゃ深い検討とかより「ぴよ将棋程度の棋力と精度でいいので高速に検討できたらいいなぁ」という感じなのでK-Shogiで検討したらいいのではと思ったらK-Shogiは私の環境ではWINEでうまく動かない。

Win7はできれば起動したくないので「やっぱりLinuxネイティブなアプリってほしいなあ」とかおもい、ElementaryOSにはまっていたちょっと前は開発言語のValaぜんぜんしらんけどElementaryOS専用アプリなんかつくってみたいので、必要最小限の簡単な将棋ソフトでもつくってみようかなと思っていたところ、

というツイートを目にし、Linuxもありですか?と凸ったところ

というお返事をいただき、これは期待大!であり、正直私ではちょっと苦労しそうなプロジェクトなので無駄な努力せんで良かったと胸をなでおろしたのであった。

というわけで、期待なMyShogiなわけだが、おそらくまず製品版がでて、それからちゃんと動きそうなオープンソース版が公開になる感じとおもわれるのでまだまだ待たねばならぬ。C#とあるし、MyShogiのGithubを覗くとやっぱり.NET環境っぽいのでもしかしたらMonoDevelopでビルドできちゃうのでは?と思い実行してみた。

ダウンロードしたソースをMonoDevelopで開いて、F7でMyShogiのビルドをしてみると


Done building project "MyShogi.csproj" -- FAILED.

Build FAILED.

CSC : error CS1617: Invalid option '7.3' for /langversion. Use '/langversion:?' to list supported values.
    0 Warning(s)
    1 Error(s)

とか怒られる。これはMonoDevelopについてくるコンパイラーがちょいと古いのか、ライセンスの関係かしらんけど Nugetでもって最新版をおとせばよい。

メニューのProject => Manage nuget packages...からMicrosoft.NET.Compilersをダウンロードする。これはプロジェクト毎にやらんといかんらしいので、MyShogiを新たにダンロードしたりした場合これをやり直す。

Nuget_2

ぬあんとこれだけで、じつはMyShogiのビルド自体は成功してしまい、MyShogi/bin/debugにはたぶんウィンドウズ用のEXEができている。まあ本当はビルドのターゲットをLinuxにしてやらないとネイティブアプリとは呼べないのでおそらくWINEと大差ないのだけど、とりあえず変更無しでクロスビルドできてしまったのには驚いた。

とはいえ、現在Githubにあるソースには駒や盤、畳の素材がないようで、画面は真っ暗で日本語も文字化け。

Myshogi_on_monodevelop

でもメニューから対局ウィンドウ出せたりはする。

Taikyoku

なんて経緯をツイートしていたらやねさん本人から素材の提供をしてもらったのでMyShogi-master/MyShogiフォルダにimageとimage_sourceフォルダをコピーして、TheApp.cssのコメントアウトしてある箇所をアンコメントしてやってビルドすると駒の画像がでるようになった。


            // 駒素材画像の変換
            ImageConverter.ConvertPieceImage();
            ImageConverter.ConvertBoardNumberImage();

盤と畳は重ねあわせとかの部分プログラム上で合成しているらしいので、そのへんは失敗してて、駒だけになっている模様。

ちなみに実行はコンソール上で


mono MyShogi.exe

とやって実行すると起動するが、EXEをダブルクリックしたりWINE経由で実行するとうまく行かない。

というところまでは二,三週間くらい前の話で、今日最新のコードを落として再現してみたらイメージの合成に失敗してウィンドウもでてこなくなったのでなんか変更あったのでしょう。

ちなみに、ぴよ将棋の絶妙な接待ぶりは級位者の私にはとても魅力であり、検討も速いわりに、技巧10秒で検討したときとあんまり評価値変わらない。ぴよ将棋すばらしい。そしてMyShogiも期待。

続きを読む "やねうら王MyShogiをLinuxでビルドしてみた" »

2017年12月 6日 (水)

Linux Mint 18.2でNoMachine 6をつかう。

Nomachinegallery

高速なリモートデスクトップソフトNoMachineをLinux MintのCinnamon環境で使っていろいろトラブったのでメモ。

まあ一応普通にインストール(下記参照)すれば使えるのだが、ローカルのマシンからログアウトした状況で他のマシンからデスクトップセッションを新しく作る形でリモートデスクトップをするとソフトウェアレンダリングになってしまい、ものすごく遅いという問題が発生した。

Cinnamonは多少マイナーなLinux Desktop環境であるため、NoMachineと相性が悪くてもしょうがないところはあるが、ローカルにすでにあるデスクトップには他のマシンからリモートデスクトップできているし、サーバー側のGPUも使えているようで、リモートデスクトップなのにYoutubeとか普通に見れるくらい爆速である。あとはサーバー側をディスプレー繋がなくともちゃんとサーバーらしく使えれば完璧なのだが。

なかなか解決法がググっても見つからず、自宅サーバーなのでまあいっかともおもったら、偶然対処法を見つけた。

対処法

まず、サーバーとしてつかうPCにローカルから直接または、リモートデスクトップでログインして、NoMachineのタスクバーアイコンからShow the service statusでウィンドウをだし、Restart the serverのボタンをクリックして、サービスの再起動をする。基本、そんだけ。

あとは他のPCからNoMachineでリモートデスクトップしてきて、ちゃんとソフトウェアレンダリングではなく普通のCinnamonが使えているか確認。

ちなみに高速なNXプロトコールをつかったNoMachineはウィンドウズクライエントもあり、全部フリーで使えるのでかなーりおすすめです。かなりの人がまだVNCで十分と思っているようなのだけど、NXプロトコールはほんとに早いです。XpraやVNC、MintのデフォルトDesktop sharingや、ふつうのXオプションでSSHするよりも爆速です。

あと関係あるかわかりませんが、万が一、NoMachineを入れたらCinnamonにログインできないという自体になった場合、昨日のエントリー「Cinnamonが死んだ。復旧。Mint 18.2」を参照ください。

NoMachineのLinux Mintへのインストール

ソフトウェアマネージャーやapt-get installではなく、DEBファイルをNoMachine公式サイトからダウンロードして、パッケージマネージャでインストールします。落としたDEBファイルをクリックしてインストールでもいいし、sudo dpkg -i にファイル名を渡してもいい。

インストール後にNoMachineのタスクバーアイコンからShow the service statusでウィンドウをだし、Server preferenceのタブに行き、さらにUpdateのタブへ移動し、Check Nowでアップデートの有無を確認、適時適用して、すべてのPCのNoMachineのバージョンを最新に保ったほうがトラブルを防げます。結構頻繁にアップデートあり。

続きを読む "Linux Mint 18.2でNoMachine 6をつかう。" »

2017年12月 5日 (火)

Cinnamonが死んだ。復旧。Mint 18.2

なんかしらないが、Mint 18.2のCinnamon desktopがご臨終。ログインスクリーンは出るものの、ログインすると真っ暗になってからログインスクリーンに帰ってくる。Cinnamonのソフトウェアレンダリングにしても変化なし。Guestではログインできるので、私のアカウントの設定がぐちゃった可能性高い。

こまってググった結果、この人が症状近い

ログインスクリーンでCtrl + Alt + F1 でコンソールへ飛んで、自分のアカウントでログインしてから、

startx

すると、.Xauthorityファイルをロックできないでタイムアウトになるというエラーが見えた。 なんるほど、.Xauthorityあたりを削除すればいいのかな。Cinnamonのコンフィグをぐちゃぐちゃにしちゃったのだろうか。NoMachineがXauthorityを開いて、開放するまえに死んだとかかなぁ。

sudo rm -fr ~/.Xauthority
sudo rm -fr ~/.config/autostart

をやって、

sudo apt-get purge cinnamon
sudo apt-get install cinnamon-desktop-environment

してから

sudo reboot

で、再起動。

なんか治った。

15

続きを読む "Cinnamonが死んだ。復旧。Mint 18.2" »

2017年9月 8日 (金)

古めの論文でテキスト選択がおかしい時の対処法

Multicolumn

例えば、Acrobatを使っているときに、テキスト選択ツールで、左のカラムを文章をコピーしたい。一行しか選択しないのなら問題はないが、複数のラインになるとまれに、右のカラムにまで選択範囲が行ってしまって、そっちじゃねーよとなる。

古めの論文にありがちですね。上のイメージは2005年のNeuron。

これは、古めの論文だとPDFに文章の構造を指定するタグをちゃんと埋め込んでいないため、PDFリーダーが賢くないとカラムの構造の類推に失敗することから起こる問題のようです。というかAcrobatでもダメなのでタグが無いようなPDFは出版社が悪いと思う。

ウィンドウズの場合は、PDF-XChange Editorだったら下の様に簡単にボックス選択できるのでなんとかなる。PDF-XChange Editorはフリーで、互換性まったく問題なし、本家Acrobatより速いのでおすすめです。

Pdf_xchange

Macな方の場合、PDF-XChangeがないのでAcrobatを使うしかないのが問題でしたが、最近Acrobat Proならばタグを自動で埋め込むことで大部分解決することを発見。たまにPDFからテキストをコピペするとスペースが抜けている場合がありますが、これもタグを削除して、自動生成し直すと治る。

やり方は「既存の PDF へのタグの追加」を参考に、ツールからアクセシビリティを選んで、文書にタグを追加を選択する。そうすると文章の構造を適当に認識してタグを追加してくれる。これで、大抵は治る。Acrobat Proじゃないといけないのが残念。

タグを直したほうが、ボックス選択よりも文章の選択が細かにできるので、Proのライセンスあるのならタグを追加するのが一番よい。PDF-XChange Editorでタグの編集とか追加はちょっと試したが、できなそうかな。。

なぜアクセシビリティにそんな機能があるのかというと、文章の読み上げ機能にカラムの構造の正しい認識が必要なため。

続きを読む "古めの論文でテキスト選択がおかしい時の対処法" »

2017年6月29日 (木)

Nokia 3買ったのでSamsung A3と比較。

(追記: Nokia 3はイマイチという評価でしたが、11月現在OSのアップデートが二度ほどあり、パフォーマンスがかなり改善しました。値段も考えるとこれなら悪くないという感じになりました。A3の方が速度的にはまだ多少リードしているとおもうけど十分使える程度に速くなり、体感上は画面のキレイさはSamsung A3に勝っている気がするので使っていてちょっと嬉しい。)

使っているSamsung A3 (2016年版)がまだ動くんだけど落っことして画面にヒビがはいっているので、謀ヨーロッパでは発売になったばかりのNokia 3に買い替えた。日本でももうすぐ発売だそうです。

定価はA3が200ユーロ、Nokia3は160ユーロで安いが、A3は安売りしていたのでどちらも160ユーロ(16000円くらい)で入手したし、Nokia3には発売時期で半年以上のアドバンテージがあるので比較してみる。このくらい安いと落として画面を割ったときの修理代くらいなのでよく落とす私にはちょうどいい。ツイッターみれて、ポケGoできるくらいならなんでも良いので。

A3と比べるとDual Simカードである点は、確実に勝っているが、あとはスペック的には似たような感じ。

Nokia3の方が1 cmくらい背が高く、横幅も数ミリ広い。大きいぶん、発熱や価格を抑えられて、CPUスペック的にも有利になるのではと思ったんだけど、実際はA3の方がCPUの性能が良いようで、ぴよ将棋のベンチマークをすると

A3 112 (4コア設定)
Nokia 3 98 (4コア設定)

ということで、Nokia3が負けてます。A3の発売は2015年12月ということで、部品の調達面でNokia3の方がかなり有利ではないかと思って買ったので残念。はやり良い部品はシェアが桁違いのSamsungが大量に安く買い付けてしまうのでしょうか。一年半たっても改善しないとは驚きです。

比較サイトでよく調べると Quad-core 1.5 GHz Cortex-A53とQuad-core 1.4 GHz Cortex-A53ということで、同じチップで、周波数がそのまま差にでたようです。

内部メモリ(RAM)に関しては1.5 GB と 2 GB でNokia3が勝っている。 バッテリーは2300 mAh と 2630 mAh でNokia3の勝ち。 ジャイロはNokia3は搭載。A3はなしでNokia3の勝ち。

ジャイロがあるとなにがいいのかと思うかもしれませんが、携帯をVRビュアーとして使うにはジャイロが必須です。まあ普通の人にはポケGoでVRモードが使えるくらいしかメリットはないかも。

CPUの他、メインカメラも13MPと8MPでNokiaの負け。ただNokia3は自動焦点タイプのフロントカメラらしい。A3のフロントカメラは5Mでオートフォーカスなし。SkypeとかWhatsappにはいいのかも。

実際に使った感じは、手に持った質感とか悪くないし、見た目も普通でスマートで割り好き。OSはAndroid 7で、結構いい感じ。一番気に入った点は、プリインアプリが皆無なこと。Nokiaはマイクロソフト傘下になったので絶対にOfficeをバンドルしてくると覚悟していたが、全くなし。A3はマイクロソフトの要らないアプリが多数、他にもFacebookとかSamsungのソフトがてんこ盛りで全部アンインストール不可能。ディスク容量とられるし、アップデートが頻繁に入ってアンインストールくらいさせてくれと激おこだったので非常に感動した。

しかし、最大の問題はもっさり感。A3(2016年)に比べても明らかにもっさり感がある。CPUの差なら8%以下のはずだけど、明らかにそれ以上の差を感じる。RAMは勝っているのでGPUとチップセットの差か。もしくはA3はAndroid 6.0.1なので、Android 7とドライバーのチューニングがまだ甘いのだろうか?(追記。CyanogeneのAndroid 7が走っているNexus7 (2013)が割りと快適なので、Android 7のせいではなさそう。GPUとチップセットの差ですね。)

A3の2017は330ユーロになる割にスペックがあまり変わっていないので、2016の残り在庫を見つけて買うと半額程度の160ユーロで買える。

結論。

Nokia3はもっさりで辛い。まあ全体的にはA3の方がいいです。子供用とかなら安くていいです。ポケGoはあそべますが、重いです。ジムに行くとよく落ちます。

追記: 6月の結論ではNokia 3はイマイチという評価でしたが、11月現在OSのアップデートが二度ほどあり、パフォーマンスがかなり改善しました。やはり考察したように、ハードウェアの差というよりもソフト面でのチューニングの差が大きかったのかな。A3の方が速度的にはまだ多少リードしているとおもうけど十分使える程度に速くなり、体感上は画面のキレイさはSamsung A3に勝っている気がするし、コスト面を考えると十分いいのでは。

A3は各所レビューでコスパが高評価な端末なので、それに総合的に肉薄するのなら悪くないでしょう。

続きを読む "Nokia 3買ったのでSamsung A3と比較。" »

2016年10月 5日 (水)

VirtualBox上のSAS University EditionサーバーにLAN経由でアクセス

昨日書いた記事で、SAS University EditionがサポートしているJupyter notebookサーバーをlocalhostからアクセスしてみました。

どうせなら、デスクトップでサーバーを走らせておいて、LAN経由でノートパソコンでアクセスできたらいいなぁとおもいやってみました。

試行錯誤しましたが、ブリッジモードにして、ポートフォワーディングをしてやればOKのようです。

Sas_bridge

ウィンドウズでVirtualBox Host-Only NetworkとPCの接続アダプター(Local Area ConnectionかWifi)を両方選択して、右クリックすると「ブリッジモードに追加」できます。ブリッジモードにするとNetwork Bridgeのアダプター用に新しいIPが振り分けられるので注意。

その後、

Sas_over_lan

ipconfigでLANのIPv4アドレスをしらべて、VirtualBoxのネットワークアダプター1をNATにしてポートフォワーディングをしてやります。

ぐぐるとHost-only adapterをつかえだの、Bridged adapterをつかえだのばかりあるのですが、私の場合NATで大丈夫でした。NATでもポートフォワーディングするまでだめだったし、ウィンドウズの方で設定したブリッジも外すとダメなので両方とも大事のようです。

同様にSAS Studioも10080をポートフォワーディングしてできるはずですね。

続きを読む "VirtualBox上のSAS University EditionサーバーにLAN経由でアクセス" »

2016年10月 4日 (火)

SAS University EditionでJupyter Notebookしてみる。

昔は大学の研究室でも大金をはたかないと使えなかったSASが、今はSAS University Editionがあって、個人用なら基本部分はタダで使える時代になりました。RとかPythonとかがあるので、時代の流れですね。基本部分しかないのでオラクルとかのdbを直接アクセスとかはできませんが、データがcsvに変換できるならなんでも取ってこれるので、まあ結構使えます。

オフィシャルのアナウンスによると、SAS University Editionは2016年の7月以降のバージョンからはJupyter notebookがついてくるらしいですね。

普通は http://localhost:10080 としてSAS Studioに行きますが、jupyterのサーバーがポート8888を使っているので http://localhost:8888 でアクセスできるはずなんですが、ウィンドウズのVirtualBox上でSAS University Editionのサーバーを走らせるとなんかダメだった。

VirtualBoxのNATのネットワークドライバーのSettingを確認してみるとポートフォワーディングにHTTPとHTTPSしかないのが原因っぽいので追加してみる。

Sasunivnat

Sasportforwarding

一応自分でJupyterのサーバーを使ってPythonでなんかする可能性を考えると18888を8888へ送った方が良いかなと思ったのでそうしてみた。

Sasonjupyter

動いた!

別に特別なことはせずとも、SAS University Editionのサーバーが走っていればJupyterのサーバーもすでに走っているようだ。でもつかってみるとSASってログが冗長だしJupyterにはあんまり向いていない気がする。optionsでログ簡潔にすればいいのかな。

options nosource nonotes;

続きを読む "SAS University EditionでJupyter Notebookしてみる。" »

より以前の記事一覧

広告欄


やっつけタイムライン

広告欄

オススメたち

  • Librem One

    LibremOneでプライバシーを取り戻せ!VPN、eメール、チャット、ソーシャルメディア詰め合わせサービス

    follow us in feedly

    かなり更新が不定期なため、RSSリーダーをオススメします。RSSを表示

    超安定なLinux Mintを応援中



    超かっこいいジャズピアノ岩瀬章光

    Jenny Mayhem超おすすめ

    今読んでいる

2019年5月
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31  

はてブ

無料ブログはココログ