【Windows】TuxguitarをWSLとX11でインストールする

【Windows】TuxguitarをWSLとX11でインストールする
Advertisement

どうもfkdm(@fkdm88)です。

背景

趣味のギターで、何か弾きたくなったらPTBファイル(PowerTabEditor)で探していた。 スコアを探していると、GuitarPro用のGP4やGP5ファイルなど見つかるが、PowerTabEditorは、これらのファイルに対応していないため困ってたりもした。

そんな時にみつけたTuxGuitarというTAB譜作成ツール。なんとPTBファイルはもちろん、GuitarPro用のGP4/GP5ファイルにも対応しているらしい。

早速導入してみることにした。

しかしながら…

インストールして起動しようとしてみてもJavaが見つからないよというエラーに遭遇。 キャプチャ忘れましたが、Failed to find Java VMだったかな。そんな感じのエラー。

ググると結構有名なエラーのようで、一度アンインストールして別のURLからインストールすると改善するとのこと。(参考

改善するかといって、それはちょっと…

対処法がちょっと許せず導入するのを渋っていたところ、TuxGuitarはOSSでありクロスプラットフォームであることが判明。サブPCのManjaro Linuxに導入してみると普通に起動でき使えた。

前置き長くなりましたが、こういう経緯でWSL2+X11+TuxGuitarの導入に踏み切ったわけです。

メリットとデメリット

メリット①:Failed to find Java VMは発生しない

背景に書いているインストール問題は発生しません。後述するパッケージ管理ソフトにより、ユーザがどのページからどのリンクでインストーラをDLすべきか、悩む必要がないのです。

メリット②:パッケージ管理が容易

Windowsとは異なり、Linuxであればパッケージ管理ソフトが導入されているのが普通。UbuntuだったらAPTだしArch系であるManjaroならPacmanやAUR。最新がリリースされたらいち早く更新しておきたいよね。OSSなら特に。 そういった点でもパッケージ管理がしやすいのは個人的にとってもメリットに感じます。

※余談ですがWindowsでのパッケージ管理はScoopを愛用していますが、tuxguitarは昔extras bucketにあったようだけど、執筆現在はmanifestから削除されてしまったみたい。残念。

デメリット:Win側にX11サーバを導入する必要あり

デメリットというわけでもないだろうけども、LinuxのGUIアプリを起動するために必要なX11サーバというものをWindows上で導入しておく必要があります。ぐぐれば出てくると思いますがvcxsrvとかね。

といっても、scoopならscoop install vcxsrvで一発だし、今後Linux用のGUIアプリで遊ぶこともあるだろうし、個人的にはそこまでデメリットに感じていない。

手順

さぁ、いよいよ手順です。勿体ぶってますが、一瞬ですっ!

1. WSLでの手順

やることはtuxguitarのインストールと、X11サーバと接続するための環境変数追加のみ。

$ sudo apt update && sudo apt install tuxguitar
$ echo 'export DISPLAY=$(cat /etc/resolv.conf | grep nameserver | awk '\''{print $2}'\''):0.0' >> ~/.bashrc
$ source ~/.bashrc
2. Windowsでの手順

こちらも一瞬。X11サーバをインストールして起動するだけ。スタートアップに登録しておいて常にX11サーバを立ち上げておくこともできるようだが、常時必要ではないプロセスが常時起動しているのは嫌いなので、使う時だけ起動するのがfkdm流。

  1. vcxsrvをインストール。以下はscoopで導入する場合。 scoop install vcxsrv
  2. スタートメニューを開く
  3. 検索バーにXLauncherと入力。候補で見つかるXLauncherを起動。
  4. お好みで設定変更できるが「次へ」を連打して「完了」でOK
  5. ひとつ注意しないといけないのが、ファイアウォール設定でパブリックネットワークでも許可しておかないとX11サーバとWSL2が通信不可。参考リンクを確認すること
3. TuxGuitarを起動

WSL上で以下コマンド実行。

$ tuxguitar

無事起動!

tuxguitar
Tuxguitar capture
Advertisement