在termux中安装Ubuntu和桌面环境
1.工具准备
需要的工具
需要两个软件,termux 和 termux-x11
termux本质也是一个linux系统,是一个终端模拟系统,可以在类linux环境中运行一些命令
termux-x11 为termux提供可视化,可以让termux运行可视化程序
termux官方Github界面
termux-x11官方Github界面
只要这两个软件就能实现,下载一个符合你设备的版本。
2.Ubuntu安装
在安装好termux和termux-x11之后,打开 termux
2.1允许存储权限
在termux中输入
1 | pkg install termux-am //安卓14需要额外运行这一句,不过不是14多运行这句话也没影响 |
这句话是为了让 termux 可以访问手机系统存储权限,弹出弹窗点同意访问设备存储
2.2换源
国内访问一些网站速度太慢,为了下载一些技术软件国内有一些高校,企业等有镜像源,比如说清华源,阿里源等
在 termux 输入
1 | termux-change-repo |
进入这样的一个界面
如果有外接键盘点回车,没有下面有软键盘,点回车
然后进入下一个界面,有很多源,选择清华源
按 空格 , 星号 定位到清华源上了,然后点 回车
等待换源结束。
2.3安装必要的前置项
在换源成功后,对apt进行更新
1 | apt upgrade |
apt是Ubuntu上安装,更新,管理和删除deb软件包的工具,简单来说就是Ubuntu上软件的管理器
在更新和上传完apt之后,如果我们在换源,会发现在 main repository 下面出现了一个 single repository ,如果我们再进入 main repository ,会发现变成了什么Chinese mainland,Asia 什么的,single repository里面变成了许多,像清华源,阿里源,南京大学源,中科大源什么的
这里实际上就是,如果你选single那个选项,它给你用指定的那个源,换清华源就只用清华的。但是如果换成main repository,它会用属于这个源组里面的最优源,比如说然后换成中国大陆的源,它会自动选择清华的源,或者阿里的源,等等
在apt更新完成后,输入
1 | apt install x11-repo -y |
如果apt出问题,可以用pkg命令, pkg update -y ,然后把上面命令的 apt 换成 pkg
这三个命令是在termux配置termux-x11的环境, pulseaudio 是音频配置
2.4下载Ubuntu
首先需要一个容器来放ubuntu,下载 proot-distro
1 | apt install proot-distro |
下载时间有点长,网上说最好不用校园网,但是1个人测试,校园网在下载这个的时候比流量好用
可以根据自己的情况来选择用哪个
Ubuntu下载完毕之后,输入
1 | proot-distro login ubuntu |
这样就成功进入ubuntu了
3.配置桌面
下面有是在Ubuntu里面进行继续安装,如果你想要有一些中文提示,可以先看下面关于Ubuntu更换中文环境的环节
3.1换源
在 login ubuntu 之后,输入
1 | nano /etc/apt/source.list |
把原本内容给用 # 注释掉,在下面添加
1 | deb https://mirrors.aliyun.com/ubuntu-ports/ noble main restricted universe multiverse |
Ctrl + S 保存, Ctrl + X 退出
3.2安装xfce4
在Ubuntu里面继续输入
1 | apt install -y xfce4 |
这个也需要很长时间,等待出现选择键盘类型,选择中国Chinese,编号应该是20
接着出现keyboard layout,选择汉语拼音字母 Hanyu Pinyin letters,应该是2
等待下载结束
3.3设置中文环境和时区
输入
1 | echo $LANG //检查有没有中文环境,如果没有输入下面的 |
滑到最下面,如果有 zh_CN.UTF-8 UTF-8 把前面的 # 删除,没有则添加
修改完保存 ,输入
1 | local-gen |
生成中文环境,继续输入
1 | nano /etc/locale.conf |
在里面添加
1 | LANG=zh_CN.UTF-8 |
保存退出
继续输入
1 | nano /etc/environment |
在最下面加
1 | LANG="zh_CN.UTF-8" |
保存退出
接下来继续输入
1 | export LANG=zh_CN.UTF-8 |
最后,输入
1 | nano /etc/bash.bashrc |
在后面加入
1 | export LANG=zh_CN.UTF-8 |
保存退出
时区修改就简单的多
1 | ln -sf /usr/share/zoneinfo/Asia/Shanghai/etc/localtime |
可以输入 date 检查一下时间是否正确
3.4启动桌面
在执行这一步之前,来解释一些内容
之前说过termux,也是一个类似的linux,所以即使我们不安装 proot-distro 和 Ubuntu ,在下载好环境的情况下,我们依然可以启动桌面,系统是termux里面改版的linux
同时,如果把ternux-x11的环境加在Ubuntu里面依然可以,但是本来就在一个容器环境里面了,所以选择把桌面内容安在容器外面可以减少资源压力
官方给的手册里面写了,我们只要在proot参数加入 –shared-tmp 就行
所以,首先
如果现在还在Ubuntu的环境里面,需要先退出来,输入
1 | exit |
就能退出
首先打开 termux-x11 在后台放着
在termux终端输入
1 | termux-x11 :0 >/dev/null & |
termux-x11 :0 是在0号口开一个进程,和 termux-x11 进行通讯,下面你输入的口也要对应
“>/dev/null” 是重定向,清空前面的日志,& 是为了能继续输入下面的内容
输入
1 | proot-distro login ubuntu --shared-tmp -- /bin/bash -c 'export GTK_IM_MODULE=fcitx && export QT_IM_MODULE=fcitx && export XMODIFIERS=@im=fcitx && export DISPLAY=:0 && startxfce4' |
– /bin/bash -c: 使用ubuntu环境去执行后续命令,后续命令通过单引号囊括
export GTK_IM_MODULE=fcitx && export QT_IM_MODULE=fcitx && export XMODIFIERS=@im=fcitx 防止出现输入法问题
export DISPLAY=:0 && startxfce4 中 export 就是设置输出口,startxfce4就是启动桌面环境
这样,我们就可以在termux-x11里面看到桌面了
4.其他问题
上面的步骤基本上实现了ubuntu系统启动桌面,但是依然有一些问题
4.1突然闪退
会发现,没用两下,termux-x11 突然黑屏,然后termux出现信号9,回车之后termux就关了,这是因为termux进入后台后,手机为了省电,会限制电池用量,会把程序掐了,只要在设置里面把电池用量改成无限制就行,可能需要打开开发者模式( 不是root,不是root,不是root )
4.2端口问题
如果你退出ubuntu之后,虽然不显示了,但是比如termux-x11 :0,0这个端口还被占用,子进程还在运行,下一次再用termux-x11 :0 >/dev/null,会出错,把这个进程结束一下就行
4.3脚本快速打开
如果每次输入这些内容,实在是太麻烦了,可以通过加入脚本来快速启动
1 | cd $PATH |
cd 到 PATH 里面,在里面写脚本就可以加入路径里面了,可以直接使用
脚本名是tu,可以起其他的,用的时候输入设置的名字就行
在脚本里面写入
1 | kill -9 $(pgrep -f "termux.x11") 2>/dev/null |
保存退出之后,输入
1 | chmod +x tu |
添加权限
之后在终端直接输入tu,就可以进入桌面了
文章参考