Termux を使用して Android 上で実行できる 3 つの実際の Linux タスク (root 化は必要ありません)
Termux は、Android スマートフォンにインストールできるツールの中で最も過小評価されているツールの 1 つです。これは、ルート化やフラッシュを必要とせずに、普通の Android スマートフォンを有能な Linux ワークステーションに変えます。これらは、Termux のおかげで、Android スマートフォンで実行できる Linux の 3 つの操作にすぎません。
ファイル管理コマンド
本物のシェルにより大量のファイルが高速に動作します
Termux は、パッケージ マネージャーを備えた実際の端末を Android に提供します。デフォルトでは、アプリは独自のプライベート ディレクトリのみを参照するため、実行する価値のある最初のコマンドは termux-setup-storage です。ストレージの許可を求め、ダウンロード、写真、カメラの写真などの共有場所へのリンクを含むストレージ フォルダーをホーム ディレクトリに作成します。そこからは、使い慣れた GNU ツールが期待どおりに動作します。 ls、cp、mv、rm、mkdir、cat などのコマンドはすぐに機能し、coreutils、findutils、grep パッケージをインストールすると、不足しているものがすべて埋められます。
言っておきますが、これは単なる見せ物ではありません。 Android の標準ファイル マネージャーはタップとドラッグを中心に構築されていますが、ジョブに数百のファイルが含まれる場合、これは退屈になります。 1 つの検索コマンドで、写真フォルダーとダウンロード フォルダー全体から大きなビデオをすべて見つけることができ、短いループで、たとえば携帯電話のカメラで撮影した写真のバッチの名前を一貫した日付パターンに変更できます。グロブ、パイプ、およびチェーンされたコマンドは、デスクトップ ディストリビューションとまったく同じように機能します。
tar、zip、unzip、gzip はすべて pkg でインストールできるため、アーカイブもカバーされており、ダウンロードの解凍やプロジェクト フォルダーのバンドルには 1 行で済みます。 rsync などのツールを使用すると、電話フォルダーとラップトップを同期できます。また、ncdu と Tree を使用すると、ストレージがどこに行ったのかを簡単に確認できます。スクリプトは自然な次のステップです。シェルの数行で、ダウンロード フォルダーを拡張子ごとにサブフォルダーに分類し、オンデマンドで実行できます。すべては Android が通常のアプリに与える権限の範囲内にとどまりますが、これは制限でもあります。システム パーティションや他のアプリのプライベート データは、root なしではアクセスできないままになります。
完全な開発環境
コンパイラー、エディター、ディストリビューション全体が携帯電話に収まります
Termux は単なるシェルではありません。そのリポジトリには実際の開発ツールが含まれています。 Git、Python、Node.js、Clang、Neovim、Vim、および tmux は pkg を通じてインストールされ、Bluetooth キーボードを使用すると、携帯電話がスクリプト、小規模な Web プロジェクト、クイック フィックス用の実行可能なコーディング セットアップに変わります。
ここで理解する価値のある落とし穴が 1 つあります。 Termux は、ほとんどのデスクトップ Linux ソフトウェアが期待する glibc ではなく、Android 独自の C ライブラリに対してパッケージをビルドするため、標準ディストリビューション用に設計された一部のビルド済みバイナリは実行されません。通常の回避策は、アプリ内に Debian や Ubuntu などの完全なディストリビューションをインストールする Termux パッケージである proot-distro です。これについては他の記事で詳しく説明し、その短所についても説明しました (すべてのオーバーヘッドによりかなり遅くなる可能性があります)。ただし、このようなことに関しては、うまくいくかもしれません。
インストール後、あるコマンドでディストリビューションをダウンロードし、別のコマンドでディストリビューションにログインすると、apt と広範なソフトウェア カタログを備えた使い慣れた環境が残ります。これはルート ファイル システムのユーザー空間エミュレーションを通じて動作するため、特別な権限は必要ありませんが、パフォーマンスのオーバーヘッドが追加され、実際のカーネル サポートが必要な処理は実行できません。たとえば、Docker などのコンテナは、一般的な携帯電話では現実的ではありません。
2 つのアプローチはうまく組み合わされます。軽量ツールはネイティブ Termux 内で実行できるため速度が向上しますが、扱いにくいものはすべてゲスト ディストリビューション内で実行されます。言語サーバー、パッケージ マネージャー、ビルド ツールは通常機能し、プロジェクト フォルダーを Android 側と共有できるため、他のアプリからファイルにアクセスできるようになります。
SSHサーバーとその他のネットワーク関連のもの
電話を到達可能なマシンに変える
最後に、Termux はネットワーク関連に非常に適しています。 openssh パッケージをインストールすると、SSH クライアントと sshd サーバーの両方が提供されます。特権のないアプリは 1024 未満のポートにバインドできないため、Termux のサーバーは通常の 22 ではなくポート 8022 で待機します。 Android はここでも通常の Linux アカウントを使用しないため、ログイン名は whoami コマンドが報告するもので、通常は u0_a123 などになります。 passwd でパスワードを設定し、デーモンを起動すると、同じネットワーク上の別のコンピュータが、-p 8022 オプション、ユーザ名、および電話機のローカル IP アドレスを指定した ssh を使用して接続できます。
キーベースの認証はパスワードより安全であり、.ssh フォルダー内のauthorized_keys ファイルに公開キーを追加するだけで済みます。接続すると、ファイルは scp または sftp で移動でき、電話機はスクリプトをテストするための軽量のリモート シェルとして機能します。クライアント側でも、同じパッケージを使用して電話機をホーム サーバー、ルーター、クラウド マシンにログインできるため、同様に便利です。
SSH、curl、wget はダウンロードと API リクエストを処理するほか、nmap はローカル ネットワークをスキャンし、Python の内蔵 Web サーバーは同じ Wi-Fi 上の任意のデバイスと数秒でフォルダーを共有できます。 SSH トンネルを介したポート転送により、柔軟性がさらに高まります。信頼性が主な障害です。 Android はバッテリーを節約するためにバックグラウンド アプリを積極的に制限しているため、Termux がウェイクロックを保持し、バッテリーの最適化が無効になっていない限り、長時間実行されるサービスが停止する可能性があります。 Termux:Boot アドオンは、再起動後にサービスを自動的に開始できます。
Linux パワーをポケットに、root は必要ありません
Termux は、Android の通常の制限内で重大なタスクを処理します。ファイル管理、ポータブル開発、SSH ネットワーキングはすべて、デバイスを root 化することなく機能します。セットアップには数分かかりますが、バックグラウンドの制限やライブラリの互換性などの主な注意事項は、それらが表示される場所がわかれば管理可能です。
関連情報は以下のリンクからご確認いただけます
関連記事
- ついに Samsung の最高のカスタマイズ機能を Pixel に搭載しました – しかも完全に無料です
- メイン州でこれまでに捕獲された最大のオジロジカを発見
- [Anime Short]Explore Stunning Self Drawn Anime Art Cute Charming and Trending SNSAnime100-109 #anime