把你的安卓手機變成一個小 口袋 Linux 伺服器 這聽起來可能有點極客範兒……但當你真正嘗試之後就會發現並非如此。現代手機的效能足以運行完整的系統,包括網路服務、Web 伺服器,甚至是輕量級的圖形桌面,而且不會影響 Android 系統本身的效能,也不會讓你的資料面臨風險。
有一些應用程序,例如 Linux Deploy、Termux、UserLAND、Andronix、VNC 或 XServer XSDL你可以將舊手機或平板電腦重新利用,賦予它第二次生命,使其成為迷你家庭伺服器、測試環境或便攜式安全實驗室。本指南將詳細介紹其工作原理、所需元件、安裝方法以及在 Android 系統上運行 Linux 可以實現的功能。
為什麼值得在安卓手機上安裝Linux?
Android 非常適合日常使用,但當你想要… 完整的 GNU/Linux 環境 對於程式設計、搭建伺服器或擺弄傳統桌面環境來說,它就顯得力不從心了。如果你有一部幾乎不再使用的手機或平板電腦,那麼在上面安裝一個 Linux 發行版是充分利用它並防止它最終被遺忘在抽屜裡的絕佳方法。
最常見的動機涉及執行 Linux 專屬軟體您可以測試網路服務(Apache、Nginx、SSH、資料庫),建立小型安全實驗室,或讓開發機器可以透過 SSH 從任何地方存取。最終,您可以結合兩者的優勢:Android 作為主系統,Linux 作為客戶系統,兩者並行運行。
此外,透過在行動裝置上設定和維護發行版所獲得的知識是: 如果你學習系統、開發或網路安全,這絕對是無價之寶。在 Linux 環境中,您可以隨意破壞,而不用擔心會損壞 Android,因為系統被封裝在一個映像或單獨的 chroot/PROot 中。
另一個關鍵點是,許多解決方案都有效。 無需root借助 PROoot 等技術,雖然它在用戶空間中模擬 chroot 行為,但您可以模擬一個相當完整的 Linux 文件樹,安裝軟體包,並且幾乎像在普通伺服器上一樣工作,而無需解鎖設備。
你的安卓設備能流暢運作Linux系統嗎?
幾乎所有中等偏新的安卓設備都能運行它。 某種形式的Linux然而,實際體驗很大程度上取決於記憶體、可用儲存空間以及是否擁有root權限。即使是較舊的手機,如果放棄GNOME或KDE等重量級桌面環境,也可以運行輕量級發行版。
作為小型機構的合理參考 沒有圖形環境的Web伺服器建議至少配備 2GB 記憶體、約 5GB 可用空間(內建儲存空間或高速 microSD 卡),以及穩定的 Wi-Fi 連接,以便下載發行版鏡像並透過網路管理系統。設備資源越充足越好。
如果你的想法是使用 Linux 桌面系統, X11 或 Wayland擁有鍵盤和滑鼠(藍牙或OTG介面)非常有用,如果你的手機支持,也可以將視訊輸出到顯示器或電視上。它們並非必需,但與僅使用觸控螢幕相比,能顯著提升使用體驗。
你還需要決定你是否想要 根終端 或者,您可能更傾向於不使用 root 權限。使用 root 權限,您可以擁有真正的 chroot 環境、Linux Deploy 的所有強大功能以及非常精細的系統控制。不使用 root 權限,您只能依賴 Prooot 以及 Andronix、UserLAnd、AnLinux 和類似的工具,這些工具對於輕量級伺服器或遠端桌面來說仍然完全夠用。
一般來說,一個基本的Web伺服器只需要一個 無圖形使用者介面 (GUI) 的環境這樣可以減少內存和電池消耗,並保持手機涼爽。如果您想體驗 LXDE 或 XFCE 等桌面環境,最好使用效能稍高的裝置。
Linux 在 Android 上如何運作:chroot、PROot 和圖形伺服器?
當我們談論「在安卓系統上安裝Linux」時,我們實際上並不是在談論這個。 取代安卓但可以透過在其中運行 Linux 系統來實現。無需刷寫 ROM 或修改引導程式:這些解決方案會建立一個 Linux 檔案系統並將其掛載為客戶環境。
如果裝置已root,則可以使用經典工具。 chroot環境使用 chroot,您可以變更進程及其子進程所看到的根目錄,使其只能看到用戶端發行版的目錄樹。這需要 root 權限,因此 Android 預設未啟用此功能。
在沒有根的場景中,主角是 PROot該工具從用戶空間模擬 chroot 的部分行為,透過轉換系統調用,使進程看起來像是在另一個根目錄中運行,即使它仍然是一個普通的 Android 用戶。它是 Andronix、AnLinux 和 UserLAnd 等許多解決方案的基礎。
另一個主要挑戰是圖形處理。 Linux 桌面需要… 伺服器 X 或 Wayland然而,該伺服器無法像在PC上那樣直接與Android圖形硬體通訊。因此,目前廣泛採用兩種策略:VNC和專用於Android的X伺服器。
第一種策略是開始 發行版內的 VNC 伺服器 然後透過安卓VNC檢視器應用(例如VNC Viewer、bVNC等)連接到本機。螢幕上顯示的是遠端桌面,它實際上運行在手機上。簡單易用,相容性強,但效能略有不足。
第二種方法是使用專為 Android 設計的 X 伺服器,例如: X服務器XSDL在這種情況下,圖形伺服器以 Android 應用的形式運行,而 Linux 發行版則充當 X 用戶端,與之連接。它通常比純 VNC 提供更好的性能,但需要一些額外的配置(例如顯示變數、連接埠等)。
無需root權限的方案:PROot來幫忙
如果你不想對裝置進行 root 操作或解鎖引導程序,有一些應用程式可以啟動完整的發行版。 使用者空間中的 ProotAndroid 系統保持完整,而 Linux 則被封裝起來,就像一個巨大的容器。

