メインコンテンツへスキップ

Termuxターミナルの使い方:AndroidスマホでLinuxコマンドを動かす

·
カテゴリー スマートフォン Termuxチュートリアル
タグ Linux Termux Android
目次

AndroidはLinuxをベースに開発されたシステムですが、ターミナルはありません。Termuxというオープンソースのターミナルエミュレータは、この不足を補ってくれます。Rootなしで使え、独自のパッケージマネージャーも備えています。

Termuxはターミナルエミュレータアプリで、多くのLinuxでよく使われるコマンドラインプログラムを移植しています。なぜスマートフォンでコマンドを打つのでしょうか。スマートフォンに対応するアプリがない場合でも、コマンドライン型のソフトウェアで目的を達成できることがあります。たとえばTermuxではSSH接続、動画変換、サーバー構築、プログラミング学習などができます。さらにTermuxはproot-distroを提供しており、Linuxコンテナ環境を作成して、より多くのLinux PC版プログラムを実行できます。

使用例:XFCEデスクトップとデスクトップ版Firefoxブラウザを動かす

使用例:VimでPythonプログラムを書く

ただし、TermuxはスマートフォンをRoot化してくれるものではありません。TermuxでAndroidシステム内部のファイルを変更したい場合は、先にスマートフォンをRoot化する必要があります。

この記事では、Termuxのインストール方法と、Termuxの具体的な使い道をいくつか紹介します。

1. Termuxのインストール方法
#

Termuxのシステム要件はAndroid 7以上のAndroid端末です。

Termuxの開発者の説明によると、Google Play上のTermuxはすでに更新されていません。

最新版はF-DroidまたはGithubからダウンロードしてください。

F-Droidを例にすると、F-Droidのリンクを開き、Download APKをタップしてインストールファイルをダウンロードします。多くの端末では、arm64-v8aアーキテクチャの版をダウンロードします。

2. Termuxインストール後にやっておきたいこと
#

2.1. 画面の概要
#

  1. Termuxを開くとターミナル画面になります。入力欄をタップすると、スマートフォンのキーボードが自動で開きます。Termuxの画面にはCtrl、Escなどのキーボードショートカットも表示されており、今後ターミナル操作でよく使います。

  2. 通知欄を下に引き、Exitを押すとTermuxはすぐ終了します。Acquire WakelockはTermuxをバックグラウンドで実行し続けるためのものです。

  3. 画面左側からスワイプし、New Sessionを押すと複数のTermuxターミナル(作業セッション)を開けます。Keyboardを押すとスマートフォンのキーボードを呼び出せます。

  4. Termuxで日本語を入力する方法:下部のツールバーを左へスワイプすると、入力欄が表示されます。

  5. Termuxの文字が小さすぎる場合は、2本指でピンチ操作すると、ターミナル画面を拡大縮小できます。

2.2. ソフトウェアパッケージを更新する
#

Linuxシステムでソフトウェアをインストールするときは、通常リポジトリからダウンロードしてインストールします。Ubuntuを使ったことがある人なら少しイメージできるはずです。

Termuxのパッケージは主にdeb形式で、pkgコマンドは実質的にAPTのwrapperです。ただしUbuntu/Debianシステムのdebパッケージを直接探して入れることはできません。Termuxリポジトリのパッケージはスマートフォン向けに再コンパイルされたものです。

  1. インストール直後は、正常に使うためにソフトウェアパッケージを更新する必要があります。次のコマンドでTermuxの全パッケージを更新します。(Termuxの空白部分を長押しすると、コピーしたコマンドを貼り付けられます)
pkg update
  1. Termuxは更新を自動でダウンロードし、パッケージをインストールします。更新時にパッケージをアップグレードするか聞かれることがありますが、すべてyを入力してenterを押します。

  2. ソフトウェアのインストールでよく使うコマンドは次のとおりです。

# パッケージをインストール
pkg install <套件名稱>

# パッケージをアンインストール
pkg uninstall <套件名稱>

# パッケージを検索
pkg search <套件名稱>

# 全パッケージを更新
pkg update && pkg upgrade

# 使わないパッケージを自動削除
pkg autoclean
  1. Termuxのpkgコマンドは実際にはaptコマンドのフロントエンドなので、apt updateでパッケージを更新することもできます。ただしUbuntuのパッケージリポジトリを直接使ったり、適当なdebをdpkgでインストールしたりしてはいけません。

2.3. ミラーサイトを切り替える
#

Termuxには各国のミラーサイト(mirror)があり、パッケージのダウンロード速度を上げられます。この手順は任意です。設定しない場合、Termuxは毎回世界中のミラーサイトを巡回してからダウンロードを始めます。

  1. 次のコマンドを入力します。
termux-change-repo
  1. Termuxターミナルに表示される上下キーでSingle mirrorへ移動し、スマートフォンのキーボードでEnterを押します。

  2. Mirrors in Asiaを選び、Enterを押します。中国のユーザーはMirrors in Chinaを選べます。

  3. Termuxがリポジトリ一覧を更新します。yを入力すれば続けて使用できます。

2.4. Termuxがシステムに終了されるのを防ぐ
#

端末のシステムがAndroid 12以上で、Linuxデスクトップなどの大きなプログラムを動かす予定がある場合は、必ずPhantom Process Killingを無効化し、Termuxがバックグラウンドにいるときシステムに終了されないようにしてください。

3. Termuxの用途例
#

Termuxでは何ができるのでしょうか。主に次のような用途や遊び方があります。

青い文字は関連するチュートリアル記事を表し、灰色枠の文字はTermuxにそのパッケージが収録されており、直接インストールして使えることを表します。

3.1. プログラミング
#

