当前位置: 首页 > article >正文

【高级终端Termux】在安卓手机/平板上使用Termux 搭建 Debian 环境并运行 PC 级 Linux 应用教程(含安装WPS,VS Code)

Termux 搭建 Debian 环境并运行 PC 级 Linux 应用教程


一、前言

1. 背景

众所周知,最新搭载澎湃OS和鸿蒙OS的平板都内置了PC级WPS,办公效率直接拉满(板子终于从“泡面盖”升级为“生产力”了)。但问题来了:如果不是这两个系统,难道我们只能继续用平板盖泡面吗?当然不是!折腾了很长时间后,总算找到了一个好玩的东西:高级终端Termux 。现在,不仅能随时随地用WPS改文档,还能VSCode优雅地敲代码,再也不用背着电脑乱跑了。

由于每次搭建环境时都要去不同的平台找不同功能,有时还找不到,所以我决定自己写一篇博客,方便自己以后再搭建时直接“Ctrl C + Ctrl V”,顺便分享给有同样需求的小伙伴们。话不多说,直接开整!

2. 准备工作
  • 一部安卓手机:性能越好,折腾起来越顺畅。
  • Termux 应用: 不想去F-droid下载的看过来
    下载链接:点击这里 访问密码:Kw3z
  • 脑子和耐心

以下是所有所需软件:
请添加图片描述

一切就绪,开始动手动脑!

二、Termux 基础设置

1. 安装 Termux
  • 从 F-Droid 安装 Termux
    • Google Play 版本的 Termux 已停止更新,建议从 F-Droid 下载最新版本。
  • 初始化环境
    • 安装完成后,打开 Termux,等待环境初始化完成。

2. 设置权限

为了确保 Termux 能够正常运行,需要设置一些权限。

2.1 允许自启动
  1. 长按 Termux 图标,选择“应用信息”。
    在这里插入图片描述
    请添加图片描述

  2. 找到“自启动”选项,设置为“允许”。

    请添加图片描述
    请添加图片描述

2.2 设置省电策略
  1. 在“应用信息”中,找到“省电策略”。
  2. 将省电策略改为“无限制”。
    请添加图片描述
    请添加图片描述
2.3 其他设置

根据个人需求,可以设置其他权限(如通知、后台运行等)。
在这里插入图片描述

请添加图片描述

2.4 设置存储权限
  1. 打开 Termux,输入以下命令:
    termux-setup-storage
    
  2. 在弹出的权限请求中,选择“始终允许”。
    请添加图片描述

3. 包管理工具介绍

Termux 默认使用 aptpkg 进行包管理,这类似于我们使用手机的应用商店来查看、安装、更新和卸载应用。

  • apt:Debian 及其衍生发行版的包管理工具,因此 Termux 和我们后面安装的 Debian 刚好一样,所以我更倾向于 apt
  • pkgpkgapt 的封装,使用方法和 apt 完全一致,但每次使用 pkg 时会自动更新软件包列表(个人感觉有点麻烦,所以下面使用的是 apt)。
APT 常用命令
apt update 		# 更新软件包列表(从软件源获取最新的包信息)
apt upgrade		# 升级所有已安装的软件包到最新版本
apt search <关键词>	# 搜索软件包(根据关键词查找可用的包)
apt show <包名>		# 查看某个软件包的详细信息(如版本、依赖关系等)
apt install <包名>	# 安装软件包(自动解决依赖关系)
apt remove <包名>	# 卸载软件包(保留配置文件)
apt purge <包名>	# 彻底卸载软件包(同时删除配置文件)
apt clean 		# 清理缓存(删除下载的软件包缓存以释放空间)
apt autoremove 		# 自动移除不再需要的依赖包
apt --fix-broken install # 修复损坏的依赖关系
PKG 常用命令
pkg update 		# 更新软件包列表(相当于 apt update)
pkg upgrade		# 升级所有已安装的软件包(相当于 apt upgrade)
pkg search <关键词>	# 搜索软件包(相当于 apt search)
pkg show <包名>		# 查看某个软件包的详细信息(相当于 apt show)
pkg install <包名>	# 安装软件包(相当于 apt install)
pkg remove <包名>	# 卸载软件包(相当于 apt remove)
pkg uninstall <包名>	# 卸载软件包(相当于 apt remove)
pkg clean 		# 清理缓存(相当于 apt clean)
pkg autoremove 		# 自动移除不再需要的依赖包(相当于 apt autoremove)

4. 换源

在使用 aptpkg 安装软件包时,Termux 会通过特定的链接(即“源”)连接到服务器来查找和下载所需的软件包。默认情况下,Termux 的软件源位于国外,这可能导致下载速度较慢甚至失败。除非你有拥有来自霍格沃兹的力量(bushi)

为了解决这个问题,国内的一些公司和高校提供了镜像服务,将国外的软件包同步到国内服务器。通过更换为国内镜像源,我们可以显著提高下载速度。

4.1 使用 termux-change-repo 换源
  1. 输入以下命令:

    termux-change-repo
    

在这里插入图片描述

  1. 使用上下键移动,按空格键选择“Single mirror”,然后回车。
    在这里插入图片描述

  2. 找到“清华源”,按空格键选择,然后回车。
    在这里插入图片描述

  3. 出现以下界面表示换源成功。
    在这里插入图片描述


5. 更新软件包

换源完成后,需要更新软件包列表并升级已安装的软件包。

  1. 输入以下命令:
    apt update && apt upgrade
    
  2. 如果出现选择提示,一律输入 Y。如果速度比较快,也说明换源是成功了的。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述


至此 Termux 基本设置完成,开始系统搭建!

三、安装 Debian 环境

