linuxdeploy は、Android デバイスに Linux 環境をデプロイするために使用されます。原理はおそらく、Android の Linux 層で chroot または proot コンテナを実行し、次に、で準備したものを実行することです。コンテナ、別の Linux システム。 Linux Deploy を使用する前に、電話機で root 権限を取得する必要があります。
Linux Deploy は、Android デバイスに Linux 環境をデプロイできるアプリケーションです。その原理は、Android の Linux 層で chroot または proot コンテナを実行し、その後、コンテナ内で実行することです。別の Linux システムです。これは、私たちがよく知っている仮想マシン テクノロジとは異なることに注意してください。新しい Linux システムは、Android システムと並行して実行されます (専門家以外の人には、詳しく説明しないでください)。
Linux Deploy を使用する前に、 携帯電話の Root 権限を取得する必要があります (必須) . Root 権限を取得した後、元のマシンに付属の Linux コマンド セットが不完全なため、Linux コマンド セットを拡張するには Install Busybox が必要です (インストールすることはできません) 。
Linux Deploy は Google ストアにインストールする必要がありますが、他の Android アプリ ストアでは入手できません。以下に記載されているソフトウェアは Google ストアでのみインストールできます
インストールが完了したら、Linux Deploy を使用して Android デバイスに Ubuntu システムをデプロイします。
右下の「ダウンロード」アイコンをクリックします。インターフェイスの をクリックして、構成ファイル設定インターフェイスに入り、次の設定を行います(なぜ開発者が構成ファイル設定インターフェイスのアイコンとしてそのような「ダウンロード」アイコンを使用するのかわかりません):
コンテナ化方法:"chroot"
ディストリビューションバージョン:"Ubuntu"
アーキテクチャ:デフォルト値のまま
ディストリビューションバージョン:"yakkety" (i.e. Ubuntu 16.10)
ソースアドレス: http://mirror.tuna.tsinghua.edu.cn/ubuntu -ports/(ここでは、デフォルトの展開方法を使用します。つまり、ソフトウェア ソースから Linux コンポーネントと必要なソフトウェア パッケージをダウンロードします。デフォルトのソース速度は良くありません。昼夜を問わずダウンロードされないように、ここでは清華大学のオープンソースを使用します。ミラーソース、リポジトリを使用してデプロイする場合(後の記事で説明します)、「ソース」 「アドレス」には、リポジトリ ファイル (接尾辞は tgz/tar.gz) ファイルのローカルまたはリモート パスを入力する必要があります)
インストール タイプ: このオプションには、「ディレクトリ」と「」の 2 つの提案があります。 Linux に詳しくなく、/data パーティションの残り容量が 2g 以上の場合は、「ディレクトリ」インストール方法を使用することをお勧めします。 Linux に慣れている場合、または /data パーティションの残り容量がある場合パーティションが 2g 未満の場合は、「ファイル」インストール方法を使用することをお勧めします。ここでは、操作の便宜上、「ディレクトリ」インストール方法を使用していますが、実際の使用では、/data パーティションのスペースを占有しないようにするために、「ファイル(ミラー)」インストール方法を使用することをお勧めします。
インストール パス: [インストール パス] で [ディレクトリ] を選択すると、このオプションはシステムがインストールされるパスを定義します。デフォルトのパスは ${ENV_DIR}/rootfs/linux
です。つまり、/data/user/0/ru.meefik.linuxdeploy/env/rootfs/linux
ディレクトリにインストールされます。 [インストール タイプ] で [ファイル] を選択すると、このオプションは Linux システムがインストールされるイメージ ファイルを定義します。デフォルト値は 外部ストレージ/linux.img
です。
イメージ サイズ (MB) (インストール タイプで「ファイル」を選択した場合に使用可能): このオプションは、システムが配置されているイメージ ファイルのサイズを定義します。システムのインストール前に、設定されたイメージを含むファイル
ファイル システム (インストール タイプが「ファイル」を選択する場合に利用可能): 「自動」を選択します。
ユーザー名: このオプションは、システムにログインするときのユーザー名です。デフォルトは「android」ですが、任意に変更できます。
ユーザー パスワード: このオプションは、Ubuntu システムのユーザーのパスワードであり、自分の習慣に従って入力できます。
特権ユーザー: デフォルト値を維持します
DNS サーバー: デフォルト値を維持することも、DNS サーバーのアドレス (114.114.114.114 など) をカスタマイズすることもできます
ローカリゼーション: デフォルト値 POSIX を維持することをお勧めします。ssh の戻り結果を中国語にする、またはグラフィカル インターフェイスの表示言語を中国語にするなど、他の要件がある場合は、「zh_CN.UTF8」を選択します。
INIT/MOUNTS 項目: 必要な場合 必要な場合に設定でき、不要な場合は無視できます。
SSH サーバーの起動を許可: このオプションをオンにします
SSH 設定: デフォルトのままにします
グラフィカル インターフェイスの起動を許可します: 必要に応じて設定できますが、このオプションは当面ここではオンにしません (次の記事でその方法を紹介します)グラフィカル インターフェイスを展開します)。
設定が完了したら、リターンキーを押してアプリケーションのメインインターフェイスに戻り、メニューキーを押して「」を選択します「インストール」をクリックして、Linux システムを起動します。インストールでは、インストール プロセス中にネットワーク接続を維持する必要があります (WIFI 環境でインストールすることをお勧めします。これには、約数百メガバイトのトラフィックが必要です)。
ターミナル出力「>>>deploy」が表示されると、インストールが開始されたことを意味します。
# ターミナル出力「」が表示されると、インストールが開始されます。 < <
メイン インターフェイスの下にある [開始] ボタンをクリックして、新しくインストールされたシステムを開始し、 「停止」でシステムを停止します。
# ここでは、システム導入部分について説明します。
デプロイメントが完了したら、lJuiceSSH/ConnectBot などの SSH ツールを使用してシステムにログインする必要があります (ここでは例として JuiceSSH を使用します)。
システムが正常に起動したら、JuiceSSH を開き、右下隅にある [接続] - ボタンをクリックして、新しい接続インターフェイスに入ります:
ニックネーム: で入力できます。例として「Localhost - Android」を使用します。 タイプ: SSH アドレス: 127.0.0.1
認証: [新規] を選択して、[新しい認証] インターフェイスに移動します。ニックネーム: 自由に入力することもできます。例として「 Localhost - Android」も使用します。 ユーザー名: 「プロファイル設定」インターフェースの「ユーザー名」を入力します。デフォルトは android です。 パスワード: 入力します。 「プロファイル設定」インターフェースの「ユーザーパスワード」
右上隅の「√」アイコンをクリックして保存します「新しい接続」インターフェースに戻り、もう一度「√」アイコンをクリックして保存し、「接続リスト」で新しく作成したものをクリックします。このプロジェクトは、展開したばかりのシステムに接続されています。接続が成功すると、インターフェイスは次のとおりです。
## 一般ユーザーの Android システムを通じてログインしているため、次にスーパー ユーザー (root) を設定する必要があります。パスワードを入力し、スーパー ユーザーとしてシステムにログインします: ターミナルに次のように入力します:
sudo passwd root
ターミナルは、ユーザーにパスワードの入力を求めるプロンプトを表示します。 (パスワードを入力してもパスワードは表示されず、*も表示されません) 設定完了後、ターミナルでsuコマンドを入力し、先ほど設定したrootユーザーを入力してください. root ユーザーに切り替えるためのパスワード。
ファイル管理: 「ディレクトリ」方式で Linux システムを展開する場合、R.E. マネージャーを使用して直接 /data/user/0/ru.meefik.linuxdeploy/env/rootfs/linux にアクセスできます。
新しいシステムでファイルを管理できます。「ファイル」方式で Linux システムを導入する場合、ファイル管理やその他の操作を SFTP に依存する必要があります (もちろん SSH を使用しても問題ありませんが、まだ SFTP の方が便利だと思います。)。通常のユーザーとして SFTP にログインすると、権限の理由により、ほとんどのファイルを操作する権限がありません。したがって、SFTP にスーパーユーザーとしてログインする必要があります。ただし、デフォルト設定では root ユーザーは SSH および SFTP にログインできないため、次の設定を行う必要があります。
Linux Deploy でデプロイされたシステムを起動し、Android ユーザーとして SSH にログインします。
sudo apt-get install -y vim #Install vim editor
もちろん、システムに付属の vi エディターを使用することもできます。 vi エディターに慣れているので、vi エディターを使用してファイルを編集することもできます。 vim エディターのインストール後、ターミナルでの実行を続けます:
vim /etc/ssh/sshd_config #vim エディターを使用して /etc/ssh/sshd_config ファイルを開きます
Afterファイルを開き、「i」と入力して編集モードに入り、ターミナルの空白の位置をクリックして特殊キー キーボードをポップアップ表示します。上下のカーソルを使用してファイルをスクロールし、ファイルの #Authentication セクションで PermitRootLogin 項目を見つけます。ファイルを「はい」に変更し、変更が完了したら、特殊キーの「ESC」キーをクリックして編集モードを終了し、キーボードで「wq!」と入力して保存し、ファイルを強制終了してファイルの編集操作を完了します。ファイル。
Linux Deploy を開き、Linux システムを停止してから起動します。 「Turbo Client」 - サイドバー - 新しいアカウントの作成 - SFTP を開き、新しい SFTP 接続を作成します (ES ファイル エクスプローラー (ESFile Explorer) や SE ファイル マネージャー (ソリッド エクスプローラー) などの一部のファイル マネージャーにも SFTP 機能があります。 TurboFTP をインストールしたくない場合は、代わりに使用できます):
## ここで:
ユーザー名: root パスワードは、設定したばかりの root ユーザーのパスワードです。ホスト名は 127.0.0.1
です。他の項目はデフォルトのままにしてください。右上隅の [保存] アイコンをクリックして、設定を保存します。接続中サイドバーのリストを使用します。 root ユーザーは SFTP に接続し、ファイルを管理します。
もちろん、sshd_config ファイルを変更した後です。 Linux システムを停止して起動する場合、root ユーザーとして直接 SSH に接続することもできます。インストールを紹介した後、アンインストールを紹介します~ 次の方法で Linux Deploy を完全にアンインストールできます:
1. Linux システムの展開に「ディレクトリ」方法を使用する場合は、Linux システムを「停止」します。 Linux Deploy で、Linux Deploy を直接アンインストールし、電話機を再起動して完全にアンインストールします。 2. 「ファイル (ミラー)」方法を使用して Linux システムを展開する場合は、まず Linux システムを「停止」してから、削除する必要があります。内蔵ストレージに配置されたイメージ ファイルの場合、イメージ ファイルのパスは、Linux システムを展開する前の上記の「インストール パス」です。この項目が変更されていない場合、イメージ ファイルのパスは 外部ストレージ/linux.img です。 を選択し、Linux Deploy をアンインストールし、携帯電話を再起動して完全にアンインストールします。
グラフィカル環境をインストールします
次の構成項目を変更します:
INIT: チェック: カスタム スクリプトの実行を有効にする (INIT の他の構成は変更されません)
グラフィカル インターフェイス:
チェックボックス: グラフィカル インターフェイスの起動を許可します。
グラフィック サブシステム: VNC
グラフィカル インターフェイスの設定: デフォルト構成を維持します
デスクトップ環境: 必要に応じて選択します。ここで選択したものは LXDE
## 設定が完了したら、メイン インターフェイスに戻り、[メニュー キー] を押して、[設定] を選択して、行った設定を有効にします。
# 設定が完了したら、下部の「停止」ボタンをクリックして Linux を停止します。システムにアクセスし、[開始] ボタンをクリックして Linux を起動します。システムにアクセスし、SSH にログインしてターミナルで次のコマンドを実行します: sudo apt-get install ttf-wqy-zenhei #中国語フォント ライブラリのインストール
中国語フォント ライブラリがインストールされたら、次のコマンドを実行して VNC を起動します: vncserver
ターミナルは次の結果を返します: New ' X のデスクトップは localhost:1 /home/android/.vnc/xstartup で指定されたアプリケーションの起動 ログ ファイルは /home/android/.vnc/localhost:1.logCopy
vncserver が正常に開始されました。
(ある時点で、vncserver
コマンドを初めて実行するときに、システムは 8 桁未満の VNC パスワードを設定するように要求することに注意してください。パスワードを 2 回入力する必要があります。 VNC パスワードの設定が完了するとプロンプトが表示されますが、無視して n と入力して送信します)
グラフィカル インターフェイスに入ります:
次に、VncViewer を使用して、展開したばかりのグラフィカル インターフェイスに接続します。 VncViewer を開き、右下隅にある「 」ボタンをクリックして VNC セッションを追加します。
Address: 127.0.0.1:5901 Name : Localhost - Ubuntu@Xfce
このうち、「Address」項目はVNCサーバーのアドレスです。ローカル VNC サーバーに接続する必要があるため、127.0.0.1 を入力するだけです。また、端末から返された情報が次のとおりであるため、アドレスの後に VNC ポートを指定する必要もあります: New 'X' Desktop is localhost:1
デスクトップ セッション番号は 1 として指定されているため、ポートは 5900 1=5901 です。複数の仮想デスクトップを開いて、それらのセッション番号が 2、3、4... である場合、それぞれのポートは 5902、5903、5904... になります。さらに、サーバー アドレスとポートは英語のコロンで区切る必要があります。 「名前」項目は、この VNC セッションに対してユーザーが指定したアドレスです。他のセッションと区別するために、「Localhost - Ubuntu@Xfce」と入力します。実際には、任意の値を入力できます。 この情報を入力したら、[作成] ボタンをクリックして送信します。
## 情報が正しいことを確認したら、下の緑色の「接続」ボタンをクリックして、VNC セッションへの接続を開始します (以前に VNC パスワードを設定したことがない場合でも、設定する必要があります) VNC 接続プロセスのパスワード中にパスワードを入力してから、Android ユーザーのパスワードを入力してみてください):
#OK...グラフィカル インターフェイスの展開プロセスは終了しましたここまでは、残りの部分は自分で行うことができます (/doge face)~
考えられる問題:
1. VNC セッションを開くとき、Linux を停止した後、システムを停止して Linux システムを再起動し、vncserver コマンドを再度実行すると、システムから次のエラーが報告される場合があります:
この時点では、次の 2 つのコマンドを実行できます:
rm -rf /tmp/.X[1-9]-lockrm -rf /tmp/.X11-unix/X[1-9]
実行完了後、vncserver を再度実行すると、セッション番号が 1 にリセットされます。 Linux システムを毎回停止して再起動することによって発生するこの問題を防ぐために、/etc/rc.local ファイルを編集し、このファイルの
exit 0 の前に次の 2 つのコマンドを挿入します。
sudo vim /etc/rc.local #Edit/etc/rc.local
## 編集が完了したら、保存します。このステップを実行すると、Linux Deploy は Linux システムの起動後、Linux システムを停止する前にこれら 2 つのコマンドを実行するため、これ以上エラーは報告されません ~ 2. vncserver のデフォルト 解像度は 1024×768 です, しかし、市場にあるほとんどの携帯電話の画面の解像度は 720P (1280×720)、1080P (1920×1080)、さらには 2K (2560×1440) です。vncserver のデフォルトの解像度は 1024×768 です。 VNC 画像が画面いっぱいに表示できない場合は、画面に合わせて VNC 解像度を変更する必要があります。テスト後、1080P 画面を例として、解像度を 720P に設定すると、VNC 画像が画面いっぱいに表示されます。画面にフィットせず、表示効果に影響を与えます。調整方法は、
vncserver コマンドを実行するたびに -geometry
パラメータを追加することです。たとえば、VNC 解像度を 720P (1280×720) に調整する必要がある場合は、 vncserver を起動し、
vncserver -geometry 1280x720
を実行して、新しく開かれた VNC 仮想セッションの画面解像度を 1280×720 に設定します。コマンドの 1280x720 の #xxx は小文字の #xxx
であり、数学の乗算記号
# ではないことに注意してください。
以下は、1280×720 解像度と 1024×768 解像度 (VNC Viewer 画面を最小化) の比較です。
明らかに、1080P 画面では、VNC 解像度を 1280×720 に設定すると、画像が画面いっぱいに表示され、視覚的に優れたものになります。効果。
vncserver を起動するたびに、このような長いコマンドのリストを入力するのが少し面倒であれば、 ~/.bashrc ファイルを編集して、次の場所にエイリアス定義の行を追加できます。以下の図に示す場所:
vim ~/.bashrc #Edit~/.bashrc
alias vncserver='vncserver -geometry 1280x720'
Copy
その後、 vncserver コマンドが実行されるたびに、新しく開かれた VNC セッションの解像度が 1280×720 に設定されます。 。 ubuntu のアップグレード
ubuntu は 18.04 までしかインストールできないことがわかります。
アップグレード方法は、Ubuntu をインストールしてから直接アップグレードすることです。
VNC を使用してデスクトップにログインした後、ターミナルを使用してアップデータをインストールします
sudo apt install update-manager-core ログイン後にコピー
すべてのパッケージを最新バージョンに更新します
sudo apt update && sudo apt upgrade
sudo do-release-upgrade ログイン後にコピー
「focal.tar.gz」を認証する場合' に対して ' が表示され、focal.tar.gz.gpg' 認証失敗エラーが表示されます。まず gnupg をインストールし、次の手順を実行します。
sudo apt install gnupg gnupg1 gnupg2
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 871920D1991BC93C ログイン後にコピー
sudo do-release-upgrade を再度実行し、y を入力してシステムの更新を開始します。端末の指示に従ってアップデートしてください。 プロンプトが表示されたら、「アップグレードする前に利用可能なすべての更新をインストールしてください」
apt clean
apt autoclean
sudo apt update
sudo apt upgrade -y
sudo apt dist-upgrade ログイン後にコピー
sudo do-release-upgrade を再度実行し、「y」を入力してシステムの更新を開始し、端末の指示に従って更新します。 他に何も問題がなければ、システムは正常にアップグレードされています。
アップグレード後、Linux デプロイ構成項目に戻り、ユーザー名を root に変更する必要があります。パスワードは変更しないでください。その理由は、アップグレード後、元の Android ユーザー名には root が含まれていないためです。権限
ユーザー名を変更した後は、必ず linuxdeploy の構成オプションをクリックして再構成してください # 2023.3.8 更新 「必要な依存関係 'apt ( >= 2.0.4)' がインストールされていません。」/etc/apt/source.list ファイルを変更する必要があります
## /etc/apt/source.list
deb http://ports.ubuntu.com/ focal multiverse main universe
deb-src http://ports.ubuntu.com/ focal multiverse main universe
deb http://ports.ubuntu.com/ focal-updates main universe multiverse
deb-src http://ports.ubuntu.com/ focal-updates main universe multiverse
deb http://ports.ubuntu.com/ focal-security main universe multiverse
deb-src http://ports.ubuntu.com/ focal-security main universe multiverse ログイン後にコピー
以上がLinuxデプロイの機能とは何ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。