テルマックス は、AndroidデバイスおよびLinux上のアプリケーション用のターミナルエミュレータです。 ルートアクセスや特別な設定を必要とせずに直接機能します。
Termuxで 追加のパッケージは、APTパッケージマネージャーから入手できます。 開発者の主な目標は、多くの頭痛の種なしにLinuxコマンドラインエクスペリエンスをモバイルデバイスユーザーに提供することであり、Termuxは優れたユーティリティセットで強化されています。
Termuxで 含まれているすべてのパッケージはAndroidNDKでビルドされます また、Androidで動作させるための互換性修正のみがあります。
オペレーティングシステム ファイルシステムへのフルアクセスを提供しません、 そのため、Termuxは/ bin、/ etc、/ usrまたは/ varなどの標準ディレクトリにパッケージファイルをインストールできません。 代わりに、 すべてのファイルは、アプリケーションのプライベートディレクトリにインストールされます 「/data/data/com.termux/files/usr」にあります。
簡単にするために、このディレクトリは「prefix」に名前が変更され、通常は「$ PREFIX」に変更されました。これは、Termuxシェルにエクスポートされる環境変数でもあります。
そうは言っても、開発者は、XNUMXつの主な理由から、このディレクトリを変更したり、SDカードに移動したりできないことを警告しています。
まず、 ファイルシステムはUnixパーミッションと特別なファイルをサポートする必要があります シンボリックリンクまたはソケットとして、次に「プレフィックス」ディレクトリへのパスがすべてのバイナリにハードコードされています。
これらは、Termuxの作者によって引用された主な特徴と機能のいくつかです:
- 確かに OpenSSHsshクライアントを使用してリモートサーバーにアクセスできます。 Termuxは、魅力的なオープンソースソリューションで標準パッケージと正確な端末エミュレーションを組み合わせています。
- 統合機能: Bash、fish、またはZshとnano、Emacs、またはVimを使用するオプションがあります。 受信トレイにSMSを入力し、curlを使用してAPI端末にアクセスし、rsyncを使用して連絡先リストのバックアップコピーをリモートサーバーに保存します。
- カスタマイズ可能: よく知られているDebianおよびUbuntuAPTパッケージ管理を利用して、多数のパッケージをシステムにインストールできます。
- 探索可能: Termuxで利用可能なパッケージは、MacおよびLinuxのパッケージと同じです。 携帯電話にmanページをインストールして、あるセッションでそれらを読み、別のセッションでそれらを試すことができます。
- 含まれるバッテリー: Termuxには、Perl、Python、Ruby、およびNode.jsの更新バージョンが含まれていました。
- スケーリング: Bluetoothキーボードを接続し、必要に応じてデバイスを外部ディスプレイに接続できます。Termuxはキーボードショートカットをサポートし、マウスを完全にサポートしています。
ファイルシステムとは別に、 従来のLinuxディストリビューションとは他にも違いがあります、したがって、Termuxをディストリビューションと混同しないでください。 実際、Linuxディストリビューションと同様のパッケージエコシステムを提供しますが、TermuxはAndroid上で実行される通常のアプリケーションにすぎないことを知っておく必要があります。
- すべてが$ PREFIXにインストールされ、/ binや/などの標準ディレクトリにはインストールされません。
- 環境はシングルユーザーであるため、rootとしてコマンドを実行する場合は、SELinux(Security-Enhanced Linux)のタグと権限を台無しにする可能性があるため、これに注意してください。
- Termuxは、Androidオペレーティングシステムと同じlibc(標準C言語ライブラリ)と同じダイナミックリンカーを使用します。
TermuxのWebサイトによると、これら3つの主な違いにより、一般的なGNU / Linuxシステム用にコンパイルされたプログラムを実行しようとすると問題が発生します。
最後に、TermuxのGitHubページには、このバージョンのオペレーティングシステムによって多くの変更が加えられたため、エミュレーターは現在Android 10(API 29)をターゲットにしていないことが記載されています。
「Android10を対象とする信頼できないアプリケーションは、アプリケーションのホームディレクトリにあるファイルに対してexec()を呼び出すことはできません。 この書き込み用のアプリケーションのホームディレクトリからのファイルの実行は、W ^ Xに違反します。アプリケーションは、アプリケーションのAPKファイルに埋め込まれているバイナリコードのみをロードする必要があります」とGoogleはAPI29について報告しています。
私にとって不可欠なアプリは、F-Droidにあります:)