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
##在啟動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视频教程》