Help us understand the problem. What is going on with this article?

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

More than 1 year has passed since last update.

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

https://qiita.com/iruka/items/5bcc36aa07518f099b5e

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クラスタのスレイブノードにできるものは見当たらなかった。もし知っていたら教えてください。

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした