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

TermuxでDebianをインストールする方法(GUI+中国語環境+音声+ワンタップ起動スクリプト)

·
カテゴリー スマートフォン Termuxチュートリアル
タグ Proot-Distro Debian
目次

この記事では、Termuxのproot-distroツールを使って、中国語環境、PulseAudio音声、XFCE4デスクトップ環境に対応したDebianシステムを手動で構築する方法を紹介します。root権限は不要です。記事の最後にはワンタップ起動用スクリプトも載せています。

Debianを選ぶ利点は、Ubuntuより安定していること、パッケージ形式がUbuntuに近いこと、そしてSnapに邪魔されないことです(Snapはsystemdが必要ですが、Termuxは対応していません)。

手動でインストールしたくない場合は、社群製作的指令稿を使って自動インストールしてください。

1. 前提条件
#

Debianを動かすには、スマホに最低4GB RAM、グラフィカル環境では最低6GB RAMが必要です。

ストレージ容量は10GB用意してください。

私の端末:小米Poco F1, Lineage OS 20 (Android 13)

  1. Termuxをインストールします

  2. Termux X11をインストールします

  3. GPUハードウェアアクセラレーションを有効にします。Termux virglrenderer GPU 3D

2. Debian最小ファイルシステムをインストールする
#

ここでいう最小ファイルシステムとは、proot-distro開発者が提供しているrootfsのことです。debootstrapで作るわけではありません。

  1. Proot-distroとPulseAudioをインストールします
pkg update
termux-setup-storage
pkg install proot-distro pulseaudio vim
  1. Proot Debianをインストールします
proot-distro install debian
  1. Debianにログインします。--userパラメータは指定アカウントでログインすることを表し、ここではrootです。--shared-tmpはTermuxのtmpディレクトリをproot内部にマウントし、Xサーバーのリソースを共有します。
proot-distro login debian --user root --shared-tmp
  1. ログイン後、まずsudo、vim、Firefoxブラウザをインストールします
apt update
apt install sudo vim firefox-esr
  1. Prootシステムを終了するには、exitを入力してログアウトします。

3. Debianミラーサイトを変更する
#

これは任意の手順です。ミラーサイトを変更すると、パッケージのダウンロード速度を上げられます。

詳しい使い方はSourcesList - Debian Wikiを参照してください。

利用可能なミラーサイト:Debian 映射站台

  1. ミラー一覧を編集します
vim /etc/apt/sources.list
  1. URLをすべて台湾NCHCのURLに置き換えます(バージョンコード名に注意してください。現在はbookwormです)。
deb http://opensource.nchc.org.tw/debian/ bookworm main contrib non-free
deb-src http://opensource.nchc.org.tw/debian/ bookworm main contrib non-free
deb http://opensource.nchc.org.tw/debian/ bookworm-updates main
deb-src http://opensource.nchc.org.tw/debian/ bookworm-updates main
deb http://security.debian.org/debian-security bookworm/updates main contrib non-free
deb http://opensource.nchc.org.tw/debian bookworm-backports main
  1. パッケージ一覧を更新します
apt update

4. 一般ユーザーを作成する
#

通常、rootアカウントでシステムを操作することはありません。そのため一般ユーザーアカウントを追加し、システム変更が必要なとき(aptコマンド実行など)だけsudoコマンドで一時的に権限を昇格します。

  1. rootパスワードを変更します
passwd
  1. wheelとvideoグループを追加します
groupadd storage
groupadd wheel
groupadd video
  1. 一般アカウントuserを追加し、パスワードを変更します。
useradd -m -g users -G wheel,audio,video,storage -s /bin/bash user
passwd user
  1. userをsudoグループに追加します。visudoコマンドを実行し、root ALL=(ALL:ALL) ALLの行を探して、その次の行に以下を追加します。
user ALL=(ALL:ALL) ALL
  1. 一般アカウントに切り替えます
su user
cd

5. デスクトップ環境をインストールする
#

現在、TermuxではGNOMEデスクトップ(パッケージ名:gnome)を正常に起動できません。

KDEデスクトップ(kde-full)は、スマホのRAMが8GB以上ある場合にインストールするのがおすすめです。

XFCE4は最もバランスの良い選択肢です。軽量で、多くのスマホに向いています。

sudo apt install xfce4 xfce4-goodies dbus-x11
  1. XFCEのパッケージインストール時にキーボード設定を聞かれたら、1を入力してUSを選びます。

6. タイムゾーン、中国語、入力メソッドを設定する
#

* Fcitx5入力メソッドを使うには外付けキーボードが必要です。

  1. タイムゾーンを台湾・台北に設定します
sudo ln -sf /usr/share/zoneinfo/Asia/Taipei /etc/localtime
  1. localesとFcitx5入力メソッドをインストールします
