Closed11

個人的Termuxのセットアップメモ

あーるあーる

Termuxとは

AndroidやChrome OS上でLinuxを動かすことができるターミナルエミュレータのひとつ。

Androidのスマホやタブレットでターミナルを触るなら第一候補に上がるであろうアプリ。

Termux Wiki

https://wiki.termux.com/wiki/Main_Page

OSのルートを取得(root化)しなくても、いい感じにLinuxをいじることができる(これ大事)

OSがファイルへのフルアクセスを許可しないため、ファイルは以下のディレクトリ内で管理される。
/data/data/com.termux/files/usr

他にもLinuxとは違いが多くあるが詳しくは以下のドキュメントを参照。

https://wiki.termux.com/wiki/Differences_from_Linux

インストール直後から最低限のパッケージとパッケージマネージャーが用意されているため、簡単に始めることができる。

スマートフォンやタブレットからターミナルを触れるので勉強にもなる。なにより手軽なのが嬉しい。

今回、環境を最初から改めて構築するのでメモ。

あーるあーる

パッケージを最新にアップグレードする

Termuxにはデフォルトで最小限のパッケージとパッケージ管理マネージャーであるpkg コマンドが付属する。このコマンドはaptのラッパーとなっている。

アップグレード

$ pkg upgrade

上記コマンドでパッケージが最新の状態に更新される。

公式でも定期的にパッケージを最新に更新することを推奨している。

Termuxではpkgコマンド以外にaptコマンドも通常通りに使用できます。

あーるあーる

内部ストレージにリンクさせる

デフォルトでは内部ストレージにアクセスすることはできない。
以下のコマンドで内部ストレージにリンクを貼ることができる。

$ termux-setup-storage

コマンドを実行するとストレージへのアクセス許可を求められるため、許可する。
許可したあとは以下のようになる。

$ ls
storage

コマンドの実行で ~/storage/の下に内部ディレクトリへのシンボリックリンクが作成される。

あーるあーる

必要なツールとパッケージのインストール

pkg install wget git curl proot yarn vim

上のコマンドで、Wget・Crul・Git ・Yarn・proot・Node.jsがインストールされる。

最初pkgコマンドでNode.jsをインストールしようとしたがエラーで上手くインストールできなかった。
Yarnをインストールすると依存関係としてNode.js v14.15.4がインストールされたのでこちらを採用。

$ node -v
v14.15.4
あーるあーる

シェルのカスタマイズ

Termux のデフォルトのシェルはbashになっている。
個人的にZshが好みなので、Zshをインストールして設定する。

$ pkg install zsh

インストールが終わったら、Zshを起動する。

$ zsh

Zshに切り替わる。次回起動時もZshを使いたいためデフォルトのシェルを変更する。

$ chsh -s zsh
あーるあーる

【活用編】Ubuntuの導入

TermuxはLinuxとファイル構造が異なり、プログラムによってはうまく動かないものもある。
そこでUbuntuを入れることで Linuxの操作感にかなり近づけることが可能。

ubuntu-in-termuxというプロジェクトでシェルスクリプト作成されているためインストール。
https://github.com/MFDGaming/ubuntu-in-termux

以下ガイドに沿ってコマンドを実行。

# パッケージの更新
$ apt-get update && apt-get upgrade -y

# wget・proot・Gitのインストール
#すでにpkgでインストールしている場合はスキップ可
$ apt-get install wget proot git -y

# ホームディレクトリに移動
$ cd

# スクリプトをクローン
$ git clone https://github.com/MFDGaming/ubuntu-in-termux.git

# 作成されたディレクトリへ移動
$ cd ubuntu-in-termux

# スクリプトに実行権限を付与
$ chmod +x ubuntu.sh

# インストールスクリプトを実行
$ ./ubuntu.sh -y

# Ubuntu を起動
$ ./startubuntu.sh

# Ubuntu が起動
root@localhost:~#

インストールが完了するとすぐに使用することができる。バージョンはこちらで確認。

$ cat etc/etc/os-release

