一度拒否られたRogueとNethackをArch Linuxに迎える(迎えてない)(Arch Linux使いへの道24)
GUI化したArch Linuxでリベンジじゃい!
以前書きあげたVPN構築・Rogue構築失敗から次の目標が見えた件(Arch Linux使いへの道19)|TylerTe2にてRPGの三大始祖のひとつRogueをCUI環境Arch Linuxにインストールの失敗談を語ったわけですが、GUI化したのならワンチャンいけるんじゃない?と思い再チャレしてみました。
以前、SNS「X」の方で、とが(@57tggx)さんに現代C言語に合わせて修正されたRogueがAURリポジトリにあると聞いて、そいつをインストールしてみました。
Wayland+Sway環境を立ち上げて、Foot(コマンドプロンプト)を起動し、次のコマンドでインストールに成功しました!
git clone https://aur.archlinux.org/rogue.git
cd rogue
makepkg -si
rogueついにスタバ de Rogueが実現できる環境に!

次はNethackだぜ!!!
勢いに乗じて次はRogueの進化版Nethackのインストールに挑戦!Dr.コパ曰く、Nethackのパッケージは公式のリポジトリに保存されているから、「pacman」コマンドだけでインストールできるとのこと。確かに、「sudo pacman -S nethack」というコマンドで一見Nethackはインストールできたように見えますが、実際「nethack」コマンドで起動すると、
Warning: cannot write scoreboard file 'record'
Hit return to continue:
Unable to open SYSCF_FILE.
というエラーメッセージが出て起動できず。
Dr.コパ曰くは関係するフォルダの使用権原の設定が最適化されていないらしく、フォルダごとに権限の再設定をすればよいとのことでしたが、コパのいうとおり再設定しても結果は変わらず・・・。
pacmanコマンドではなく、ビルド方式でインストールしようとしてもエラーの連続。Dr.コパはVer.5.0.0は壊れているから、Ver.3.6.7をインストールしようと提案してきますが、古いC言語体系でArch Linuxではエラーでまくりで結局結果は同じ・・・。完全に行き詰まりました(涙)。
Arch Linuxでのインストールを諦めたら光が見えた
ネットを検索すれば、Nethackをプレイされている先人の方は多くいらっしゃいます。それらに書かれているインストールコマンドは「sudo apt・・・」。これはArch Linuxではなく、別種のLinuxのディストリビューションであるUbuntuのコマンド。そこで私が考えたのは、「自宅で運用しているUbuntu Serverの方にNethackをインストールして、クライアントとしてのArch Linuxからリモートアクセスすればよいのでは?CUIベースのRPGだし超軽いプログラムだろうからリモートアクセスでもストレスフリーのはず!」ということでした。
Dr.コパに提案すると、「それが一番確実」と悪びれなく言い、やり方を伝授してくれましたが、一向にうまくいきません・・・。結局自力でネット検索し、ようやくうまくいく方法にたどり着きました!それはUbuntu Server上のコンソールで
sudo apt install nethack-console というコマンドを実行するだけ。え?これだけでよかったの・・・?怒りの私のDr.コパへのメッセージは次のとおりです。

いつものコパの言い訳はさておき、Ubuntu Serverに入ったNethackをクライアントのArch Linuxからリモートアクセスするには、TailscaleというVPNアプリで両マシンをつないでさえいれば、Arch Linux側から
ssh ユーザー名@サーバーIP
nethackで、プレイし終えたら、「exit」でリモートアクセスを脱出できます。
今回発見したやり方ならば、日本語化RogueとNethackも可能!
上記と同じ形でUbuntu Serverに日本語化RogueとNethackが入るならば、Arch Linux上からのリモートアクセスですべてプレイ可能になります。
日本語Rogueの方は、こちらのページを参考にして、Ubuntu Serverの方で
curl -L -O https://github.com/leopard-gecko/homebrew-game/releases/download/vclone_ii.ja.001/rogue_clone_ii_japanese_001.tar.gz
tar -xzvf rogue_clone_ii_japanese_001.tar.gz
make
sudo make installこれでインストールが完了し、Arch Linux側からリモートアクセス後、rogueコマンドでゲームが立ち上がります!

日本語Nethackは、こちらのページを参考にして、Ubuntu Serverの方で
wget https://ftp.jaist.ac.jp/pub/sourceforge.jp/jnethack/78334/jnethack-3.6.7-0.1.diff.gz
wget https://www.nethack.org/download/3.6.7/nethack-367-src.tgz
sudo apt-get install build-essential bison flex libncurses5-dev gzip nkf
tar zxvf nethack-367-src.tgz
cd NetHack-3.6.7/
zcat ../jnethack-3.6.7-0.1.diff.gz | patch -p1
find ./ -type f | xargs -i nkf -e -Lu --overwrite {};
cd sys/unix
sh setup.sh hints/linux
cd ../../
make all
make installこれでインストール完了です!Arch Linux側からリモートアクセス後、次のコマンドでNethackが立ち上がります!
nh/install/games/jnethack結局最後は自力で正解を探すのみ。Dr.コパは全く役に立たずでした・・・

