Termuxって
簡単にいえばsandbox内でパッケージ管理ツールとTerminalを用意してくれるお手軽linux環境です。
androidのrootを取らなくても素のandroidにtermuxをインストールするだけで
golangとか
python3とか
nodejsとか
phpとか
➜ ~ go version
go version go1.7beta2 android/arm64
➜ ~ python3 --version
Python 3.5.2
➜ ~ node --version
v6.3.1
➜ ~ php --version
PHP 5.6.23 (cli) (built: Jul 1 2016 16:20:41)
neovimとか
$ nvim --version
NVIM 0.1.5-dev
git とか
$ git --version
git version 2.9.2
がインストールできます
$ apt update && apt install python python-dev golang gcc nodejs php git neovim
以下のコマンドを使うとoh-my-zshを入れることも出来ました
$ sh -c "$(curl -fsSL https://raw.github.com/skeevy420/oh-my-zsh/skeevy420-termux/tools/install.sh)"
つまり開発環境が手元に揃います
golangも動くので(ただしgccも入れないとリンクエラーが出る?)
pecoも入りますし。
勉強会に颯爽とAndroid端末とキーボードだけで乗り込んだらきっと注目の的です
ただし問題点も幾つか
sandbox内での動作なのでPATHがヘンです
PATH=/data/data/com.termux/files/usr/bin
/bin/sh
固定を期待するスクリプトとか動かすのがちょっと面倒です
sshdも動くけどポートが8022
1024までのポートは使用禁止です。
sshdも常駐ではなく手元で起動する必要があります
sshd使用手順
PCにAndroidをつなぐなりpushbulletを使うなり、
自分の公開鍵をandroidのどこかにコピーします(sdカードとか)
以下のようにAndroidの画面をいじって公開鍵を登録します
$ cat /path/to/id_rsa.pub > ~/.ssh/authorized_keys
$ chmod 600 ~/.ssh/authorized_keys
$ sshd
後はネットワーク経由でpcからsshで入るだけです
❯ cat ~/.ssh/config Host 192.168.11.15 freetel(192.168.11.15)
HostName 192.168.11.15
IdentityFile ~/.ssh/id_rsa
Port 8022
ForwardAgent yes
❯ ssh 192.168.11.15
常駐アプリ系はうごかせない?
apacheとかはパッケージに用意されていませんでした。
goでサーバアプリを書いたら動きましたが
androidを放置しているといつの間にか止まっていました。
- crontabは効かない
コマンドは用意されていますが反映はされないみたいです。
fish シェルは動かない?
足りないパッケージがあるみたいで動かせますが不具合があるようでした
以上です。visualStudioCodeを使ってきましたが
これをきっかけにvimの勉強をまた始めたくなってきました。
consoleって本当にいいものですね。