什麼是Linux Deploy

2023-03-28 10:00:29

Linux Deploy是一款可以在Android裝置上部署Linux環境的應用,其原理大概是在Android的Linux層跑一個chroot或者proot容器,然後再在容器中執行我們準備好的另外一個Linux系統。

本教學操作環境:linux5.9.8系統、Dell G3電腦。

什麼是Linux Deploy?

Linux Deploy是一款可以在Android裝置上部署Linux環境的應用,其原理大概是在Android的Linux層跑一個chroot或者proot容器,然後再在容器中執行我們準備好的另外一個Linux系統。值得注意的是,這與我們熟知的虛擬機器器技術不同,新的Linux系統將和Android系統平行執行(非專業解釋不要深究)。

Linux Deploy 指南

本檔案排版約定:

介面的文字表示方式:

使用豎屏方式辨認:

軟體主介面 = 剛開啟linuxdeploy顯示的介面
左滑動選單欄 = 左上角的滑動選單
linux設定區 = 右下角的設定(或下載)標誌按鈕內
操作選單 = 主介面右上角的3個點點開
app設定 = 滑動選單裡面的設定
登入後複製

需要環境

  • 擁有root許可權

  • 擁有300MB+的空餘空間

  • 已安裝busybox

安裝linuxdeploy

下載地址:

https://github.com/meefik/linuxdeploy/releases
登入後複製

本教學使用Linux Deploy 2.2.0

初始化執行環境

開啟Linuxdeploy

軟體主介面 -> 左滑選單欄 -> app設定 -> 勾選: 啟用cli -> 點更新環境 -> 授權root -> 等待更新完成

設定linux

軟體主介面 -> linux設定區

引導設定

容器型別

建議使用 chroot

  • proot 目前在linuxdeploy不完備,可能無法在安裝

發行版GNU/linux

選擇你需要的發行

架構

選擇你手機支援的架構

發行版GNU/Linux版本

選擇你需要的發行的版本

源地址

建議使用國內的源地址

安裝型別

映象檔案

將GNU/linux安裝到一個映象檔案(虛擬磁碟)中

如果你將GNU/linux安裝到fat32的sd卡中請使用該選項

安裝路徑為映象檔案的絕對路徑 預設為/sdcard/linux.img

映象大小為映象檔案的大小 預設為自動

如果映象路徑設定在fat32記憶體卡的目錄下映象大小應不大於4096mb (fat32檔案系統檔案大小限制)

檔案系統為映象檔案內要使用的分割區的檔案系統 預設為ext4

目錄

將GNU/linux安裝在一個ext4或f2fs分割區的一個目錄裡

安裝路徑為要安裝到的目錄 預設為linuxdeploy的應用資料目錄(在data分割區)

安裝目錄請勿使用fat32分割區的目錄,以及/sdcard/ 內部共用儲存目錄, 它們不支援linux檔案系統的基本許可權

分割區

格式化一個分割區並將GNU/Linux安裝到裡面

安裝路徑為一個塊裝置分割區檔案的絕對路徑 預設為/dev/block/mmcblkXpY

如果要安裝到記憶體卡的第一個分割區請寫: /dev/block/mmcblk1p1

如果要安裝到otg u盤的第一個分割區請寫: /dev/block/sda1

檔案系統格式化分割區所指定的檔案系統 預設為ext4

RAM

建立一個ramdisk並將linux安裝到裡面

安裝路徑為ramdisk的掛載路徑 預設為/data/local/ram

映象大小為ramdisk的大小

ramdisk會在關機後清除

使用者名稱

要建立的普通賬戶的使用者名稱

使用者密碼

要建立的普通賬戶的密碼

建議別設定過於簡單或簡短的密碼,否則可能設定失敗

特權使用者

預設為root

建議不要修改

DNS

指定GNU/Linux要使用的DNS地址

預設為自動

在地化

設定GNU/Linux要使用的在地化設定(語言設定)

預設為POSIX 標準英語 中文請設定為

zh_CN.UTF-8
登入後複製

初始化

初始化為linuxdeploy啟動linux時自動執行的指令碼設定

初始化系統

run-parts

在啟動linux時執行指定的指令碼

初始化路徑 要執行的指令碼的路徑 初始使用者 要執行指令碼的使用者

sysv

如果你安裝的linux支援並安裝sysv請選擇此選項

初始化級別為init執行型別 預設為3(default)

初始使用者為執行init的使用者 預設為root

掛載

將GNU/linux外部的一個目錄掛載到GNU/linux供linux存取

請勿在掛載點列表填寫塊裝置檔名

SSH

啟用SSH連線方式

埠ssh服務啟動的埠 預設22

PulseAudio

