LoginSignup
18
12

More than 5 years have passed since last update.

【調べもの】AndroidのCUI開発環境

Last updated at Posted at 2018-04-19

AndroidはLinuxカーネルを利用しているため、「Androidでも開発環境を作ろう」という試みはいくつもされてきた。

個人的に「古いAndroid端末をスレイブノードにしたクラスターシステムを作りたい」という野望があり、いくつか試してみた。ここではそのAndroidで使えるターミナル環境をまとめてみようと思う。

試したもの

Android Terminal Emulator (ATE)

Google Play
おそらく調べた限りでは一番古い。

  • 容量が軽い。
  • 古い端末にも対応している。
  • sshdが使えない(多分)。
  • ハードウェアキーがUS配列にしか対応していない。(Google日本語入力を使えばJISが使える?)

Termux

Google Play

  • aptが使える。
  • ポートが固定されているなど制約はあるが、sshd(sshサーバ)が使える。
  • gccが使えずllvm系のclangを使う必要がある。fortranは使えるコンパイラがない。
  • openMPIもaptでは入らない。
  • Emacsが重い。

Archlinux on Termux

github

Termux上にArchLinuxをインストールすることもできる。

  • ArchLinuxなのでpacmanが使える。
  • gccが使える。
  • sshdが走らない。
  • 容量が全部合わせて4GB近くなった。スマホやタブレットの限られたストレージでこの容量は痛い。

UserLAnd

prootという機能を使って疑似的なroot環境を再現しているらしい。別記事にて。
https://qiita.com/Bluepost59/items/7f5608dff98c82ffb668

調べたもの

GNURoot Debian

Google Play
名前に「Root」とあるが、root不要でインストールできる。prootという機能を使って疑似的なroot環境を再現しているらしい。インターフェースにATEを使っているようだ。

  • aptが使える。
  • gccも入る。
  • openSSHではsshdを走らせることができないが、dropbearを使えばSSHサーバもできるらしい。
  • なんと、お目当てのopenMPIもaptで入れることができる。
  • ATE同様US配列しか使えない。emacsでカーソルキーもつかえない(これはちゃんと設定すればいけるかも?)。 Google日本語入力を使えばJIS配列で使える。(ただしいろいろ癖がある。これについては別記事でまとめたいと思う。)
  • 2018年夏頃に開発が終了し、UserLAndに受け継がれた模様。

Linux on Android

Androidに無理やりUbuntuをインストールする。rootが必要。手持ちの端末でrootを取ろうとしてできなかったので試せなかった。

Linux on Androidでクラスタコンピューティングをしている先行研究がある。
Android端末を使用したクラスタ計算機システムの構築

その研究グループはその後openMPIをAndroidNDKで実装しなおしているようだ。
無線接続型Androidクラスタシステムの自動構築制御手法

キーボードとIME

CUIではCtrlやAltといったキーが必須になるが、通常のAndroid向けIMEの多くには備わっていない。そもそもコーディングするのにタッチは大変なので、物理キーボードはあった方がよい。

物理キーのつなぎ方はbluetoothでもUSBでもよい。最近は百均でもmicroUSB-USB Aの変換ケーブルを売っているので、108円でPCのものを流用できる。

まとめ

おそらく一番お手軽なのはTermuxかUserLAndだと思う。gccを使いたいならUserLAnd一択だと思う。

ただしopenSSHでsshdが走ってMPIも使える、MPIクラスタのスレイブノードにできるものは見当たらなかった。もし知っていたら教えてください。

18
12
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
18
12