快轉到主要內容

Termux如何安裝Debian系統 (圖形界面+中文化+音訊+一鍵啟動指令稿)

智慧型手機 Termux教學 proot-distro Debian
🗓️ 民國112年 癸卯年
✍ 切換正體/簡體字
目錄

🇺🇸 English version

這篇文章介紹如何用Termux的proot-distro工具,手動建立中文化、支援PulseAudio音訊、桌面環境為XFCE4的Debian系統,不需要root權限。文末再附上一鍵啟動的指令稿。

選用Debian的好處是比Ubuntu穩定,套件格式跟Ubuntu相近,並且沒有Snap干擾(需要systemd,Termux不支援)。

如果您不想手動安裝,請改用 社群製作的指令稿自動安裝。

1. 前置條件
#

要跑Debian手機需要至少4GB RAM,圖形界面至少6GB。

儲存空間需準備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. 將網址全部替換成台灣國網中心的網址(需注意版本代號,目前是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
  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.genvim /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
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 --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

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 Xwayland 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

延伸閱讀
#

相關文章

Termux終端機使用教學:Android手機跑Linux指令
智慧型手機 Termux教學 Linux Termux
手機版的Debian,小米Pocophone F1安裝Mobian
智慧型手機 真Linux手機 Mobian Debian Xiaomi
Android手機寫Python:Termux安裝Anaconda環境 (miniforge)
智慧型手機 Termux教學 Anaconda Python Android

留言板

此處提供二種留言板。點選按鈕,選擇您覺得方便的留言板。要討論程式碼請用Giscus,匿名討論請用Disqus。

這是Giscus留言板,需要Github帳號才能留言。支援markdown語法,若要上傳圖片請貼Imgur連結。您的留言會在Github Discussions向所有人公開。

這是Disqus留言板,您可能會看到Disqus強制投放的廣告。有時留言可能會被系統判定需審核,導致延遲顯示,請見諒。