はじめに
オープンロジのエンジニアで @ttaka と申します。
この記事は OPENLOGI Advent Calendar 2018 の14日目になります。
さて、普段は MacBook Pro の 15 インチで開発してるのですが、気軽に持ち運べるサイズではないので、スマホで開発環境が動くと便利なのになぁとよく思ってます。最近のスマホは大画面でメモリも多く積んでいるため、ノートパソコンの代わりに Android 上で開発できないか調べてみました。
※この記事は社内に余っていた検証用の Android 端末で実行しています。ご自身のスマホなどで実行される場合は、リスクをご判断のうえ自己責任でお願いします
Android 上で動作する Linux 環境
ググってみたところ、いくつかあるようですが、次のふたつがよさそうです。今回は UserLAnd のほうを試してみます。
UserLAnd
- https://userland.tech/
- root 化不要
- Linux のディストリビューションを実行できる
- デスクトップ環境も動作可
Termux
- https://termux.com/
- root 化不要
- パッケージ管理は apt
- 用意されているパッケージも豊富
UserLAnd のインストールと設定
まずは Google Play から UserLAnd をインストールします。そして、起動するとこのようなアプリケーションの一覧画面が表示されます。
- 今回は Arch Linux を選択
- ストレージのパーミッションを聞かれるので
OK!
押して許可 - ユーザー名とパスワードとVNCパスワードを聞かれるので、それぞれ入力して
CONTINUE
- コネクションタイプを聞かれるので、 SSH と VNC のうち VNC を選んで
CONTINUE
- ダウンロードとファイルシステムの設定が行われるので、終わるまでしばらく待つ
- bVNC のインストールを求められるのでインストール。なお、 SSH を選択した場合は ConnectBot になる
- UserLAnd に戻って Arch をタップすると bVNC が起動して画面が表示される
- Arch Linux のアップデート
sudo pacman -Syu
- 何はなくとも Emacs をインストール
sudo pacman -S emacs
無事 Emacs が起動したので、この時点でかなり満足してますが、当初の目的のためにもう少し続けます(笑)
PHP のインストールと Laravel プロジェクトの作成
- PHP と composer をインストール
sudo pacman -S php composer unzip
-
Laravel のドキュメント を参考にサンプルのプロジェクトを作成
composer global require "laravel/installer"
.composer/vendor/bin/laravel new blog
- 動作確認
cd blog
php artisan serve
- ブラウザで http://127.0.0.1:8000 にアクセス
こちらも無事動作!あとは MySQL/MariaDB や Node.js などをインストールして環境を整えていけば開発できそうですね。
デスクトップ環境のインストール
開発するだけなら CUI のみで問題ないですが、せっかくなのでデスクトップ環境も試してみます。
※ストレージをかなり消費するので、空き容量に注意!
https://github.com/CypherpunkArmory/UserLAnd#installing-a-desktop を参考に
- Google Play から XServer XSDL をインストール
- XSDL を起動
- 追加フォントをインストール
- 完了すると画面に接続情報が表示される
つぎに Arch Linux 上で
sudo pacman -S lxde
export DISPLAY=:0 PULSE_SERVER=tcp:127.0.0.1:<XSDLの画面に表示されたポート番号>
startlxde
おぉ!ただ、さすがにスマホ上だと操作が微妙なので、利用するなら外部ディスプレイとマウスが欲しいですね。
おわりに
スマホもどんどん高性能化して、一昔前のノートパソコン並みになってきてるので、 Docker とかも動かせるようになれば、開発環境をそのまま持ってこれる時代がきそうですね。
今回は時間がなく断念しましたが、機会があれば Termux のほうも試してみたいと思います。