Termuxを導入した | しょうちゃん オフィシャルブログ

しょうちゃん オフィシャルブログ

プログラマーのしょうちゃん(元LINEブログ公式)がいろいろ書きます。
仕事、数学、ランニング、読書など。

Androidのアプリとしてtermuxというものを導入した。あまり普通の人が使うものではないのですが(笑)

↓↓↓アプリはこちら↓↓↓
Termux - Google Play の Android アプリ
ターミナルエミュレータとLinux環境。
play.google.com



Termuxってなんじゃろなって話なのですが、難しく書くと「Sandbox内でパッケージ管理ツールとTerminalを提供してくれる簡易的なLinux環境」という感じですが、すごくざっくりすると、

Linuxのshellだけ提供してくれる

みたいなことと思っておけばよろしいのではないかと思います。
※このブログの読者の99.99%の人に必要ないw


sshのクライアントとして実行できるアプリじゃだめなの? ってことがあるわけですが、別にそれでも大丈夫だと思います(笑) 今回は、Android端末(V20 pro/L-01J)を、「sshサーバー」としても使えるようにしたいという、極めてニッチな用途がありまして、termuxを設定することにしました。

インストールは、Google Playから普通にインストールするだけなので簡単です。説明の必要はないと思います。


だいたい、こんな手順で設定して行きます。

Android端末側でtermuxを起動後にopensshをインストールします。
$ pkg install openssh

PC側で、ssh用のkeyを作成します
$ ssh-keygen -t ed25519

Android側にPC側のid_ed25519.pubをコピーして、そのファイルをauthorized_keysにコピーします
$ scp hoge@xxx.xxx.xxx.xxx:/home/hoge/.ssh/id_ed25519.pub ~/.ssh/
$ cat id_ed25519.pub >> authorized_keys
$ chmod 600 authorized_keys

Android側でsshdを起動
$ sshd
※termuxにはinitやsystemdのようなものがありません


Android側のIPアドレスを調べる
$ ip -4 a

PC側からsshで接続
$ ssh -p 8022 -i ~/.ssh/id_ed25519 xxx.xxx.xxx.xxx(AndroidのIPアドレス)
※portは標準で8022に設定されています


ここまで出来ると、あとは趣味の世界です。

私の場合は、標準のshellであるbashをtcshに変更して、.cshrcと.loginをカスタマイズしています。

termux.png

都度都度、DHCPのIPアドレスをコマンドで確認するのが面倒なので、起動したら画面にIPアドレスが表示されるようにしたことと、今、Androidの端末上だってことを意識できるようにコマンドプロンプトを設定しておきました。あとは、作業用のaliasを数件設定しておきました。

terminal.jpg

この状態でAndroidにBluetoothキーボードをつないで、termuxを起動すると、こんな感じです。


それっぽいw


まぁ、普通の人には必要ないですね(笑)