啟用PulseAudio服務並轉發linux內的音訊輸出到目標pulseaudio伺服器

安卓可使用Pulsedroid作為輸出伺服器

也可以轉發到其他擁有pulseaudio的裝置上

host 目標主機ip

port 目標主機執行pulseaudio服務的埠

圖形介面

圖形子系統

桌面環境為要使用啟動的桌面啟動環境

使用安裝的Linux裡面的使用者Home目錄下的檔案控制

x11: ~/.xinitrc
vnc: ~/.vnc/xstartup
framebuffer: ~/.xinitrc
登入後複製

如果圖形連線不顯示或者啟動錯誤請修改x服務啟動控制檔案

vnc

啟用vnc作為圖形連線方式

vnc設定:

顯示為要使用的顯示DISPLAY變數 影響埠 預設為0

建議不要修改

與vnc監聽埠的關係:

顯示 0 埠 5900
顯示 1 埠 5901
登入後複製

顏色深度為顯示的顏色深度 預設為16bit 影響vnc畫質

8bit 低畫質 低網路佔用

dpi為顯示密度 預設為 75 dpi越高顯示密度更大

建議保持預設不要修改

寬 高 為vnc的顯示解析度 預設為手機橫屏取值

vnc選項 為vnc擴充套件選項預設空

x11

啟用x11服務來存取圖形

Linuxdeploy並不提供x11的伺服器

x11服務的連線方式為:

x11使用者端 (linuxdeploy裡面的linux)          |^          ||
          v|
      x11伺服器
登入後複製

如果要在安卓自身使用x11服務請安裝安卓的XsdlServer app

並按照xsdlserver顯示的設定x11服務

framebuffer

停止/暫停/凍結 安卓介面並讓linux使用fb裝置顯示圖形

在大多數裝置上需要設定停止安卓介面來顯示linux圖形介面

在許多裝置上無法此顯示方式工作

顯示為要使用的DISPLAY變數 預設為0 建議不要修改

視訊裝置為要使用的fb裝置檔案 建議不要修改

輸入裝置為觸控式螢幕裝置event裝置檔案 用於啟用圖形觸控式螢幕支援 建議不要修改

x引數為x指定附加引數 建議不要修改

強制重新整理快取區 建議勾選

凍結安卓介面 建議選擇停止

開始安裝

主介面 -> 操作選單 -> 安裝

開始安裝並等待安裝

安裝結束後會在最後幾行輸出

<<<deploy
登入後複製

驗證安裝

主介面 -> 啟動

開啟手機上的終端軟體

執行:

android $ su
root # linuxdeploy shell -u root
登入後複製

如果順利進入linux的shell說明安裝成功

如果無法順利進入請停止並檢查安裝,或者停止重新安裝

連線ssh服務

如果手機自身連線請下載安卓ssh使用者端:

  • connectbot
  • juicessh

並連線localhost和你設定的ssh埠 (埠預設為22) 使用你設定的使用者名稱密碼登入

可選操作:

登入後請更改預設密碼為強密碼

如果外部連線本linux請輸入手機的區域網ip地址並連線指定ssh埠

連線vnc服務

手機自身連線

下載安卓vnc使用者端:

  • vncviewer

連線localhost並輸入密碼為使用者設定密碼(使用者名稱下面的那個)

vnc密碼和賬戶密碼沒有關聯,只是linuxdeploy設定的密碼在安裝時候會共用

連線x11

手機自身連線

下載xsdlserver並啟動

啟動xsdlserver後啟動linuxdeploy裡面的linux

使用framebuffer

啟動linux的同時手機會黑畫面

如果framebuffer啟動成功則顯示linux的圖形介面

如果失敗則黑畫面 請手動重新啟動

在linuxframebuffer啟動的時候可以使用外部ssh到手機來操作

FAQ

問: linuxdeploy安裝的linux可以執行什麼? 答: linuxdeploy安裝的linux是一個完備的linux系統,你可以使用包管理器或者編譯方式擴充套件它的功能. 唯一限制為使用安卓的核心執行(你可能無法使用一些只提供安卓介面的硬體)

問: linuxdeploy安裝的linux裡面安裝了xrdp,但為什麼不能執行? 答: 安卓擁有一套特別的許可權管理方式 ,由於xrdp在單獨一個叫xrdp的賬戶執行守護行程, 所以需要把xrdp使用者加入aid_inet使用者組 :

root@linux # usermod -aG aid_inet xrdp  # 將xrdp加入通訊端許可權組 ,其他需要通訊端許可權的應用也可以這樣設定
登入後複製

推薦學習:《》

以上就是什麼是Linux Deploy的詳細內容,更多請關注TW511.COM其它相關文章!