Posted at

通勤中のTermuxでおすすめの兵法

皆さんが通勤中に使っているTermux、やはり使っていて便利なので、おすすめの例をメモ的に挙げておく。

基本は「@HirotakaKikushima - 【TermUX】AndroidでLinuxのソフトウェアやプログラムを使う」にも載っているが、ハマりどころもあるので本稿では補足を加えている。


Termuxの準備


まずパッケージを更新

Termuxのパッケージ管理はpkgコマンドで行う。

$ pkg upgrade


Homeディレクトリ~/から内部ストレージにリンクを貼る


  • Termuxの~//data/data/com.termux/files/home/つまりdata下にある

  • 普段使っている内部ストレージは/storage/emulated/0/にある

  • 直接入ることはできるがPermission deniedなのでlsコマンドが使えず、Tab補完もできないので不便。

そこで内部ストレージに~/から繋ぐ。

$ termux-setup-storage

これで~/storageディレクトリが生まれてリンクが貼られ、~/storage/=/storage/emulated/0/みたいな状態となる


gitを入れてsshを通す

まずgitを入れる。

$ pkg install git

これでgitコマンドを使えるようになる。

次にSSHの設定をするためRSA方式で秘密鍵と公開鍵を作る。

$ ssh-keygen -t rsa

すると、

Generating public/private rsa key pair.

Enter file in which to save the key (Homeディレクトリ/.ssh/id_rsa):

と訊かれるのでEnter

Enter passphrase (empty for no passphrase):

Enter same passphrase again:

ここは好きなパスワードを入れてEnter。

何も入力しなくても通る。

Your identification has been saved in Homeディレクトリ/.ssh/id_rsa.

Your public key has been saved in Homeディレクトリ/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:.......... ユーザ名@ホスト名
The key's randomart image is:
+---[RSA 3072]----+
...
+----[SHA256]-----+

これで秘密鍵id_rsaと公開鍵id_rsa.pubができた。cat ~/.ssh/id_rsa.pubすれば中身を表示できる。

最後にid_rsa.pubの中身をGithubに公開鍵を登録する。同じユーザでのsshは全て同じ鍵を使うので、登録時の名前はユーザが区別できる名前だと良いのかもしれない。

これでsshを使えるようになる。(GithubのClone or downloadボタンでSSHのURLを使えばsshで接続する)


Markorを入れてマークダウンを書きまくる

Vimで頑張っても良いが、所詮はAndroidなので専用のアプリを使ったほうが早そう。

ということで例えばMarkor: Markdown Editorをインストールして*.mdを書きまくりGitで上げるといった使い方が良さそう。


MariaDBを入れてSQLを叩きまくる

TermuxではMySQLが使えない(そもそもpkg search mysqlでヒットしない)のでほぼMySQLなMariaDBを使う。

$ pkg install mariadb

MySQLサーバをバックグラウンドで走らせる

$ mysqld &

MySQLサーバにrootで接続する

console

$ mysql -u root

もしERROR 1698 (28000): Access denied for user 'root'@'localhost'エラーが出るようなら、MySQLサーバを立てる際に権限を無視させて回避する。

$ mysqld --skip-grant-tables &

これでSQLを叩ける。


python3を入れてPydroid3でコーディングしまくる

まずはPython3をインストール。

$ pkg install python3.7

Vimで頑張っても良いが、Androidなので専用アプリが良さそう。ということでPydroid 3 - IDE for Python 3

やはりアプリで書いてGitで上げる運用が良さげ。


ubuntu-in-termuxを入れてUbuntuを動かす

TermuxArchを使おうとしたがjavaとかがダメだったのでubuntu-in-termuxを使った。

偶然見つけたサイトのおかげで存在を知った。とてもありがとう => https://www.sololearn.com/Discuss/1768676/java-on-termux

インストールはubuntu-in-termuxの手順に従う。

ほぼコピペで良いが、本稿でも補足的に紹介する。


  • 1.Update termux: apt-get update && apt-get upgrade -y

おなじみのパッケージ管理をアプデしろということ。apt-get updateapt-get upgrade -yをする。


  • 2.Install wget: apt-get install wget -y

    3.Install proot: apt-get install proot -y

    4.Install git: apt-get install git -y

wgetprootgitが必要だからインストールしておけということ。apt-get install xxxする。

ホームディレクトリ~/git cloneつまりubuntu-in-termuxのファイル群をディレクトリごとダウンロードしろということ。

※Termuxはホームディレクトリでないと権限が無くて無能


  • 8.Go to script folder: cd ubuntu-in-termux

    9.Give execution permission: chmod +x ubuntu.sh

    10.Run script: ./ubuntu.sh

ダウンロードしたubuntu-in-termuxディレクトリに入って、ubuntu.shに実行権限をつけてから実行しろということ。実行はたとえばこう。

~/ubuntu-in-termux $ bash ubuntu.sh


  • 11.Fix resolv.conf: cp ~/ubuntu-in-termux/resolv.conf ~/ubuntu-in-termux/ubuntu-fs/etc/

~/ubuntu-in-termux/にあるresolv.conf~/ubuntu-in-termux/ubuntu-fs/etc/にコピーしろということ。しまった。やっていない。


  • 12.Now just start ubuntu: ./start.sh

いよいよubuntuを起動しろということ。たとえばこう。

~/ubuntu-in-termux $ bash start.sh

ちなみに終了する時はexitで良い。


JDKをインストールしてJavaを動かす

ubuntu-in-termuxを入れたならばJavaを使える。

まずは息を吐くようにapt-get update & apt-get upgrade -y

で、インストール可能なjdkを探す。たとえばこう。

# apt-cache search jdk

今回はopenjdk-8-jdkをインストールする。500MBとか持っていかれてつらい。

# apt-get install openjdk-8-jdk

実はこういうエラーを吐かれたりしたが、一応インストールされた。

Errors ware encountered while processing:

dbus
E: Sub-process /usr/bin/dpkg returned an error code (1)

インストールに成功すれば、インストール済みパッケージ一覧に載るはず。

# dpkg -l | grep jdk

ii openjdk-8-jdk:i386 ...
...

javaコマンドも使えるはず。

# java -version

openjdk version "1.8.0_222"
OpenJDK Runtime Environment (build 1.8.0_222-8u222-b10-1ubuntu1~19.04.1-b10
OpenJDK Server VM (build 25.222-b10, mixed mode)


LeiningenをインストールしてClojureを動かす

ubuntu-in-termuxを入れたならばJavaが使えるということはClojureが使える

上の項目ができたならば、Leiningenの手順に従ってインストールする。本稿でも補足する。


  1. 公式サイトからwget https://raw.githubusercontent.com/technomancy/leiningen/stable/bin/leinとかでleinスクリプトを持ってくる


  2. chmod +x leinとかでleinに実行権限をつける


  3. lein/bin/あたりに移動する

    lsコマンドとかがあるディレクトリ下に配置する。場所はwhich lsとかで調べられる)


  4. leinって実行すれば勝手にインストールしてくれる。

インストールが終わったら以下のコマンドでreplを起動できる。(+ 3 4)とかで足し算して遊べる。

Clojureを楽しんでいってね。

# lein repl