Andronix + Termux + VNC 檢視器
一個非常受歡迎的組合是混合 Andronix、Termux 和 VNC 檢視器Termux 提供高級終端機及其儲存庫,而 Andronix 則指導在 PROot 環境中下載和安裝發行版。
典型的流程很簡單:安裝 Andronix、Termux 和 VNC Viewer在 Andronix 中,您可以選擇要使用的發行版(Ubuntu、Debian、Manjaro、Kali 等)和桌面環境(XFCE、LXDE 等),複製應用程式產生的命令,將其貼上到 Termux 中,然後等待檔案系統下載並解壓縮。
最後,您需要配置 VNC密碼和分辨率從 Linux 會話啟動圖形伺服器,並使用 VNC Viewer 連線到類似 localhost:1 的位址。螢幕上會顯示一個真正的 Linux 桌面在行動裝置內部移動,無需存取根目錄即可透過終端和圖形使用者介面進行存取。
其他無需root權限的替代方案:UserLAND、AnLinux、Debian Noroot…
除了 Andronix 之外,還有一個基於該平台的整個應用程式生態系統。 專業版適用於完整發行版 沒有管理員權限。它們各有特點,但整體思路相同。
用戶登陸 它是最用戶友好且開源的選擇之一。它允許您部署 Debian、Ubuntu、Arch、Kali 或 Alpine,並且既提供桌面會話(LXDE、XFCE4),也提供單一應用程式的安裝,例如,只安裝 Firefox 或 LibreOffice,而不是整個系統。
它的介面由多個部分組成: 應用程式、會話和檔案系統在「應用程式」中,您可以選擇要安裝的軟體;在「會話」中,您可以管理活動連線(VNC、SSH、XSDL);在「檔案系統」中,您可以查看已建立的 Linux 根目錄。它允許您使用不同的存取方式,對同一安裝進行多個會話。
anlinux 它的工作原理類似,主要依賴 Termux。該應用程式產生在 Termux 中運行的腳本,用於在 Proot 環境中安裝 Ubuntu、Debian、Fedora、CentOS、openSUSE 或 Kali。它還提供 XFCE4、MATE、LXQt 或 LXDE 等輕量級桌面環境,非常適合記憶體有限的行動裝置。
Debian 無根目錄 它很實用:可以在 Android 4.1 或更高版本上啟動一個輕量級的、無需 root 權限的 Debian 系統。它的靈活性稍遜,性能也並非十分出色,但如果您只是想輕鬆體驗 Debian,它的安裝過程非常簡單。
使用 Linux Deploy 以 root 使用者身分安裝 Linux。
裝置取得root權限後,就能使用更強大的解決方案,而女王就在這裡。 Linux部署該應用程式使用 chroot 和 BusyBox 將 Debian、Ubuntu、Arch、Fedora 和其他發行版直接安裝到手機儲存上,並可對它們的掛載和啟動方式進行相當大的控制。
隨著時間的推移,Linux Deploy 逐漸獲得了市場份額。 更好的介面、設定檔和選項如今,它允許您選擇發行版、安裝類型、檔案系統,啟用或停用圖形使用者介面,定義自訂啟動腳本,並在行動裝置重新啟動時啟用自動啟動。
Linux 部署的基本需求
首先,你需要一個 已root且BusyBox已更新的Android設備BusyBox 提供了許多 Linux Deploy 內部用於管理 chroot 的 Unix 實用程式。請從可信任來源安裝它,授予其超級使用者權限,並驗證其配置是否正確。
你還需要一個 適用於 Android 的 VNC 檢視器例如 VNC Viewer,它是一款免費軟體,可以很好地連接到已安裝發行版的圖形桌面。雖然 Linux Deploy 也提供 X11 模式,但 VNC 通常是最簡單的入口點。
關於 Android 相容性,Linux Deploy 表示支援。 Android的2.3.3然而,在如此老舊的硬體上,體驗通常很差。理想情況下,你需要一台相對較新的設備,至少配備 1GB 內存、幾 GB 的可用空間(可以是內置存儲空間或高速 microSD 卡),以及良好的數據連接,因為你需要下載幾百兆甚至幾 GB 大小的 ARM 鏡像。
配置分發、儲存和 GUI
打開 Linux Deploy 後,您將看到帶有按鈕的主畫面。 開始/停止和設定圖標 在底部。在那裡您可以存取安裝屬性,決定要安裝哪個 Linux 發行版以及如何安裝。
在本部分,您可以選擇 發行版(Debian、Ubuntu、Arch、Fedora…)下載鏡像和最終鏡像都需要指定架構(arm、arm64、armhf、armel 等)和檔案系統路徑。務必選擇處理器實際使用的架構,以避免安裝過程中出現異常錯誤。
最常見的安裝類型是“圖片文件這表示 Linux 系統將駐留在單一 EXT2、EXT4 或其他格式的檔案系統中。對於大多數使用者而言,與使用需要更多專業知識的專用分割區相比,這是最簡單的選擇。
您可以在下方選擇 文件系統類型 (EXT2 通常效果不錯),然後決定是將影像儲存在內部記憶體還是 microSD 卡上。如果 SD 卡品質良好,這是一種避免手機主儲存空間被佔滿的有效方法。
在圖形使用者介面部分,您可以 啟用或停用圖形介面啟用此功能後,Linux Deploy 將準備一個輕量級桌面環境並配置 VNC 存取。您也可以在此處選擇要安裝的環境(LXDE、XFCE 等)、圖形會話的使用者名稱和密碼。
使用 Linux Deploy 安裝並啟動發行版
設定完成後,就可以啟動程式了。 配電裝置在右上角的選單中,您可以找到「安裝」選項,點擊該選項將開始下載和配置鏡像。
這個過程可能需要幾分鐘到半小時甚至更長時間,具體取決於您的網路連線速度和裝置效能。在此期間,系統將下載並解壓縮,chroot 環境將完成配置,您選擇的軟體包也將安裝完畢。
當整個過程完成後,剩下的就是繼續前進。 開始啟動系統Linux Deploy 會掛載鏡像,啟動已定義的服務,如果您啟用了圖形使用者介面 (GUI),也會啟動 chroot 環境中的 VNC 伺服器。在 VNC 檢視器中,連接到 Linux Deploy 顯示的 IP 位址和連接埠(例如 127.0.0.1:5900),輸入密碼後,您應該就能在 Android 裝置上看到完整的 Linux 桌面環境了。
使用 Linux Deploy 和 X11 而不是 VNC
其中一個引發諸多疑問的問題是: 使用 Linux Deploy 和 X11 Direct 為了避免始終依賴發行版內建的 VNC 伺服器,建議使用其他方案,而不是 VNC。通常情況下,SSH 和桌面環境都能正常安裝,但 startx 指令卻會失敗,或是看起來「什麼都啟動不了」。
總體思路是將… Android X 伺服器(XServer XSDL 類型) 如果 Linux Deploy 配置為 X11 模式,則發行版應該透過指向外部 X 伺服器而不是 Xvnc 來啟動桌面。問題通常出在一些細節上,例如 DISPLAY 變數、XSDL 監聽的 IP 位址和端口,或啟動桌面環境的確切命令。
在許多情況下,即使桌面環境看起來安裝正確,如果沒有可存取的 X 伺服器,透過 SSH 啟動 startx 也可能無法正常運作。您需要檢查… Android X 伺服器正在運行Linux Deploy 已配置為使用它,圖形環境(XFCE、LXDE、MATE 等)直接在 X11 上啟動。這比 VNC 更複雜,可能需要查閱 Linux Deploy 文件以及您正在使用的特定 X 伺服器的文檔。
在行動裝置上設定網路伺服器和其他服務
現在發行版已啟動並運行,您可以 安裝服務與在任何 Linux 系統上安裝服務相同。您可以使用 apt、pacman 或系統軟體套件管理器新增 Apache、Nginx、MySQL/MariaDB、FTP、Samba、SSH 以及您需要的任何其他軟體。
例如,在 Debian 或 Ubuntu 系統中,基本的 Web 伺服器是透過安裝諸如以下軟體包來實現的: Apache2 或 Nginx然後,您可以使用 `service` 或 `systemctl` 來控制守護進程,這取決於您的 chroot 環境的設定方式。諸如 `service apache2 start` 和 `service apache2 stop` 之類的命令通常可以完成這項工作,無需任何其他複雜操作。
唯一的缺點在於它位於由 Linux Deploy 管理的 chroot 環境中。 服務自動啟動 啟動 chroot 環境時,它的行為並不總是像傳統伺服器那樣。即使你在 rcconf 檔案中啟用了 Apache,或是在正確的運行等級中設定了 Apache,它仍然不會在 chroot 環境啟動時啟動。
Linux Deploy 中的自動啟動腳本
為了解決這種行為,Linux Deploy 提供了以下選項: 屬性中的“自訂腳本”啟用此功能後,您可以將腳本路徑新增至清單中,這些腳本將在每次 Linux 環境啟動時執行。
其思路是將路由加入啟動腳本。 Apache、MySQL、cron 和其他服務 您希望這些功能隨時可用。清單中的每個項目都指向發行版檔案系統中的一個實際腳本,這些腳本將按照所示順序執行。
這樣一來,您就不必完全依賴 rcconf 或 /etc/rc*.d 中的鏈接,因為在 chroot 環境中,這些鏈接可能不會像在傳統機器啟動時那樣生效。透過自訂腳本,您可以確保您的… 網路伺服器自動啟動 Linux Deploy 啟動時,如果您想將手機藏在房子周圍作為始終可用的伺服器,這是必不可少的。
Linux Deploy 和 Android 設置,將您的手機用作伺服器
如果你想讓手機像… 全天候 Linux 伺服器僅僅安裝發行版是不夠的:您還需要調整一些 Linux Deploy 和 Android 參數,以防止系統過於頻繁地進入睡眠狀態,或者在關閉螢幕時 WiFi 斷開連接。
在 Linux Deploy 的常規設定畫面(與發行版屬性分開)中,您可以變更以下內容: 語言、視覺主題 最重要的是螢幕和 Wi-Fi 的運作。預設情況下,應用程式通常會啟用「鎖定螢幕」之類的選項,這樣在 Linux 系統運行時螢幕就會保持常亮。
如果你打算將手機用作持續運行的伺服器,那麼一直保持螢幕開啟並不是一個好主意: 它耗電量大,而且會產生熱。 還會加速面板磨損。明智的做法是取消勾選該選項,讓螢幕自動關閉,然後找到其他方法來防止處理器進入深度睡眠模式。
另一個重要的選項是盒子 “阻止 Wi-Fi” 或者類似的設置,應該保持啟用狀態,這樣安卓系統在螢幕關閉一段時間後就不會斷開無線連線。如果 Wi-Fi 連線中斷,您的伺服器會毫無預警地從網路中消失。
最後,強烈建議激活 Linux 部署“自動啟動”因此,每次重新啟動手機時,應用程式都會自動啟動發行版並執行自訂腳本。這樣,您就無需在每次重新啟動後手動啟動環境了。
即使螢幕關閉,也要保持處理器處於喚醒狀態。
由於 Android 會在螢幕關閉時將處理器置於「睡眠」模式,因此 chroot 環境下 Linux 的效能可能會受到影響。 如果你什麼都不做,速度會慢得令人痛苦。你不想讓螢幕一直亮著,但也不想讓 CPU 完全進入休眠狀態。
典型的解決方案是使用類似這樣的應用程式。 “保持清醒” 即使螢幕關閉,它也能保持處理器運作。一些指南中提到的其中一款是“RedEye Stay Awake”,它有一個免費的廣告支援版本,可以在應用程式運行時阻止 CPU 進入深度睡眠狀態。
將此應用程式(或類似應用程式)與 Linux Deploy 的 WiFi 屏蔽功能結合使用,即可獲得以下效果: 行動裝置反應速度依然很快。 即使螢幕關閉,它也能處理網頁請求或 SSH 連線。如果你想讓手機充當穩定的伺服器,又不想像手電筒一樣一直開著,這可是個關鍵技巧。
行動裝置的建議佈局和桌面
發行版的選擇對…有很大影響 穩定性和資源消耗所討論的工具通常支援 Ubuntu、Debian、Arch、Fedora、Kali、Alpine、Manjaro 及其一些變體。
Ubuntu和Debian 這些是最受歡迎且用戶友好的選擇。它們提供龐大的程式碼庫、海量的教程,並與 Web 伺服器(Apache、Nginx)、資料庫(MariaDB、PostgreSQL)和程式語言(PHP、Python、Node.js 等)完美整合。對於家庭伺服器或測試環境而言,它們綽綽有餘。
卡利Linux 它專注於安全和滲透測試,因此如果您想要一部配備即用型審計工具的“攻破手機”,它非常適合。不過,它確實需要一些經驗和謹慎的管理。
Arch Linux 和 Manjaro 他們的目標用戶是尋求高度可自訂的滾動發布系統和最新軟體包的高級用戶。 Fedora 也屬於現代發行版範疇,儘管它並非總是出現在所有非 root 應用程式中。
對於資源有限的設備, 高山Linux 它是一款超輕量級的替代方案,專為容器和極簡環境而設計。透過合理搭配軟體包,您可以建立一個佔用記憶體極少的高效 Web 伺服器。
關於桌面環境,建議選擇以下選項。 輕量級的桌面環境,例如 LXDE、XFCE、LXQt 或 MATE重量級桌面環境(GNOME、KDE Plasma)往往會消耗過多的記憶體和 CPU,這在行動裝置上非常明顯,如果您透過 VNC 工作,則更是如此。
常見的VNC錯誤及其解決方法
透過 VNC 掛載圖形桌面時,可能會出現以下錯誤: ECONNREFUSED 在 5900 號港口 當嘗試從檢視器連線時,這通常表示 VNC 伺服器未監聽、連接埠不同或會話未正確啟動。
澄清情況的一種方法是先進入 SSH 連接到 Linux 環境(ConnectBot、JuiceSSH) 並手動檢查 VNC 伺服器是否正在運行。有時,只需在會話中啟動 `vncserver` 即可分配顯示器和端口,然後將 VNC 檢視器連接到該特定端口。
問題也可能源自於擁有 在沒有圖形環境的情況下安裝了發行版 或搭配相容性較差的桌面環境。在某些情況下,將舊版的 Debian 或 Ubuntu 與 MATE 等環境混合使用,可能比使用 LXDE 等輕量級桌面環境更容易出現問題,因為 LXDE 在這些類型的配置中往往表現更好。
另一個問題是圖像大小:如果空間不足, IMG 是 Linux 的所在地您將無法安裝其他軟體包或儲存大量資料。如果您想安裝基礎系統以外的其他內容,建議建立大於 2 GB 的鏡像,以便為應用程式和檔案預留空間。
除了網頁伺服器之外:你可以在手機上使用 Linux 做什麼
儘管通常的重點是組裝一個 口袋型網路伺服器在安卓設備上運行Linux系統,可以帶來更多實用和學習的可能性。
你可以舉起一個 檔案伺服器(Samba、NFS) 要在本地網路上共用資料夾,您可以運行獨立的資料庫伺服器,或者如果您的發行版支持,甚至可以使用輕量級容器。所有這些都可以從網路上的其他電腦訪問,就像訪問小型樹莓派一樣。
作為開發環境,擁有它非常方便。 Git、Python、Node.js、編譯器、Vim、Emacs 以及其他直接安裝在行動裝置上的工具,可透過 SSH 從筆記型電腦甚至另一部手機存取。這是一種非常靈活的方式,讓您隨時隨地擁有自己的「工具箱」。
如果你對安全性有興趣,可以關注以下發行版: Kali 或其他專為滲透測試而設計的 Linux 系統 它們允許您在實驗室網路上進行受控測試(始終在法律允許的範圍內)。您的手機將成為一個極為便攜的審計平台。
您也可以將 Linux 環境與 Android 的多媒體功能結合起來,例如使用 Linux 來… 提供網頁內容或API 根據具體情況,Android 裝置可以在本地播放這些視頻,或透過 Chromecast 播放。
簡而言之,借助 Linux Deploy、UserLAnd、Andronix、Termux 等工具以及適當的 Android 系統調整,完全可以將一部普通的智慧型手機變成一台… 功能強大的Linux迷你伺服器非常適合學習、實驗,無需花錢購買專用硬體或處理複雜、侵入性的安裝,即可將自己的實驗室裝進口袋。