在 Termux 中,x11-repo 提供了 proot(一种容器技术,可以创建一个独立的运行环境,但不是虚拟机)。我们可以使用 proot 来安装 Linux 发行版。


1. 安装 x11-repo

x11-repo 是 Termux 的一个扩展仓库,提供了图形界面相关的软件包。安装它以便后续使用桌面环境。

运行以下命令安装 x11-repo

apt install x11-repo

如果提示找不到包,可以先更新软件包列表,更新完以后再执行上面的安装命令:

apt update

安装完成后,再次更新软件包列表:

apt update

如果碰到选择一律“Y”

安装完以后,我们就可以安装proot了。


2. 安装 proot-distro

proot-distro 是一个基于 proot 的工具,用于在 Termux 中安装和管理 Linux 发行版。

运行以下命令安装 proot-distro

apt install proot-distro

在安装过程中,如果出现选择提示,一律输入 Y
在这里插入图片描述


3. 查看可安装的 Linux 发行版

安装完成后,可以查看支持的 Linux 发行版列表:

proot-distro list

在这里插入图片描述


4. 为什么选择 Debian 系统

我们选择安装 Debian 系统,而不是 Ubuntu。原因是 Ubuntu 的 snap 商店在 proot 中无法使用,而一些应用会强制要求使用 snap,与其折腾卸载 snap,不如直接使用 Debian。此外,Debian 的 .deb 软件包资源丰富,安装和配置更加方便。


5. 修改 Debian 安装脚本

默认情况下,proot-distro 会从 GitHub 下载 Debian 的根文件系统(rootfs),但由于网络原因,下载速度可能非常慢。我们可以通过修改安装脚本来加速下载。(从沃格霍兹学成归来的可以跳过)

5.1 打开 Debian 安装脚本

运行以下命令编辑 Debian 安装脚本:

nano /data/data/com.termux/files/usr/etc/proot-distro/debian.sh

nano 是一个简单的命令行文本编辑器,类似于 Windows 的记事本。
在这里插入图片描述

在输入命令并按下回车键后,将看到如下界面。当前大多数移动设备均采用ARM架构处理器,所以只需关注输出中的“AArch64”和“ARM”两行。在这里,“ARM”指的是32位的ARM架构。然而,由于现代智能手机和平板电脑普遍使用64位处理器,32位的ARM架构在这些设备上已较少见,所以可以忽略。

在这里插入图片描述

5.2 修改下载链接

在编辑器中,找到以下内容:

TARBALL_URL['aarch64']="https://github.com/termux/proot-distro/releases/download/v4.17.3/debian-bookworm-aarch64-pd-v4.17.3.tar.xz"

