Closed10

【随時更新】個人的 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と入力して起動するのは面倒なので自動的に起動するようにする。

Ubuntu では chshコマンドでユーザーのデフォルトシェルを変更できるが、Termuxではうまくできなかった。

起動時にZshを起動させる

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

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


Happy Hacking!!

このスクラップは2021/02/27にクローズされました
作成者以外のコメントは許可されていません