NAME="Ubuntu"
VERSION="20.04.2 LTS (Focal Fossa)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 20.04.2 LTS"
VERSION_ID="20.04"

またexitでTermuxに戻れる。

Termuxを起動したときに毎回 cd ./ubuntu-in-termux./startubuntu.shとするのは大変なので Termux側に.zshrcを作成し先頭に以下を記述する。

cd ./ubuntu-in-termux
./startubuntu.sh

これで次回以降Termuxの起動と同時にUbuntuが起動するようになる。便利。

あーるあーる

Ubuntuをセットアップする

パッケージを最新に更新する

apt update && apt upgrade -y

必要なパッケージをインストール

apt install wget git curl vim nano -y
あーるあーる

Ubuntuを日本ロケールに切り替える

デフォルトの状態だと日本語を扱えないため、ロケールを変更する。

# 使用可能なロケールの確認(デフォルトだと日本語対応のロケールなし)
$ local -a

C
C.UTF-8
POSIX

# 日本語の言語パックをインストール
$ apt install language-pack-ja -y

# 使用可能なロケールの確認
$ local -a

C
C.UTF-8
POSIX
ja_JP.utf8 # 追加されたロケール

# ロケールをja_JP.utf8に変更する
echo 'export LANG=ja_JP.UTF-8' >> ~/.bashrc
echo 'export LANGUAGE="ja_JP:ja"' >> ~/.bashrc

# ここで再起動 再起動後に日本語化される
あーるあーる

Ubuntuな環境にZshを導入

aptを使ってZshをインストール。

apt install zsh -y

インストール完了後にzshと入力することでシェルがZshに切り替わる。

あーるあーる

Zshのカスタマイズ【Prezto】

ZshのフレームワークであるPreztoをインストールしてテーマやコマンドを使いやすくカスタマイズする。

リポジトリはこちら。
https://github.com/sorin-ionescu/prezto

# zsh の起動
$ zsh

# GitHubからクローン
git clone --recursive https://github.com/sorin-ionescu/prezto.git "${ZDOTDIR:-$HOME}/.zprezto"

# 設定ファイルの構成
setopt EXTENDED_GLOB
for rcfile in "${ZDOTDIR:-$HOME}"/.zprezto/runcoms/^README.md(.N); do
  ln -s "$rcfile" "${ZDOTDIR:-$HOME}/.${rcfile:t}"
  done

ここまで設定ができたら再起動する。
再起動するとシェルがPreztoに切り替わる。

しかし再起動するたびにbashに戻りZshと入力して起動するのは面倒なので自動的に起動するようにする。

起動時にZshを起動させる

.bashrc
# ファイルの先頭に追記して保存
zsh

これでUbuntuの起動時にPreztoが起動するようになる。


Happy Hacking!!

あーるあーる

2022年2月 補足と現状

今まではパッケージをアップグレードする際にpkg update && pkg upgradeできていたのですが、リポジトリの形式に変更があったため、以下のようなWarningがでるようになった。

更新時のWarningエラー

上のエラーはパッケージのリポジトリの仕様変更に伴うアナウンス。
Google Playで配布されていたTermuxも使用非推奨になりTermux | F-Droidからインストールしたものを使うようになった模様。公式サイトからPlay Storeのリンクの削除確認済み。

https://wiki.termux.com/wiki/Termux_Google_Play

F-Droidでのインストール注意点

F-DroidはGoogle Playとは異なり、外部ストアになるため、権限設定がデフォルトだとうまくインストールできない可能性がある。通称 野良アプリと呼ばれる類。
Androidの端末設定から「提供元不明のアプリを許可」をONにすることでインストールできるようになる。

Google PlayからインストールしたTermuxがインストールされているとF-Droid版をうまくインストールできないため、APKファイルをインストールする前に削除してから行うようにする。

Google Play版からF-Droid版に移行する際にデータをバックアップして引き継ぐには以下のWikiを参考に作業することで安全に引き継ぐことが可能。

https://wiki.termux.com/wiki/Backing_up_Termux

このスクラップは2021/02/27にクローズされました