Help us understand the problem. What is going on with this article?

NYAGOS + Console 2 に関するメモ

More than 3 years have passed since last update.

Windows の cmd がダサいのはみんな思っていることのようで,それに代わる環境も色々あるのだが, NYAGOS + Console 2 が良いらしいと聞き試してみることにした。

NYAGOS (Nihongo Yet Another GOing Shell)

元々 NYAOS (Nihongo Yet Another Open Shell) というのがあって OS/2(!)とか結構 legacy な環境でも動くらしいが, NYAGOS はそれを Go 言語で書きなおしたものらしい。現時点(2015年5月23日)で 4.0.7_5 がリリースされている。

バイナリが配布されているのでそちらを使えばいいのだが,せっかく Go 言語だし,配布されてるパッケージが Win32 版のみのようなので,自分で Win64 用にビルドしようと思ったのが大間違い。どハマりしてしまった。

NYAGOS ビルドの要件

readme.md には Go 言語 1.4.2 と Lua 言語 5.3 が必要とある。

(Lua 言語は組込み用途に強いと言われていて(VM が軽量で組込み用途に向いているらしい),他にも LuaTeX みたいな実装もあるし,そのうちちゃんと勉強しなきゃなぁ,とは思っている)

しかし実際にはこれだけでは足りなくて,ビルドするのに windres.exe を起動しているようで,そうなると MinGW が必須ということになる。やれやれ。

(5/24 追記: windres.exe は PATH 上に存在しなければ起動しないらしい。コメントでの指摘ありがとうございます)

make.cmd を見ると,他にも robocopy や taskkill といったツールを起動しようとするが,これはインストール時のファイルコピーに必要なだけなので,最悪なくても(手動でコピーできるので)問題ない。やれやれ。

ビルドは make.cmd を起動して

C:>make.cmd get
C:>make.cmd

とすればよい。最終的に実行に必要なファイルは

  • nyagos.d\*.lua
  • nyagos.exe
  • nyagos.lua
  • nyole.dll
  • lua53.dll

となる。ん? nyole.dll ってなんだ?

nyole.dll

NYAGOS 実行時に nyole.dll なるものが必要らしい。

といっても使ってるのは nyagos.lua の一部で、 nyagos.d/ 内のファイルをリストアップするのに Scripting.FileSystemObject を使っているくらいです。

と書かれているが,実際には .nyagos ファイルの読み込みにも使ってるみたいなので,実質的にこれがないとまともに動かないっぽい。やれやれ。

しょうがないので zetamatta/nyole を取ってきて MinGW 64bit 環境でビルドしようとしたがエラーになる。って Lua のソースファイル(厳密にはヘッダファイル)がいるんかい!

これも Lua のサイトから取ってきて再びビルド。やっぱりエラーになるけど DLL ファイルはできてるっぽいので,それをつかって nyagos.exe を起動しようとしたら,「おめーの作った DLL なんか使えるか,ボケ!」(←超意訳)と Windows に盛大に怒られた。あーもう,やめやめ!

Golang でビルドできるというので試してみたのだが, Golang と関係ないところで面倒臭すぎる。結局 MinGW & Lua の開発環境が分かってないとどうしようもない。NYAGOS なんて看板に偽りありだ。 NYALUS とかに改名すべき。

結局

ビルドは諦めて 32bit 版のバイナリを落としました orz

(5/24 追記) @nocd5 さんが 64bit 版 NYAGOS のビルド記事を上げてくださいました。自分でビルドしたい場合はこちらをどうぞ。

Console 2

これ,最終版が2011年なんだけど,大丈夫なの? もう sourceforge で放置されてるってだけで怪しいんだけど。

最終版は 2.00b148。 Win32 版と Win64 版のバイナリが用意されている。当然 Win64 版を選択。

Console 2 は IME が使えないらしいが IME を使えるようにしたバージョンを配布しておられる人がいるらしい。ありがとうございます。

ただ,この Console 2,日本語を入力したり表示したりしようとすると(文字化けならともかく)盛大に画面がぶっ壊れるんだけど,これってうちだけの現象なのかなぁ。

Console 2 はタブごとに shell を指定できたり(もちろん NYAGOS も使える)して便利なんだけど,イマイチだなぁ。 MSYS の bash と組み合わせれば多少使えるのかもしれないが,それするくらいなら Linux の仮想マシン立ち上げて,そこで MinGW のクロス環境を作るほうがマシな気がする。

というわけで,続きはこちら:

ブックマーク

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした