首页 | Blogs | 项目合集 | Bilibili↗
←返回 |
创建:2025-03-08 | 最后更新:2025-03-08
前言
由于之前Blog #36里面搞了个VSCode CLI实在是太太太难用了,所以想着搞个Linux容器跑VSCode For Linux Arm64玩一下。
前置
你将需要:
- Termux
- Termux:API
- Termux:X11
- 一台性能比较好的安卓设备(建议平板,本人选择Mi Pad 7)
安装Debian
首先安装Debian教程网上一大堆,这里简单列出来一下:
初始化容器
## Termux中运行
# 更新软件包
apt update && apt upgrade
# 安装前置,记得换源(main和x11两个源)
apt install proot proot-distro termux-api termux-x11 viglrenderer-android pulseaudio termux-x11-nightly
# 申请存储权限
termux-setup-storage
# 安装容器
# 如果比较慢自行搜索proot换源
proot-distro install debian
# 登录debian
proot-distro login debian --user root
初始化Debian
## Debian中运行
# 自行换源
apt update && apt upgrade
# 安装常用库和Firefox ESR(因为Chormium系浏览器在这个容器里不是很好用)
apt install wget curl git ssh xfce4 xfce4-goodies xfce4-terminal gnome-keyring firefox-esr locales sudo vim fcitx5 fcitx5-pinyin fonts-noto-cjk-extra fonts-noto-cjk
# 以下命令不要直接运行,下面这个exit命令防止你手快,也不用运行
exit 1
# 开始配置中文(执行后按End键找到zh_CN.UTF-8 UTF-8,空格键选中再回车,选择zh_CN.UTF-8回车)
dpkg-reconfigure locales
# 配置时区(默认UTC+0,执行后依次键入4 10 1 1切换到北京时间UTC+8)
tzselect
# 修改root账户密码
passwd
# 添加用户
adduser <用户名>
# 允许sudo
echo "<用户名> ALL=(ALL:ALL) ALL">>/etc/sudoers
# 设置字体共享,目标字体目录为安卓存储根目录下的Fonts文件夹里面
ln -sn /storage/self/primary/Fonts/ /usr/share/fonts/android-fonts
cd /usr/share/fonts/android-fonts
mkfontscale
mkfontdir
# 刷新字体缓存(即安装字体)
fc-cache -fv
# 切换用户
su <用户名>
# 设置文件夹共享
cd ~
rm -rf ./下载/
ln -sn /data/data/com.termux/files/home/storage/downloads/ ./下载/
ln -sn /data/data/com.termux/files/home/storage/ ./sdcard/
ln -sn /data/data/com.termux/files/home/ ./termux-home/
# 设置Termux Home共享(ssh/git/vim/
ln -sn /data/data/com.termux/files/home/.ssh/ ./.ssh/
ln -sn /data/data/com.termux/files/home/.gitconfig
ln -sn /data/data/com.termux/files/home/.viminfo
执行以后debian就安装完毕了
便于下次访问
关掉Termux,重新启动后写个脚本:
#!/data/data/com.termux/files/usr/bin/bash
# 启动唤醒锁防止被杀
termux-wake-lock
# 终止正在运行的 X11 进程
kill -9 $(pgrep -f "termux.x11") 2>/dev/null
# 启动 PulseAudio 并配置网络音频支持
pulseaudio --start --load="module-native-protocol-tcp auth-ip-acl=127.0.0.1 auth-anonymous=1" --exit-idle-time=-1
# 启动 virgl_test_server_android 服务
virgl_test_server_android >/dev/null &
# 准备 termux-x11 会话,显示器设为:1,因为我自己不知道为啥:0报错
export XDG_RUNTIME_DIR=${TMPDIR}
termux-x11 :1 >/dev/null &
sleep 3
# 启动 Termux:X11
am start --user 0 -n com.termux.x11/com.termux.x11.MainActivity > /dev/null 2>&1
sleep 1
proot-distro login debian --shared-tmp -- /bin/bash -c 'export PULSE_SERVER=127.0.0.1 && export XDG_RUNTIME_DIR=${TMPDIR} && su - <用户名> -c "env DISPLAY=:1 LANG=zh_CN.UTF-8 GTK_IM_MODULE=fcitx QT_IM_MODULE=fcitx XMODIFIERS=@im=fcitx startxfce4"'
# 启动完毕
exit 0
把倒数第三行的<用户名>
改成自己刚才新建的用户,之后运行这个脚本就可以打开Debian图形化桌面了。
如果安卓11以上需要关闭子进程限制,详情自行搜索或者安装VMOS助手฿。
优化Debian和常见问题解决
[i] 作者撰写此文时他的Debian桌面已经配置好了,所以界面不一样很正常。
启动一会就崩溃了或者Not Connect
你没有关掉子进程限制,详情自行搜索或者安装VMOS助手฿。
桌面好小
桌面右键打开外观。
把窗口缩放改成2x即可
输入法?
输入法服务已安装但是没有启动。
在设置里面的会话与启动里面的应用程序自启动
添加一个启动项,命令行填/usr/bin/fcitx5
,其余默认并保存
重启容器即可。
词库
由于Fcitx 5不是那种商业输入法,词库很贫穷,需要自己加一点开源词库。
我这里推荐zhwiki dict,下载下来后把dict
文件移动到/usr/share/fcitx5/pinyin/
目录里面就行
界面大小
托盘里面右键打开Fcitx 5配置,附加组件里面经典用户界面把三个字体大小都拉高。
安装VSCode
去官网下载Linux .deb ARM64安装包฿,安装即可。
如果启动右下角有一个叉叉试试命令:
sudo apt install gnome-keyring
启用全局加速
虽然有着virglRenderer的支持,感觉GPU转译效率还是很低……在试图解决Steam无法启动时偶然看到这篇文章,于是来试试。
原博主使用Mi Pad 6 Pro还能玩Java版MC,我相信这个Pad 7也差不了多少……
## Termux内运行
apt install tur-repo
apt install mesa-zink vulkan-loader-android
## 容器内运行
sudo apt install mesa-utils vulkan-tools
再去sabamdarif/termux-desktop฿安装mesa-vulkan-kgsl软件包
理论上再把Termux一键启动脚本改成
#!/data/data/com.termux/files/usr/bin/bash
# 启动唤醒锁防止被杀
termux-wake-lock
# 终止正在运行的 X11 进程
kill -9 $(pgrep -f "termux.x11") 2>/dev/null
# 启动 PulseAudio 并配置网络音频支持
pulseaudio --start --load="module-native-protocol-tcp auth-ip-acl=127.0.0.1 auth-anonymous=1" --exit-idle-time=-1
# 启动 virgl_test_server_android 服务
virgl_test_server_android >/dev/null &
# 准备 termux-x11 会话,显示器设为:1,因为我自己不知道为啥:0报错
export XDG_RUNTIME_DIR=${TMPDIR}
termux-x11 :1 >/dev/null &
sleep 3
# 启动 Termux:X11
am start --user 0 -n com.termux.x11/com.termux.x11.MainActivity > /dev/null 2>&1
sleep 1
proot-distro login debian --shared-tmp -- /bin/bash -c 'export PULSE_SERVER=127.0.0.1 && export XDG_RUNTIME_DIR=${TMPDIR} && export MESA_LOADER_DRIVER_OVERRIDE=zink && export TU_DEBUG=noconform && su - <用户名> -c "env DISPLAY=:1 LANG=zh_CN.UTF-8 GTK_IM_MODULE=fcitx QT_IM_MODULE=fcitx XMODIFIERS=@im=fcitx XDG_RUNTIME_DIR=${TMPDIR} MESA_LOADER_DRIVER_OVERRIDE=zink TU_DEBUG=noconform startxfce4"'
# 启动完毕
exit 0
安装thefuck终端纠错
sudo apt install thefuck
eval $(thefuck --alias)
安装之后输入fuck
对上次命令进行纠错