Ubuntuは有名なLinuxディストリビューションだ。PCで使うだけでなく、AndroidデバイスでもTermux Prootコンテナ技術を使えば、Root権限なしでLinuxディストリビューションをインストールできる。
以下で使う簡単な方法は「Udroid」だ。proot-distro commandsと比べると、このLinuxインストール手順は数行のコマンドだけで済む。Ubuntu 22.04 LTSシステムをインストールしてくれ、ブラウザとオフィスソフトも内蔵されている。デスクトップ環境はGNOME、XFCE、Mateから選べる。
Termux自体はテキストインターフェイスなので、Ubuntuをインストールしたあとグラフィカル環境を起動せず、プログラムやスクリプトだけを実行することもできる。
あわせて参照:proot Ubuntu
1. 前提条件#
Udroidを動かすにはスマートフォンに最低4GB RAMが必要で、グラフィカルインターフェイスには最低6GBが必要だ。ストレージ容量は10GB用意する。
TermuxとVNC Viewerをインストールする。UdroidはTermux X11とは互換性がなさそうだ。
AVNC Viewerをインストール
2. Udroidインストールスクリプトを実行する#
- Termuxを開き、音声サーバーを自動起動するよう設定する。
echo 'pulseaudio --start --exit-idle-time=-1' > ~/.profile
echo 'pacmd load-module module-native-protocol-tcp auth-ip-acl=127.0.0.1 auth-anonymous=1' > ~/.profile- 次の数行のコマンドをコピーし、Termuxで長押しして貼り付け、Enterを押す。2GBのファイルのダウンロード、インストール、展開が終わるまで待つ。そう、Udroidは本当にかなり大きい。
pkg install git
git clone https://github.com/RandomCoderOrg/fs-manager-udroid
cd fs-manager-udroid
bash install.sh
udroid install jammy:xfce4
udroid login jammy:xfce4その後は自動でログインする。最初にzshから更新するか聞かれることがあるので、
yを入力して完了を待つ。プロンプトが~になれば、テキストモードのproot Ubuntuに入っている。apt updateコマンドでパッケージリストを更新してみよう。
Udroidはデフォルトでrootとしてログインする。一般ユーザーアカウントは自分で作成する:
apt install openssl
username="user"
password="在這裡輸入自訂密碼"
useradd -m \
-p "$(openssl passwd -1 ${password})" \
-G sudo \
-d /home/${username} \
-k /etc/skel \
-s /bin/bash \
$username- ただしUdroidの一般ユーザーでは
The "no new privileges" flag is setエラーが出るため、sudoを再インストールして解決する:
apt reinstall sudo3. タイムゾーン、中国語、入力メソッド、Snap無効化を設定する#
- タイムゾーンを台湾・台北に設定する。
sudo ln -sf /usr/share/zoneinfo/Asia/Taipei /etc/localtime- locales、Fcitx5入力メソッド、中国語フォントをインストールする。
sudo apt install locales fcitx5* fonts-noto fonts-noto-cjk- 中国語ロケールを生成する。
sudo locale-gen zh_TW
sudo locale-gen zh_TW.UTF-8
sudo dpkg-reconfigure locales
sudo update-locale LANG="zh_TW.UTF-8" LANGUAGE="zh_TW"- VIMで
.profileを編集する。
vim ~/.profile- 次の内容を追加し、言語を繁体字中国語に設定し、入力メソッドにFcitx5を指定する。ログイン後にFcitx5とPulseAudioが自動起動するように設定する。
LANG=zh_TW.UTF-8
LC_CTYPE=zh_TW.UTF-8
LC_NUMERIC=zh_TW.UTF-8
LC_TIME=zh_TW.UTF-8
LC_COLLATE=zh_TW.UTF-8
LC_MONETARY=zh_TW.UTF-8
LC_MESSAGES=zh_TW.UTF-8
LC_PAPER=zh_TW.UTF-8
LC_NAME=zh_TW.UTF-8
LC_ADDRESS=zh_TW.UTF-8
LC_TELEPHONE=zh_TW.UTF-8
LC_MEASUREMENT=zh_TW.UTF-8
LC_IDENTIFICATION=zh_TW.UTF-8
LC_ALL=
GTK_IM_MODULE=fcitx
QT_IM_MODULE=fcitx
XMODIFIERS=@im=fcitx
SDL_IM_MODULE=fcitx
GLFW_IM_MODULE=ibus
export PULSE_SERVER=tcp:127.0.0.1- 最後にSnapを無効化する。Proot環境ではSnapが動作しないためだ。
sudo apt purge snapd
sudo cat <<EOF | sudo tee /etc/apt/preferences.d/nosnap.pref
Package: snapd
Pin: release a=*
Pin-Priority: -10
EOF4. デスクトップ環境を起動する#
- rootパスワードを変更する。
passwd root- VNCパスワードを変更する。
vncpasswdstartvncコマンドを入力してVNCサーバーを起動する。AVNC Viewerを開き、接続IPに
localhost:5900を入力するとデスクトップが表示される。
AVNC Viewerを閉じ、Termuxへ戻って
stopvncを入力し、出力を停止する。
5. デスクトップ環境を起動せずUdroidへログインする#
Termuxを開き、次のコマンドを入力してログインすればよい:
udroid login jammy:xfce4