vimemacsnanoでコードを書けます。VIMはテキストモードで使いやすいテキストエディタなので、インストールをおすすめします。

さらにgitでGithubやGitlabのプロジェクトを管理できます。

Termuxは次のプログラミング言語のコンパイルと実行に対応しています。

  • C/C++ (clang)
  • Java (openjdk-17)
  • Python (python3) および Anaconda
  • NodeJS (nodejs)
  • .Net Framework (mono)
  • Rust (rust)
  • Go (golang)

QT CreatorやVisual Studio CodeのようなグラフィカルIDEが必要な場合は、先にproot-distroをインストールする必要があります。

3.2. 画像・動画処理
#

テキストツールのffmpegimagemagickを使い、動画や画像を一括変換できます。

yt-dlpをインストールしてYoutube動画をダウンロードできます。mpvでYoutbe音楽を再生することもできます。

またはTermux X11でグラフィカル画面を動かし、gimpで画像編集できます。

proot-distroではKdenliveで動画編集をしたり、モデリングソフトBlenderを動かしたりできます。

3.3. PCソフトウェアとゲームを動かす
#

proot-distroをインストールすれば、持ち運べるLinuxシステムを手に入れたのと同じです。LibreOffice、GIMP、Firefox、一部のPCゲームなど、さまざまなPCソフトウェアを動かせます。

それに加えて、Box86 + Wineをインストールすれば、Android端末でWindowsのexeプログラムも動かせます。

3.4. LinuxとWindowsシステムを動かす
#

Termuxリポジトリに必要なソフトウェアパッケージがありませんか?

proot-distroでUbuntu、Fedora、Arch LinuxなどのLinuxディストリビューションコンテナをインストールしましょう。そうすれば、より多くの既製ソフトウェアパッケージを使えます。

かなり暇なら、QEMU仮想マシンでWindows 7を動かすことも可能です。

3.5. リモートサービス
#

SSHでPCへ接続し、ファイルを共有・同期する

スマートフォン上でADBコマンドを実行する

3.6. Webサイトやサーバーを構築する
#

apache2 + php + mariadbでWebサイトを構築できます。

静的サイトジェネレータhugogitを組み合わせて個人サイトを管理することも可能です。

Javaをインストールすれば、Minecraft Java版サーバーを建てることができます。

スマートフォンのカーネルを変更し、Root権限があれば、dockerコンテナを動かすことも問題ありません。

3.7. Androidシェルのターミナルとして使う
#

TermuxはAndroidシェル(shell)のターミナルとして使え、ADBコマンドを実行できます。

スマートフォンにRootがあれば、Busyboxと組み合わせてAndroid上でコマンドを動かせます。たとえばMagiskモジュールファイルの変更や、chroot Linuxディストリビューションのインストールなどです。

4. Termuxの使い方を学ぶには
#

本当にTermuxを「使いこなす」には、学ぶことがたくさんあります。コマンドラインのコマンドがどう動くかを知るだけでなく、Termux API、Termux X11、Termux Python bindingsなどの使い方も学ぶ必要があります。

まずコマンド部分を見てみましょう。Termuxの標準shellはBashで、コマンドはLinuxに似ていますが、TermuxはLinuxシステムそのものではありません。Termuxの権限は通常のアプリと同じであり、端末がRoot化されていなければAndroidシステム内部のファイルにはアクセスできない点に注意してください。

TermuxのBashでは多くのコマンドが使えます。The Bash Guideを参照してください。もし私があなたで、Linuxをまったく知らない初心者なら、スマートフォンの小さな画面を見つめ続けてコマンドラインを学ぶのはおすすめしません。目に悪いです。

Termuxは一般的なLinuxシステムとはまだ差があり(詳しくはwikiを参照)、できることには限りがあります。私は基礎から始めることをおすすめします。PCでVirtualboxまたはWSLを使い、実際のLinuxディストリビューション(たとえばUbuntu)をインストールし、関連講座を検索してLinuxとコマンドラインの使い方を正式に学ぶのです。そうすれば、学んだ経験をTermuxへ応用でき、プログラムの背後にある実行原理も理解しやすくなります。

5. TermuxとAndroidファイルを管理する
#

TermuxからAndroid内部ストレージへアクセスするにはどうすればよいでしょうか。

「スマートフォン内部ストレージ」とは、DCIMDownloadDocumentAndroidといったディレクトリがある場所を指します。ファイル管理アプリで確認できます。

  1. 次のコマンドを入力し、Termuxがスマートフォン内部ストレージへアクセスすることを許可します。
termux-setup-storage
  1. Termuxにスマートフォンストレージへのアクセスを許可すると、それはTermuxホームディレクトリのstorage/sharedディレクトリにマウントされます。lsコマンドを入力して確認します。

  2. スマートフォン内部ストレージ/Downloadディレクトリへ移動したい場合は、次のように入力するだけです。

cd storage/shared/Download
  1. さらにlsコマンドで、そのディレクトリ内のすべてのファイルを確認します。

Termuxの詳しいファイル管理方法を知りたい場合は、こちらを参照してください:Termuxファイル管理入門

参考記事
#

関連する質問はGithubまたはRedditで行ってください。

Termux Wikiにも実用的な情報が多くあります。

関連記事


最後までお読みいただきありがとうございます。本サイトでは公開コメント欄を設けていません。私はソーシャルな反応やアクセス数を追い求めるためではなく、自分の考えを誠実に探求するために文章を書いています。記事を丁寧にお読みいただいたうえで、ご感想やご意見をお寄せいただければ幸いです。誤字・誤り・技術的な問題などを見つけた場合、またはフィードバックを共有したい場合は、Aboutページに記載しているメールアドレスまでお気軽にご連絡ください。