Kikuchy's Second Memory

つくる楽しさをもっと伝えたい。プログラムを書いていて、わからなかったこと・気付いた事を書き留めています。

GPD WinにXubuntuを入れてコーディングする

以前
GPD Winで通勤中にコーディングしたいという記事を書いたのですが、
やっぱりWindows (bash on Ubuntu on Windows)での運用は辛かったのでLinuxに乗り換えることにしました。



何が辛かったのか


satさんが性能比較をしてくださっているとおり、ファイル入出力が遅いのが一番つらいです。

qiita.com


コンソールでvimを使ってスクリプトを書いて…というのがメインだったのですが、
ファイルを開くのも10秒くらい待たされ、保存でも数十秒待たされ、
という感じだったので流石に我慢できなくなって乗り換えを決意しました。

どのLinuxディストリビューションを使おうか

GDP Winは非力なUMPCです。
でもサクサク動いて欲しい。

開発のために色々とプログラムを動かすため、OSなど常駐プログラムがたくさんメモリを食ったりするのは許せません。

そこで、ウィンドウマネージャにXfceを使えばまあ軽量だろう、という安直な考えで、まずはXubuntuを導入することにしました。

じつはその前にManjaro Linuxという、Arch Linuxベースのディストリを導入しようとしたのですが、どうしてもWifiが繋がらずにあきらめてしまいました。
またLinuxの知識がついたり、Debian系で満足できなくなったら、いつかArch系にも挑戦してみたいと思います。
GentooはCPUが非力なのでちょっと…

XubuntuをGPD Winに入れる障壁


GPD Winはそこそこ特殊な端末で、普通にXubuntuを入れようと思っても期待通りに動いてくれません。

  • 画面が横になってしまう
  • Wifiがつながらない
  • 電源ボタンを押しても反応しない

など、いくつかの不具合がコミュニティに報告されています。

その不具合報告をベースに有志の方々がカスタムディストリを作る方法を公開してくださっているので、それを参考にXubuntuをカスタムしました。


カスタム方法はこちらのページを参考にさせていただきました。

[GPD Pocket]GPDPocket向けにUbuntu系ディストリビューションをリビルドできるツール – BOOLEE STREET.net

上記はGPD Pocket向けですが、GPD Winも使用しているWifiモジュールが同じものだったりするので、問題なく使用できています。


当方、母艦はMacなので、まずはXubuntuをインストールした仮想マシンを用意します。
今回はVirtual Boxで作成。

作成した仮想マシン内でrespinしていきます。

$ sudo apt install -y git wget genisoimage bc squashfs-tools xorriso libssl-devel dpkg-dev
$ git clone https://github.com/stockmind/gpd-pocket-ubuntu-respin.git
$ cd gpd-pocket-ubuntu-respin
$ wget (どこか近いところからXubuntu17.04のisoを落としてくる)
$ ./build.sh xubuntu-17.04-desktop-amd64.iso 

仮想マシンだったのもあって時間はかかりました。確か3時間くらい。

あとは適当な方法で出来上がったISOファイルをUSBメモリに焼けば準備完了。

焼きあがったUSBメモリをGPD Winに挿して、Boot MenuをいじってUSBから起動、指示に従ってインストールするだけ!!

今回はWindowsを残さず、全部フォーマットしてLinux向けにパーティショニングをやり直しました。

これで完成。
後はDPIやマウスカーソル速度などを調整して出来上がりです!


出来上がりはこちら。
実機で動いている様子を撮りたかったので画面は見づらいですが、ご勘弁を!

f:id:kikuchy:20171003235513j:plain


IntelliJも動きます。
時々補完の表示が遅いかなと感じる程度で、Kotlinのプログラムもバッチリ書いて動かせます。
問題だったvimもストレスなく動作します。
zshも問題ない速度で補完してくれるので、普段使いにも支障ありません。
これで通勤中もコードを書ける!

さて、何を書こうかな。