github.com 替换为 GitHub 的镜像站(镜像站可以自行百度看是否失效,这里我使用 https://bgithub.xyz):
今天发现镜像站也抽风,时灵时不灵的,于是将debian的包放在gitee上了,直接把上面那行替换掉:

TARBALL_URL['aarch64']="https://gitee.com/name134/proot-distro/releases/download/4.47.3/debian-bookworm-aarch64-pd-v4.17.3.tar.xz"

替换后长这样:
请添加图片描述

5.3 保存并退出

然后点击一下小键盘上的CTRL(它会变颜色),再输入X(一定要是英文),然后输入Y,回车,就可以保存我们的更改

这里要注意,使用外接键盘的朋友键盘上的CTRL是不管用的,仍需要点击屏幕上的CTRL然后再输键盘上的”x“

在这里插入图片描述

接下来到下一步就可以快速安装了


6. 安装 Debian

修改脚本后,运行以下命令安装 Debian:

proot-distro install debian

在这里插入图片描述

出现上面的页面表面我们已经成功安装了Debian操作系统.


7. 安装音频服务

要想在 Debian 系统内听到声音,我们需要在 Termux 中安装音频服务。Termux 使用 PulseAudio 来管理音频,因此需要安装并配置 PulseAudio。

7.1 安装 PulseAudio

运行以下命令安装 PulseAudio:(安装完成后无需进行7.2和7.3的配置,这里仅为配置演示)

apt install pulseaudio

在这里插入图片描述

7.2 配置 PulseAudio

安装完成后,需要配置 PulseAudio 以支持网络音频传输。运行以下命令启动 PulseAudio:

pulseaudio --start --load="module-native-protocol-tcp auth-ip-acl=127.0.0.1 auth-anonymous=1" --exit-idle-time=-1
7.3 设置环境变量

在 Debian 环境中,需要设置 PULSE_SERVER 环境变量,以便连接到 Termux 的 PulseAudio 服务。可以在启动 Debian 时添加以下命令:

export PULSE_SERVER=127.0.0.1

四、Debian配置

1.成功安装debia后,输入下面命令登录Debian
proot-distro login debian

前面变成root@localhost表示已成功登录debian系统:

在这里插入图片描述

2.更新软件源(Debian的命令和termux一样,极大减少了学习成本)
apt update
3.换源

当我们想直接使用apt update更新软件源时,会发现速度慢的要死,没错,又到了更换到国内源的时候

debian的apt源的位置在/etc/apt/sources.list

nano /etc/apt/sources.list

输入命令后回车看到这些:在这里插入图片描述

全部删掉,粘贴下面内容:(这里使用阿里源)

deb https://mirrors.aliyun.com/debian/ bookworm main non-free non-free-firmware contrib
deb-src https://mirrors.aliyun.com/debian/ bookworm main non-free non-free-firmware contrib
deb https://mirrors.aliyun.com/debian-security/ bookworm-security main
deb-src https://mirrors.aliyun.com/debian-security/ bookworm-security main
deb https://mirrors.aliyun.com/debian/ bookworm-updates main non-free non-free-firmware contrib
deb-src https://mirrors.aliyun.com/debian/ bookworm-updates main non-free non-free-firmware contrib
deb https://mirrors.aliyun.com/debian/ bookworm-backports main non-free non-free-firmware contrib
deb-src https://mirrors.aliyun.com/debian/ bookworm-backports main non-free non-free-firmware contrib

在这里插入图片描述

CTRL+x后输入y,回车保存退出。

然后再次apt update && apt upgrade,速度直接起飞!

4. 设置中文环境(可选)
4.1安装语言包:

首先,安装 locales 包,它是管理系统语言环境的工具:

apt install locales

然后安装中文的语言包:

apt install fonts-wqy-zenhei fonts-wqy-microhei fonts-arphic-ukai fonts-arphic-uming

fonts-wqy-zenhei fonts-wqy-microhei fonts-arphic-ukai fonts-arphic-uming这四个均为中文语言包。

4.2 生成中文语言环境

安装完成后,需要生成中文语言环境。

运行以下命令配置语言环境:

dpkg-reconfigure locales

输完后会见到这个界面:
在这里插入图片描述

一直往下翻,找到zh_CN.UTF-8 UTF-8,这个就是简体中文选项,按空格键进行选择,选完回车

在这里插入图片描述

选择zh_CN.UTF-8,然后回车

在这里插入图片描述

至此中文环境设置成功。


5. 安装图形化界面

在 Debian 环境中,我们可以安装 Xfce 桌面环境,它是一个轻量级且功能强大的桌面环境,适合在资源有限的设备上运行。我试过KDE和GNOME,只能降低分辨率能勉强来运行,不但很卡而且特效全都无法使用,只好乖乖回Xfce了(也不是不能美化)。我看b站上有大佬使用图形加速的来跑kde非常流畅,不过我们只想搭建一个生产力,能跑就行,还要什么自行车(手动滑稽)

5.1 安装 Xfce 桌面环境

运行以下命令安装 Xfce 及其相关组件:

apt install xfce4 xfce4-goodies xfce4-terminal
  • xfce4 :Xfce 桌面环境的核心组件。
  • xfce4-goodies :Xfce 的附加工具和插件(如截图工具、任务管理器等)。
  • xfce4-terminal :Xfce 的轻量级终端模拟器。

安装过程中会选择键盘布局,选1即可。
在这里插入图片描述


6.切换普通用户

到目前为止,为了方便,我们一直都在以 root 用户 运行。Linux下的root 用户就像 Windows 下的管理员,但它比管理员更“霸道”——它拥有至高无上的权利,可以轻松删库跑路(删库一时爽,跑路火葬场)。因此root用户十分危险。

此外,我还发现有些应用在 root 用户下,死活不肯正常运行。所以我们最好切换到 普通用户

(PS:由于我们使用的是 proot ,这里的 root 其实是一个“假 root”。Termux 本身并没有真正的 root 权限,所以即使你在 proot 中删库跑路,也不会对手机系统造成实际危害。换句话说,你只是在“沙盒”里折腾,再怎么删也只是删了自己的“玩具”,手机系统平安无事。)

不过,即使是这样,切换到普通用户仍然是个好习惯。毕竟,养成良好的操作习惯,才能在真正的 Linux 系统中游刃有余(而不是一上来就删库跑路)。

6.1添加新用户
adduser <用户名>

这里添加我的用户名为qmtt,用户名自己取

在这里插入图片描述

这里会让输入密码,输入自己想要设置的密码(我设置的123456,不然老是忘,毕竟是自己玩,不用那么高的安全级别),在Linux中输入密码终端是不会显示的,直接输入后回车即可:

在这里插入图片描述

重新确认密码,把刚才的密码再输入一遍:
在这里插入图片描述

输完密码后会问这些名字电话什么的直接回车跳过即可,到询问时直接Y确认。

在这里插入图片描述

这里我们就成功添加了一个普通用户。

下面有两种切换用户的命令:

1.从当前用户直接切换:

su <用户名>       #比如我是 su qmtt

在这里插入图片描述

切换后我们会发现当前的路径是在 /root下,说明我们从root用户直接变为了普通用户而工作目录没有切换。

输入可以 exitCtrl+D(但是termux中快捷键不生效,只能点屏幕下方的工具栏上的Ctrl)可以退回上一个用户
在这里插入图片描述

2.切换用户并更换工作目录:

su - qmtt

在这里插入图片描述

这里工作目录变成了qmtt自己的家目录。

6.2将普通用户至添加sudo用户组

在普通用户下,系统虽然是安全了,但是当我们想要安装、卸载应用或执行其他需要管理员权限的操作时,这会涉及到修改系统的文件或配置。为了避免频繁切换到 root用户,我们可以使用一个非常强大的工具sudo,我们可以将普通用户添加到 sudo用户组,从而允许该用户通过 sudo命令临时获取 root权限。

首先,我们需要以 root用户身份执行以下操作。如果当前是普通用户,可以通过以下命令切换到 root用户:

su -

然后安装 sudo

apt install sudo

安装完成后输入:

nano /etc/sudoers

看到如下界面:

在这里插入图片描述

一直往下翻,翻到底部,找到图示位置:

在这里插入图片描述

在root的下一行添加:

<用户名>   ALL=(ALL:ALL) ALL

在这里插入图片描述

Ctrl + X后输入Y,回车保存退出。

这样我们就成功添加了普通用户,以后我们在普通用户下想要以root身份执行命令时只需在上面所有使用过的命令前面加上 sudo即可。


五、启动桌面

准备了这么久,总算是到了桌面的启动环节了。直接划掉后台重新启动termux。

1.安装x11服务

帮助我们在Termux:x11中连接桌面

apt install termux-x11-nightly
2.安装图形加速工具

termux默认是无法调用GPU的,只能靠CPU来硬算,因此需要安装图形加速的插件(但是我感觉Virgl的效果甚微…),别的加速方法可以自行搜索。

apt install virglrenderer-android
3.写启动脚本

由于启动时要配置的东西比较多,所以直接写在一个启动脚本里(脚本来自B站UP主 qwe5283).

nano start.sh

将下面的命令粘贴进去,注意!!!将倒数第四行的内的 <用户名>命令换成你的用户名!!!保证粘贴完颜色和我的图片里一样

#!/data/data/com.termux/files/usr/bin/bash# 终止正在运行的 X11 进程
# 使用 pgrep 查找与 "termux.x11" 相关的进程,并使用 kill -9 强制终止
kill -9 $(pgrep -f "termux.x11") 2>/dev/null# 启动 PulseAudio 并配置网络音频支持
# --load 参数加载 TCP 模块,允许本地回环地址(127.0.0.1)匿名访问
# --exit-idle-time=-1 防止 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 是用于支持 3D 加速的服务
# 将其输出重定向到 /dev/null(丢弃输出),并在后台运行
virgl_test_server_android >/dev/null &# 准备 termux-x11 会话
# 设置 XDG_RUNTIME_DIR 环境变量为 Termux 的临时目录
export XDG_RUNTIME_DIR=${TMPDIR}
# 启动 termux-x11 服务,并将其输出重定向到 /dev/null(不显示)
termux-x11 :0 >/dev/null &# 等待 3 秒,确保 termux-x11 服务启动完成
sleep 3# 启动 Termux X11 主活动
# 使用 am start 命令启动 com.termux.x11 应用的 MainActivity
# --user 0 表示以主用户身份运行
# 输出重定向到 /dev/null,避免显示在终端
am start --user 0 -n com.termux.x11/com.termux.x11.MainActivity > /dev/null 2>&1
# 等待 1 秒,确保活动启动完成
sleep 1# 登录到 PRoot 环境
# 使用 proot-distro 登录到 Debian 系统,并共享临时目录(--shared-tmp)
# -- 后面的内容不会被解析为 proot-distro 的选项
# 在 PRoot 环境中执行以下命令:
# 1. 设置 PulseAudio 服务器地址为 127.0.0.1
# 2. 设置 XDG_RUNTIME_DIR 环境变量
# 3. 使用 su - <用户名> 切换到指定用户,并启动 XFCE4 桌面环境
#    同时设置语言环境(LANG=zh_CN.UTF-8)和输入法模块(fcitx)
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=:0 LANG=zh_CN.UTF-8 GTK_IM_MODULE=fcitx QT_IM_MODULE=fcitx XMODIFIERS=@im=fcitx startxfce4"'# 脚本执行完成,退出状态码为 0(表示成功)
exit 0

在这里插入图片描述

Ctrl+x后Y然后回车保存退出。

4.给脚本添加可执行权限
chmod +x start.sh

在这里插入图片描述

5.原神!(bushi),启动!

以后我们启动桌面环境直接在termux终端中输入 ./stsrt.sh即可

./start.sh

在这里插入图片描述

等待几秒后,就会自动跳转到Termux:x11

如果看到下面的界面,恭喜你成功一半了!

在这里插入图片描述

一饱眼福之后,我们可以先划掉Termux和Termux:x11后台,因为我们有更重要的事情要做!

六、解决影子杀手问题

在安卓12及以上版本中,使用Termux时可能会遇到图像自动断开的问题,Termux中会报出 signal 9 错误。虽然很多教程提到这是一个“可能”出现的情况,但实际上,这几乎是一个必然会出现的问题(emmmmm…该踩的坑一个都没少)。这里提供一个简单的解决办法。

1.常见解决方案的问题
  1. 使用电脑ADB调试
    (网上直接搜 解决termux中signal9问题 就能找到,这里就不详细写了)
    • 网上大多数教程推荐使用电脑通过ADB调试来解决。
    • 但如果你有电脑,可能就不会在手机上折腾Termux了(bushi)。
  2. Termux本地调试
    • 也有通过Termux本地调试的方案,但操作复杂,容易出错,工作量巨大。
2.更简单的解决方案

经过一番摸索,我在B站找到了一个更简单的方法:使用VMOS提供的一款调试工具来解决。

3.工具链接

工具下载链接如下,里面有详细的视频演示:
VMOS调试工具下载

4.备用方法

可以在手机的 开发者选项 中找到 停止限制子进程 的设置选项,将其打开。
注意停止限制子进程这个选项在一些手机上是没有的,比如我的手机和平板都没有这个选项,因此无法提供演示。


七、配置Termux:X11

重新打开Termux,输入 ./start.sh 启动桌面,跳转到Ternux:x11后,你会再次看到熟悉的界面:

在这里插入图片描述

不过,上方的通知栏和下方的工具栏会影响观感,并且使用体验较差。因此,我们需要进行一些简单的设置。

打开设置的两种方法
  1. 通过界面右上角的菜单按钮打开设置:
    在这里插入图片描述

  2. 桌面长按图标打开设置:
    在这里插入图片描述

打开设置后,你会看到以下界面。可以自行翻译,建议按照我的设置进行调整:

在这里插入图片描述

1. 显示设置 (Output)
  • 调整显示分辨率、屏幕方向等选项:
    在这里插入图片描述
2. 指针设置 (Pointer)
  • 这里不需要修改,保持默认即可。
3. 键盘设置 (Keyboard)
  • 配置键盘布局和快捷键:

在这里插入图片描述

4. 其他设置 (Other)
  • 无需修改,保持默认即可。

完成设置后,返回主界面,就可以愉快地使用了!

在这里插入图片描述


八、美化和配置Xfce桌面(可选)

1. 缩放设置

刚进入桌面,我们会发现字体非常小(快给我眼瞪瞎了),所以先设置一下缩放。

  1. 点击左上角的 显示所有应用 -> 设置 -> 外观
    在这里插入图片描述

  2. 点击 设置在这里插入图片描述

  3. 窗口缩放 调到 2x,瞬间世界清晰了:
    在这里插入图片描述

2. 主题设置

还是在外观里,默认的主题和图标少得可怜,我们可以去 Eyecandy for your XFCE-Desktop - xfce-look.org 里下载喜欢的主题或图标。(后面会安装浏览器)

  1. 下载你喜欢的主题或图标包
  2. 下载完后,点击左下角的 添加,选择你下载的压缩包,就可以用你下载的主题或图标。
    在这里插入图片描述
    在这里插入图片描述
3. 面板位置调整

Xfce默认把面板放在屏幕顶部,不符合以前的使用习惯(我感觉还挺好看的)。如果你更喜欢Windows的风格,我们可以把它搬到下面。

  1. 把鼠标移到面板上,双指点击(右键):在这里插入图片描述

  2. 选择 面板 -> 面板首选项在这里插入图片描述

  3. 我们看到 面板1(顶栏)和 面板2(底部应用栏)。先对 面板2 下手,取消 锁定面板,然后把它拖到屏幕右侧:
    (两侧出现的那些可以动)在这里插入图片描述

在这里插入图片描述

  1. 别忘了重新 锁定面板
    在这里插入图片描述

  2. 最后,把 面板1 拖到屏幕底部:
    在这里插入图片描述

4. 壁纸设置

这个就自己找吧,挺简单的(滑稽)


九、安装和运行 PC 级 Linux 应用

经过一番折腾,一个能正常使用的操作系统终于搭建完成了!接下来,我们将介绍如何在系统中安装和运行 PC 级 Linux 应用。


1. 应用安装方法概述

在 Linux 中,安装应用主要有以下几种方式:

  • 通过 apt 安装:类似于手机上的应用商店,直接从软件源安装。
  • 下载安装包手动安装:适用于不在软件源中的应用。
  • 使用第三方工具安装:如 Snap、Flatpak 等。

下面我们将以具体应用为例,详细介绍安装方法。


2. 安装火狐浏览器
  1. 打开终端:
    在这里插入图片描述

  2. 使用 apt 安装火狐浏览器:

    sudo apt install firefox-esr
    
    • 注意sudo 是因为我们当前是普通用户身份,需要提升权限,输入密码时不会显示字符,输完后直接回车即可
    • 说明:原本想安装 Chromium 浏览器,但最新版在 ARM 架构上问题较多,因此改用火狐浏览器。阿里源中只有 firefox-esr(长期支持版)。
  3. 安装完成后,可以在应用菜单中找到火狐浏览器:
    在这里插入图片描述

  4. 长按图标并拖动,即可将其添加到桌面。
    在这里插入图片描述


3. 安装输入法

在 Linux 上折腾输入法总是让我破防,尤其是在 ARM 架构的生态下。经过多次尝试,我找到了一款能用的输入法:华宇拼音输入法(搜狗和讯飞无法使用,Google 输入法的那个候选词是真难找)。

  1. 访问华宇拼音输入法官网,选择“信创版下载”:
    华宇拼音输入法
    在这里插入图片描述

  2. 选择“银河麒麟,ARM”版,下载适用于 ARM 架构的 DEB 包:
    在这里插入图片描述

  3. 会出现点击安装会没反应的情况,看页面上方火狐浏览器会提示禁止弹窗,直接允许弹窗以下载就行。

  4. 下载完成后,在终端中输入以下命令进行安装:

    sudo apt install <直接用鼠标把下载的.deb文件拖进去>
    

在这里插入图片描述

  • 说明apt 会自动补全依赖,因此无需手动安装 fcitx 框架。
  1. 安装完成后,在应用菜单中找到 fcitx 并启动。右下角会显示输入法标志(环境变量已提前配置在启动脚本中,因此无需额外设置):
    在这里插入图片描述
    在这里插入图片描述

  2. 输入法简单配置:

    • 打开输入法设置:
      在这里插入图片描述

    • 将切换输入法快捷键设置为 左 Shift
      在这里插入图片描述

    • 调整字体大小为 35,关闭“竖排候选词列表”:
      在这里插入图片描述

  3. 配置完成后,左Shift切换输入法就能正常使用了!
    在这里插入图片描述


4. 安装 VS Code
  1. 下载 VS Code

    • 访问 VS Code 官网:Visual Studio Code - Code Editing. Redefined

    • 点击“其他平台”(other platforms):
      在这里插入图片描述

    • 选择 .debArm64 版本,点击下载:
      在这里插入图片描述

  2. 安装 VS Code

    • 下载完成后,打开终端,输入以下命令:
      sudo apt install
      
    • 将下载的 .deb 文件拖入终端,回车执行安装:
      在这里插入图片描述
      这里yes/no都行:
      在这里插入图片描述3. 找到 VS Code - 安装完成后,可以在“开发”选项中找到 VS Code:
      在这里插入图片描述
  3. 禁用沙盒以启动 VS Code

    • 现在点击 VS Code 图标,发现无法打开。这是因为 VS Code 默认启用沙盒,防止一些代码对系统造成危害,而我们使用的Proot 不支持沙盒。注意一下:以后若遇到应用无法打开,也可以试试这个解决方法(比如微信,QQ,Chromium)

    • 将 VS Code 图标拖到桌面上,右键点击“编辑启动器”:
      在这里插入图片描述

    • 在“命令”最后添加 --no-sandbox:(注意是后面!!!!并且要与前面的命令要有空格
      在这里插入图片描述

    • 保存后,双击 VS Code 图标就能正常打开了。
      在这里插入图片描述

  4. 配置开发环境

    emmmmm…这个自己摸索吧,教程挺多的。直接去搜Linux环境下怎么配置自己想要的环境就行。


5.安装WPS

在我刚开始折腾 Termux 的时候,WPS 官网上还能找到 ARM 版的安装包。那时还能正常使用。但突然(没错,就是突然的),它就消失了,就像下定了某种决心……

虽然网上还能找到一些用户留下的旧版本,比如这个:
WPS Office ARM64 版本

但安装后,我发现它有时打不开,有时 PDF 功能无法使用,总之用起来不太稳定(技艺不精的我也不会修)。于是,在经历了漫长的搜索后,我找到了一个更牛逼的解决方案:星火应用商店。它不仅能解决 WPS 的问题,还能直接缓解 ARM 生态应用短缺的困境,直接打开了新世界的大门!直接看P6


6.安装星火商店

星火官网:首页 - 星火应用商店

点击“下载最新版本”

在这里插入图片描述

点击下载软件本体

在这里插入图片描述

一定要看一下安装说明:然后点击开始下载

在这里插入图片描述

下载这个arm64的版本。

在这里插入图片描述

老方法,下完后直接安装:

sudo apt install <拖入下载的 DEB 文件>

在这里插入图片描述

装完后这里就能找到

在这里插入图片描述

直接打开的话会发现它的缩放非常小:(不显示字体是正常现象)

在这里插入图片描述

先关掉,然后拖到桌面上,右键,编辑启动器:

在这里插入图片描述

在命令前面(注意是前面!!!)加入这行命令:(后面的数字自己设置,我设置的是150),加完以后要留空格。(以后的缩放问题都可以这样解决!!!

env QT_QPA_PLATFORMTHEME=qt5ct QT_SCALE_FACTOR=1 QT_FONT_DPI=150 

在这里插入图片描述

现在就变大了:
在这里插入图片描述

于是我们迫不及待地点击“办公”,点击WPS图标:

(PS:这里看到搜狗输入法的图标,就别想了,实测用不了)

这里会发现wps是安装不了的(滑稽)

在这里插入图片描述

这个问题我也不知道为什么(实测在VNC里使用时可以正常下载)但是星火商店提供了终端的包管理工具:aptss(用法和apt一样,但是只能安装星火商店内的应用)

在这里可以看到你要安装的包名:
在这里插入图片描述

直接打开终端:

先更新一下:

aptss update

安装WPS:

aptss install wps-office

在这里插入图片描述

成功以后就能在桌面看到WPS了,实测正常使用没有问题。

在这里插入图片描述


7.星火商店补充
1.当我们安装完星火商店以后,切换中文输入法时,可以看到华宇拼音输入法的面板出来的(其实直接在星火商店里安装华宇也可以显示出来[手动滑稽]

在这里插入图片描述

这样就可以进入华宇的设置页面
在这里插入图片描述

这里设置一下字体大小(我还是设置的35)就能正常使用了,主题风格可以自己设置:
在这里插入图片描述
在这里插入图片描述

2.补充:
  • 在星火商店里还能安装更多应用,比如 QQ、微信(别忘了关沙盒)等。
  • 注意:大多数应用可能无法正常使用,建议谨慎安装。

8.其他开发工具

其实,IDEA、Android Studio、CLion 等开发工具都可以在 Termux 上运行。不过,这篇博客是在期末周如火如荼的复习和高压下写出的(没错,只有在期末周才知道折腾起来有多爽),所以实在是写不下去了。这些开发工具的安装方法可以类比前面的教程,或者参考网上的详细步骤。这里就不再详细写了。


十、快捷启动

每次启动都要先进入 Termux,再输入 ./start.sh,像我这么懒的人,肯定不愿意一直这么干。于是,我找到了一个偷懒神器:Termux:Widget


1. 配置快捷启动
  1. 划掉所有后台,重新进入 Termux。
  2. 创建目录:
    mkdir -p ./.shortcuts/tasks
    
  3. 将启动脚本移动到该目录:
    mv ./start.sh ./.shortcuts/tasks
    

2. 添加桌面小部件
  1. 在桌面上添加 Termux:Widget 的小部件:
    在这里插入图片描述

  2. 使用时:

    • 先打开 Termux。
    • 返回桌面,点击小部件的命令。
    • 再打开 X11,等一小会儿就能看到图像了:
      在这里插入图片描述

3. 更多玩法
  • 添加图标:将图片(与脚本同名)放在 ./.shortcuts/icons/目录下,可以在桌面快捷启动容器内的应用。
  • 实测体验:虽然功能强大,但使用时仍需重复上述三步,感觉有点别扭,所以这里就不详细展开了。
  • 更多详细用法可以参考 Termux:Widget 的 GitHub 页面:Termux:Widget GitHub

Termux交流群:637654759
至此,全部结束!!!
(再也不在期末周折腾了,希望我不挂科( ´•̥̥̥ω•̥̥̥` ))

相关文章:

【高级终端Termux】在安卓手机/平板上使用Termux 搭建 Debian 环境并运行 PC 级 Linux 应用教程(含安装WPS,VS Code)

Termux 搭建 Debian 环境并运行 PC 级 Linux 应用教程 一、前言 1. 背景 众所周知&#xff0c;最新搭载澎湃OS和鸿蒙OS的平板都内置了PC级WPS&#xff0c;办公效率直接拉满&#xff08;板子终于从“泡面盖”升级为“生产力”了&#xff09;。但问题来了&#xff1a;如果不是这…...

基于BERT-Prompt的领域句子向量训练方法

基于BERT-Prompt的领域句子向量训练方法 一、核心原理:基于BERT-Prompt的领域句子向量训练方法 论文提出一种结合提示学习(Prompt Learning)和BERT的领域句子向量训练方法,旨在解决装备保障领域文本的语义表示问题。核心原理如下: 以下通过具体例子解释传统词向量方法和…...

高频面试--redis

Reids 1. 常见的数据结构&#xff08;string, list, hash, set, zset&#xff09; 答法模板&#xff1a; Redis 提供五种核心数据结构&#xff1a; String&#xff1a;最基本的类型&#xff0c;支持整数、自增、自减、位操作。 List&#xff1a;双端链表&#xff0c;支持消息…...

CRMEB 单商户Java版 v2.3公测版发布,欢迎体验!

当商城管理后台一成不变时&#xff0c;你是否也有过换换风格的想法&#xff1f; 当商城流量激增时&#xff0c;你是否也希望随时观察服务器负载状况&#xff0c;确保系统稳定运行&#xff1f; CRMEB单商户Java版v2.3公测版发布&#xff0c;更新200管理后台页面、弹窗&#xf…...

(四) 本地YARN集群的部署

一、部署说明 Hadoop YARN分布式资源调度&#xff0c;会启动&#xff1a; ResourceManager进程作为管理节点NodeManager进程作为工作节点ProxyServer、JobHistoryServer这两个辅助节点 二、配置文件 在 $HADOOP_HOME/etc/hadoop 文件夹内&#xff0c;修改&#xff1a; 1.m…...

华为OD机试真题——求最多可以派出多少支队伍(2025A卷:100分)Java/python/JavaScript/C/C++/GO最佳实现

2025 A卷 100分 题型 本专栏内全部题目均提供Java、python、JavaScript、C、C++、GO六种语言的最佳实现方式; 并且每种语言均涵盖详细的问题分析、解题思路、代码实现、代码详解、3个测试用例以及综合分析; 本文收录于专栏:《2025华为OD真题目录+全流程解析+备考攻略+经验分…...

《软件工程》第 12 章 - 软件测试

软件测试是确保软件质量的关键环节&#xff0c;它通过执行程序来发现错误&#xff0c;验证软件是否满足需求。本章将依据目录&#xff0c;结合 Java 代码示例、可视化图表&#xff0c;深入讲解软件测试的概念、过程、方法及实践。 12.1 软件测试的概念 12.1.1 软件测试的任务 …...

消息队列-kafka为例

目录 消息队列应用场景和基础知识MQ常见的应用场景MQ消息队列的两种消息模式如何保证消息队列的高可用&#xff1f;如何保证消息不丢失&#xff1f;如何保证消息不被重复消费&#xff1f;如何保证消息消费的幂等性&#xff1f;重复消费的原因解决方案 如何保证消息被消费的顺序…...

学习STC51单片机20(芯片为STC89C52RCRC)

每日一言 生活不会一帆风顺&#xff0c;但你的勇敢能让风浪变成风景。 串口助手的界面就等于是pc端的页面设置的是pc端的波特率等等参数 程序里面的是单片机的波特率等等参数 串口助手是 PC 端软件 串口助手&#xff08;如 STC-ISP&#xff09;是运行在 PC 上的工具&#x…...

链路追踪神器zipkin安装详细教程教程

今天分享下zipkin的详细安装教程&#xff0c;具体代码demo可以参考我上篇文章&#xff1a;Spring Cloud Sleuth与Zipkin深度整合指南&#xff1a;微服务链路追踪实战-CSDN博客 一、Zipkin是什么&#xff1f; Zipkin是由Twitter开源的一款分布式追踪系统&#xff08;现由OpenZ…...

RabbitMQ备份与恢复技术详解:策略、工具与最佳实践

RabbitMQ作为广泛使用的消息中间件&#xff0c;其高可用性和数据持久化能力使其成为分布式系统的核心组件。然而&#xff0c;硬件故障、人为误操作或灾难性事件仍可能导致数据丢失或服务中断。因此&#xff0c;建立可靠的备份与恢复机制是运维工作的关键环节。本文基于RabbitMQ…...

bug: uniCloud 查询数组字段失败

问题根源&#xff1a;使用了支付宝云 官方说&#xff1a;2024年11月之后创建的新的支付宝云空间&#xff0c;数组字段查询强制必须设置 array 类型的索引 布尔类型的查询&#xff0c;强制必须设置 bool 类型的索引。 方案一&#xff1a;找到云服务空间-》云数据库-》对应的表-…...

Php JIT 使用详解

简介 PHP 8 引入的 JIT&#xff08;Just-In-Time 编译器&#xff09; 是该版本的一个重要性能特性&#xff0c;首次让 PHP 有了运行时即时编译的能力&#xff0c;从解释型语言迈向了“编译执行”的方向。 什么是 JIT&#xff1f; JIT 是 即时编译&#xff08;Just-In-Time c…...

视觉分析开发范例:Puppeteer截图+计算机视觉动态定位

一、选型背景&#xff1a;传统爬虫已无力应对的视觉挑战 在现代互联网环境中&#xff0c;尤其是小红书、抖音、B站等视觉驱动型平台&#xff0c;传统基于 HTML 的爬虫已经难以满足精准数据采集需求&#xff1a; 内容加载由 JS 动态触发&#xff0c;难以直接解析 HTML&#xf…...

Linux 基础开发工具的使用

目录 前言 一&#xff1a;下载工具yum 二&#xff1a;文本编辑器vim 1. 命令模式 2. 插入模式 3. 底行模式 三&#xff1a;gcc和g 基本使用格式 常用选项及作用 编译过程示例 四、Linux 项目自动化构建工具 ——make/Makefile 1. make 与 Makefile 的关系 2. Make…...

ElasticSearch查询指定时间内出现的次数/2秒内出现的次数

查询指定时间内出现的次数 POST process-log/_search {"size": 0,"query": {"bool": {"filter": [{"range": {"requestTime": {"from": 1722470400000,"to": 1722556800000}}}]}},"agg…...

华为云Flexus+DeepSeek征文 | Dify-LLM平台一键部署教程及问题解决指南

作者简介 我是摘星&#xff0c;一名专注于云计算和AI技术的开发者。本次通过华为云MaaS平台体验DeepSeek系列模型&#xff0c;将实际使用经验分享给大家&#xff0c;希望能帮助开发者快速掌握华为云AI服务的核心能力。 目录 1. 前言 2. 准备工作 2.1 注册华为云账号 2.2 确…...

STP协议:如何消除网络环路风暴

生成树协议&#xff08;STP&#xff0c;Spanning Tree Protocol&#xff09;的主要功能&#xff1a; 消除网络环路导致的广播风暴问题&#xff08;环路会引发MAC地址表不稳定&#xff09;防止网络中的主机接收重复数据帧 STP工作原理&#xff1a; 选举根桥&#xff08;Root …...

哈工大计算机系统2025大作业——Hello的程序人生

计算机系统 大作业 题 目 程序人生-Hello’s P2P 专 业 计算学部 学   号 2023113072 班 级 23L0513 学 生 董国帅 指 导 教 师 史先俊 计算机科学与…...

物联网常用协议Modbus、CAN、BACnet介绍

一、Modbus Modbus 作为工业通信领域的基石,是一款被广泛应用的工业通信协议,主要用于实现可编程逻辑控制器(PLC)等工业电子设备之间的连接。1979 年,Modicon 公司(现施耐德电气的一部分)开发了这一协议,旨在简化工厂内设备间的通信流程。经过多年发展,Modbus 衍生出…...

Vue中van-stepper与input值不同步问题及解决方案

一、问题描述 在使用Vant UI的van-stepper步进器组件与原生input输入框绑定同一响应式数据时&#xff0c;出现以下现象&#xff1a; 通过步进器修改值后&#xff0c;页面直接输出{{ count }}和watch监听器均能获取最新值但input输入框显示的数值未同步更新&#xff0c;仍为旧…...

react基础技术栈

react基础技术栈 react项目构建react的事件绑定React组件的响应式数据条件渲染和列表循环表单绑定 Props和组件间传值&#xff0c;插槽react中的样式操作 生命周期ref 和 context函数组件和hook高阶组件React性能问题React-route的三个版本react-router使用步骤react-router提供…...

Three.js搭建小米SU7三维汽车实战(4)场景搭建

场地搭建 javascript // 导入threejs import * as THREE from "three"; // 导入轨道控制器 import { OrbitControls } from "three/addons/controls/OrbitControls.js"; // 1. 创建场景 const scene new THREE.Scene(); // 2. 创建相机 const camera ne…...

redis五种数据结构底层实现

参考文档&#xff1a; redis5种数据结构底层实现...

Excel 统计某个字符串在指定区域出现的次数

【本文概要】 Excel 统计某个字符串在指定区域出现的次数&#xff1a; 1、Excel 统计一个单元格内的某字符串的出现次数 2、Excel 统计某一列所有单元格内的某字符串的出现次数 3、Excel 统计某一区域所有单元格内的某字符串的出现次数 1、Excel 统计一个单元格内的某字符串的出…...

【Kubernetes】ubuntu20.04通过kubeadm + Docker安装k8s

Kubernetes v1.24集群安装配置步骤总结 一、环境准备 &#xff08;一&#xff09;系统要求 运行兼容deb/rpm的Linux操作系统&#xff08;如Ubuntu或CentOS&#xff09;的计算机&#xff0c;1台或多台。每台机器内存2GB以上&#xff0c;内存不足会限制应用运行。控制平面节点…...

前端开源JavaScrip库

以下内容仍在持续完善中&#xff0c;如有遗漏或需要补充之处&#xff0c;欢迎在评论区指出。感谢支持&#xff0c;如果觉得有帮助&#xff0c;欢迎点赞鼓励。感谢支持 JavaScript 框架Vue.jsVue.js - 渐进式 JavaScript 框架 | Vue.jsReactReactAngularHome • AngularjQueryj…...

【Linux我做主】进度条小程序深度解析

Linux下C语言进度条程序深度解析 进度条小程序GitHub地址 前言前置知识回车换行&#xff08;CR/LF&#xff09;的深度解析历史渊源与技术规范在进度条/倒计时中的应用 缓冲区机制的全面剖析缓冲区引入缓冲类型对比进度条开发中的关键控制 进度条实现以小见大——倒计时倒计时最…...

MySQL 使用全局锁会导致的问题?

MySQL 使用全局锁会导致以下核心问题&#xff1a; ‌业务停摆与主从延迟‌ ‌主库备份‌&#xff1a;备份期间所有更新操作被阻塞&#xff0c;业务系统陷入等待状态‌从库备份‌&#xff1a;无法执行主库同步的 binlog&#xff0c;导致主从复制延迟加剧 ‌并发性能急剧下降‌ …...

从Homebrew找到openssl.cnf文件并拷贝到Go项目下使用

安装OpenSSL 在 macOS 上下载和安装 OpenSSL 最常见和推荐的方式是使用 Homebrew&#xff0c;这是一个 macOS 缺失的包管理器。 如果您还没有安装 Homebrew&#xff0c;请先安装它。安装 Homebrew 后&#xff0c;安装 OpenSSL 只需要一条命令。 步骤 1&#xff1a;安装 Home…...