夜更かし紀行

もしかしたら何かの役に立つ技術的なもの

Android上でLinuxターミナルを動かす

たまたま見つけたTermuxというAndroidアプリが面白かったので紹介します。タイトルの通りこのアプリはAndroid端末上にLinux環境を実現できます。aptコマンドでパッケージ管理ができるのでいろいろ活用の幅は大きそうです。

f:id:wpn:20190813003511p:plain

Termuxのインストール

Playストアからインストール可能です。ルート化の必要もありません。

play.google.com

アプリを起動するとそこはもうLinuxターミナルの世界
f:id:wpn:20190813000129p:plain:w360

初期状態だとアプリ内フォルダしかアクセス権限がないので、必要な方は以下のコマンドを実行しましょう。シンボリックリンクを作成することで端末内のファイルに触れるようになります。

termux-setup-storage


aptのアップデートはこんな感じ

apt update
apt upgrade


Hello Worldしてみる

とりあえず手始めにviでhello worldを書いて遊んでみます。

pkg install clang
mkdir hello
cd hello
vi hello.c
gcc -o hello hello.c
./hello


hello.c

#include <stdio.h>
int main()
{
   printf("Hello, World!");
   return 0;
}


結果
f:id:wpn:20190813000507p:plain:w240
ちゃんと動きました!

y-cruncherを動かしてみる

Linuxが動くならということでふと思い立ってy-cruncher(世界最高速の円周率計算ソフト)を実行してみることにしました。円周率計算の世界記録Google Cloud Platform(記録樹立時の環境は96個の仮想CPU+1.4TBのRAM)でぶん回されたらしいですが、果たしてスマホで動かすとどうなるか。

こちらの公式サイトからy-cruncherのLinux実行ファイルをダウンロードした上でごにょごにょします。

mv 'storage/downloads/y-cruncher v0.7.7.9501-static.tar.xz' ~
tar -Jxvf 'y-cruncher v0.7.7.9501-static.tar.xz'
cd 'y-cruncher v0.7.7.9501-static'
./y-cruncher


結果
f:id:wpn:20190813000730p:plain:w360

Exec format errorと怒られて動きません…
ソースファイルがあるなら再コンパイルして動かせると思うのですが、ソース非公開なので無念。
詳しい方もし何とかする方法があれば教えてください。

終わりに

エミュレータとしての完成度は高そうなので普段からLinux使う人はBluetoothキーボードを持ち歩けばちょっとした作業ならAndroidで対応できるかもしれません。
以上Termuxの紹介でした。