sudo apt install locales fcitx5* fonts-noto-cjk
  1. vimで/etc/locale.genを編集します:vim /etc/locale.gen。繁体字中国語のコメント(#)を外し、次のようにします。
zh_TW.UTF-8 UTF-8
  1. 繁体字中国語ロケールを生成します
locale-gen
echo "LANG=zh_TW.UTF-8" > /etc/locale.conf
  1. VIMで.profileを編集します
vim ~/.profile
  1. 以下を追加し、言語を繁体字中国語に設定して、入力メソッドにFcitx5を指定します。(fcitx5を呼び出せない場合は、言語をen_US.UTF-8に戻してください)
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

fcitx5 &

7. 手動でデスクトップ環境に入る方法
#

この節は仕組みを理解するためのものです。知る必要がなければ次の節へ進んでください。

  1. Debianのインストール後、TermuxとTermux X11アプリを強制停止し、キャッシュを消去します。その後Termuxを再起動します。

  2. Termux X11 appを開き、バックグラウンドで開いたままにします。続いてTermuxへ戻り、PulseAudio、Termux X11、virgl serverを起動します

pulseaudio --start --exit-idle-time=-1

pacmd load-module module-native-protocol-tcp auth-ip-acl=127.0.0.1 auth-anonymous=1

export DISPLAY=:0
termux-x11 :0 &

virgl_test_server_android &
  1. Debianにログインします。ここでは一般アカウントuserでログインする点に注意してください
proot-distro login debian --user user --shared-tmp
  1. PulseAudio、Fcitx5、XFCE4デスクトップ環境を順に起動します
export DISPLAY=:0
PULSE_SERVER=tcp:127.0.0.1
fcitx5 &
dbus-launch --exit-with-session startxfce4 &
  1. Termux X11の画面に切り替えると、デスクトップ環境が表示されるはずです。Termux X11のフローティングウィンドウをタップし、権限を取り消すと全画面になります。

8. ワンタップ起動用デスクトップ環境スクリプト
#

毎回デスクトップ環境を起動するたびにコマンドを打つのは面倒です。幸い、clienの韓国人ユーザーが、ホーム画面のショートカットからTermux+Termux X11+virglserverの起動手順をワンタップで実行し、デスクトップ環境を自動起動する方法を紹介しています。

  1. Termux Widgetをインストールします

  2. システム設定を開き、Termuxに「他のアプリの上に重ねて表示」を許可します

  3. Termuxを開き直し、以下のコマンドでショートカットを作成します(proot-distro内ではありません)

mkdir .shortcuts
vim .shortcuts/startproot_debian.sh
  1. 以下の内容を入力します
#!/bin/bash

# 古いプロセスをすべて終了
killall -9 termux-x11 pulseaudio virgl_test_server_android termux-wake-lock

# Termux X11を起動
am start --user 0 -n com.termux.x11/com.termux.x11.MainActivity
XDG_RUNTIME_DIR=${TMPDIR}
termux-x11 :0 -ac &
sleep 3

# PulseAudioを起動
pulseaudio --start --load="module-native-protocol-tcp auth-ip-acl=127.0.0.1 auth-anonymous=1" --exit-idle-time=-1
pacmd load-module module-native-protocol-tcp auth-ip-acl=127.0.0.1 auth-anonymous=1

# GPUアクセラレーション用virglserverを起動
virgl_test_server_android &

# proot Debianにログインしてデスクトップ環境を起動
proot-distro login debian --user user --shared-tmp -- bash -c "export DISPLAY=:0 PULSE_SERVER=tcp:127.0.0.1; dbus-launch --exit-with-session startxfce4"
  1. 実行権限を付与します
chmod +x .shortcuts/startproot_debian.sh
  1. スマホのホーム画面でウィジェットを追加し、Termux Widgetを選択すると、先ほど作成したショートカットが一覧に表示されます。

  2. ボタンをタップすると、Termuxが自動で開いてデスクトップへログインします。

  3. 通知欄を下へスワイプし、Termux X11のPreferencesを押すと、タッチ操作を模擬タッチパッドに変更できます。これでマウスを呼び出せます。

  4. スマホのキーボードを使う場合:Termuxに戻って画面をタップしてキーボードを表示し、通知欄を下へスワイプしてTermux X11をタップすると、スマホのキーボードを開いたまま維持できます。または画面下部の仮想キーボードをスワイプすると、スマホのキーボードで入力できる入力欄が表示されます。

  5. XFCE4のアイコンが小さすぎる場合があります。左上 → 設定マネージャー → 外観を開き、ウィンドウスケーリングを2倍に設定します。なお、システム設定でXFCEの画面ロックとスクリーンセーバーを無効にしておくこともおすすめします。ロック解除できないためです。

  6. 外付けキーボードがある場合は、システム右上のFcitx5アイコンをクリックし、右クリックメニューの設定から新酷音入力メソッドを追加します。CTRL+スペースで注音入力に切り替えます。

  7. 実行を終了するには、Termuxに戻ってCTRL+Cを押してデスクトップ環境を終了し、その後ログアウトします。

exit

参考資料
#

関連記事


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